Learn Programming as a Non Developer within Three Months

Young-hwi Cho
8 min readMay 30, 2017
Image by Luca Bravo at Unsplash

I started running a mobile chat app service after quitting my job at a multinational company. But before we get into the details, here’s a little background. I majored in Business at University and my work background was all about business planning in a corporate strategy department. So, I’m sure you can imagine how much difficulty I faced as a web/mobile product manager working with the programmer in my start-up company.

So, I’m sharing my methodology to study programming to help a non developer work with and deliver their thoughts correctly to programmers!

Again, I want to emphasize that this methodology will only work for people who want to simply learn about the programming world and the process of building web/mobile products. These guidelines will not be effective for people who want to become actual programmers.

Step 1. A Taste of Web Programming via Youtube videos (1 week)

The biggest problem with self-studying is that people always give up in the beginning because they feel overwhelmed. Studying web programming is especially difficult for a person with a non programming background. You may often here programmers say, “All you need to do is put this code in and run the batch script.” To programmers this may be simple, but to non-programmers it all looks and sounds like gibberish.

To avoid giving up at the beginning stage, I strongly recommend that you first get a glimpse of the web programming world by watching a free youtube course. DO NOT TRY to install or build anything the course mentions, JUST WATCH the entire course over the space of a week. The purpose of just watching is to see the whole programming process and understand the big picture.

I recommend the free Youtube course by LearnCode.academy. This is a great beginner’s course as it gives an overview of the web programming process, basic programming languages, and structures of web development. Again, DO NOT try anything that the course says, JUST WATCH all the videos. You can even add popcorn and beer to make it more enjoyable.

Watch this free Youtube course before beginning a programming bootcamp.

Step 2. Complete Ruby on Rails Bootcamp Course on Udemy (8 weeks)

Nowadays, there are so many online academies such as Udemy, Udacity, Khan, Coursera, and Lynda.com. I think all these websites provide great programs and they have their own value propositions. Because our goal is to learn programming to work with programmers, not to become programmers, I strongly recommend Udemy.

Udemy is designed for students who want to learn quickly and efficiently.

Udemy is perfect for someone who wants to learn something in a short period of time, while Udacity is for someone who wants in-depth curriculum.

After watching the Youtube course recommended in Step 1, you will see that the programming world consists of two major parts: server-side and client-side (front-end) programming. Also, you will learn what the programming languages are (Ruby, Python, PHP, etc.) and what the framework is (Ruby on Rails, Django, CodeIgniter, etc.). You don’t need to fully understand the concepts. Just knowing how to separate the programming languages and frameworks is enough.

In this article, I will briefly explain the differences between programming languages and frameworks. Programming languages are linguistic syntax and grammar used for computers. Frameworks are a group of classes and libraries designed to run a specific operation system. It’s easier if you understand the difference in the following way.

If you want to speak with Korean people, you need Korean language skills. If you want to communicate with users via web pages, you need web-based languages to deliver your message to them. Also, it would be easier and faster to communicate if you learnt sets of Korean phrases. In the same way, you can make your website more accessible if you use a framework because there are a variety of pre-made sets of syntax and libraries you can use.

You may also need to understand the level of computer languages. There are high-level to low-level languages, but don’t be fooled by the name, high-level is not considered better than low-level. The levels are simply different. If the computer language syntax is more similar with the level of human language, it’s referred to as ‘high-level.’ On the other hand, it’s called ‘low-level’ if the language is used more on a hardware level such as CPU or OS. This is also called as machine code or assembly language.

You don’t need to know anything about low-level language at this moment. You just need to know what language is necessary to run each level of process. When you need to show some web page to users, you need HTML, CSS and JavaScript. When you want to exchange some information between your server and users of your website, you may need to choose Ruby, Python, PHP, Java, or C.

To sum up, you need to study HTML, CSS, and parts of JavaScript, plus at least one of the server-side languages like Ruby, Python and PHP. If you choose Ruby as a base language, you need to learn Ruby on Rails as the language framework, Django for Python, or CodeIgniter for PHP.

As mentioned above, I strongly recommend that beginners choose Ruby on Rails for the following three reasons. First, Rails has strict conventions, so it reduces the possibility of mistakes because it won’t show any result if you make a small spelling or syntax error. Second, Rails has a very strong and convenient third party library called Ruby Gem. Most frameworks have a variety of third party libraries, but Ruby Gem makes it easier for beginners to integrate the code organisation on their own website with less errors. Lastly, you don’t need to fully understand the difficult website deployment process because you can simply use Heroku, a cloud-based server application platform. Heroku is also available with other languages, but usually requires just a few codes to deploy your website, if it is used with Rails.

So, I recommend that you choose a Ruby on Rails bootcamp course on the Udemy website. Choose a course that includes the following:

  1. A course that mentions ‘bootcamp’ in the title — usually ‘bootcamp’ means that this course will include every side from front to server side programming.
  2. A course using ‘Ruby on Rails’ — you must check the course syllabus to see if it will use Ruby on Rails as a main framework.
  3. A course with over 4.5 rating by over 200 students.

I choose ‘The Complete Web Developer Bootcamp’ course when I studied this subject two years ago. You may need to find a more recent course than mine. Usually it takes over 2 months to complete a course like this.

You can check the curriculum of my course to choose your own more updated course.

Step 3. Learn Bootstrap (1 week)

Bootstrap is a framework for HTML and CSS to run web pages. Honestly, it’s difficult for a beginner to create a single web page correctly with raw coding for HTML and CSS. You will struggle even just trying to locate the button at the center of the line. Bootstrap makes it easier to overcome these difficulties. It even makes your code fully mobile-responsive with just few lines of codes.

The course you choose on Udemy may include how to use Bootstrap, but the instructor may quickly look through it, or show only small parts of it, so I recommend studying Bootstrap more deeply while also studying the Udemy course. For extra tips, you can read this Bootstrap official website and implement the ideas to your own website.

Bootstrap makes it easier for beginners to deal with difficult parts of web coding such as box model, floating, or alignment of CSS.

Step 4. Download Fully Coded Bootstrap Website and Alter it to Create Your Own Portfolio Website (3 weeks)

If you followed the first three steps, you may already have some skills and knowledge to help you talk with developers in terms of website programming. But now you may want to go a step further and try to make your own website, programmed and deployed by your own hand. Unfortunately, this is not as simple as you may think.

Remember our purpose of all this programming learning is to experience the wholistic process of front-end programming to become a better web/mobile product manager, not to become a front-end programmer. So, here is a simple shortcut to help you experience this within a month.

  1. Go to the Start Bootstrap website — This is a website where you can download fully-coded bootstrap templates.
  2. Download one of the sources. Please choose a one-page, simple grid style.
  3. Try to learn how you can design a simple set of architectures of html, css, and js files. Look closely at each file’s relationship and which file functions for which side of the website.
  4. Try to change the contents of the website to your own portfolio webpage by editing index.html. You can see which part of the codes inside will change each specific part of the website.
  5. Try to change the css files into your own designs. This will be a little bit tricky, but it’s worth a try.
  6. Try to learn how these websites use font awesome or glyphicons to generate each icon or button on the website.

I made my own portfolio website at that time by combining three bootstrap templates that I downloaded via Start Bootstrap. It took just two weeks to make and deploy via Heroku, and it still functions well.

I made my own portfolio website by using 3 templates from the Start Bootstrap website.

It may take about 3–4 months for you to arrive at this stage, but it’s really worth the time and effort. This will open your eyes to how internet products are made and operated. This will change your way of thinking and the way you design a product because now you will be able to see the underlying tech stacks or functions. Remember again that this methodology is not about becoming a programmer. It’s just a shortcut to help you understand the programming world.

YoungHwi Cho is a co-founder of SteemhuntBlockchain-fueled community for hunting cool new products by tech early-adopters.

Steemhunt.com

--

--