How to become a programmer from scratch – this question is asked by many people today. If you’re here reading this, you’ve taken a step towards that goal – THAT’S GREAT! Because in such a wide field of knowledge as computer science, knowledge is available for everyone everywhere – just to search on the internet. And you have to reach for it yourself. And really, all you need to move forward is interest in the subject and its exploration. Which is exactly what brought you to read this post. First step done, congratulations ๐
Before you start reading this text, it’s worth checking how a programmer’s work looks like on a daily basis in article here.
Table of Contents
How to become a developer step by step
I have described below in detail how in the easiest way you can become the professional programmer – so this is my subjective opinion with suggestions based only on my own and my friends experience.
Take care of the effectiveness of learning programming
You have to make sure that you do it as efficiently as possible. On the internet are plenty of things which can disturb you. So it’s best in my opinion to install the “family filter” and just like a small child, block yourself the opportunity to use Facebook or YouTube for the time of learning. There may be different learning materials on YouTube – then you have to remember not to jump to a video on a different topic after finishing the original video with tutorial.
Time to learn programming
It will take quite a bit of time. This is also one of the biggest difficulties. It will be mine subjective opinion, it will be different for everyone – in my opinion you need to allocate for learning coding – absolutely minimally 2 study sessions a week., each minimum 2 – 2.5 hours long. So at least 5-6 hours a week. I would suggest, for better results, to have 3 learning sessions weekly, each 2-3 hours long. So in total 8-10 hours a week. In the minimum option – about 5 hours a week – to become a Junior Developer it would take about 1 year.
Of course, this is only a very general suggestion, but it is inferred by me based on observation of a few people in my current workplace who became programmers from scratch. Of course, everyone starts with another level (which I described below in the paragraph “Qualities of a good programmer“), so what someone took year, you may only take a few months!
But remember – time and regularity are absolutely key here. Even if you go to the course of programming, so-called “bootcamp”, you must learn a lot by yourself. Coach can help and make it easier, but you have to learn on your own.
Choosing a technology to learn programming
Okay, so now we’re getting down to business. To start programming, you must first know what language and (more broadly) technology you want to learn. And there are a lot of them, I will mention the most popular in terms of the number of job offers – listed in subjective order according to the ease of learning (based on my own opinion):
- webmastering – or in wider sense – creating a webistes – (HTML, CSS and JavaScript)
- web development – a broad term, generally identified with the creation of web applications (colloquially speaking – advanced, interactive websites) – applicable technologies: HTML, CSS, JavaScript + some back-end language – see below
- Front-end – creating a visual layer of applications or websites – that is, what is visible and where you click on various buttons, tabs, pictures, something appears, loads, something disappears, etc. (JavaScript + frameworks like React, Angular or Vue)
- Back-end – creating the business logic layer of the application – that is everything that is happening in the background. For example, downloading data from a database, its processing and display. Popular languages programming are e.g. PHP, C #, Python, Java, C ++, Go Lang or JavaScript.
- Database programming – various, usually advanced database queries used to send this data to the back-end, so that the latter, as above, processes this data and sends it to front-end. Language: SQL with its varieties.
- Programming in closed ecosystems of CRM platforms – e.g. SAP, SalesForce – large CRM platforms (e.g. sales management) have its own programming languages and technologies. For example, SAP has ABAP and SalesForce has Apex.
- AI programming and machine learning (ML – machine learning) – quite advanced topic. Here analyst is creating algorithms that operate on large datasets for learning itself and make (this algorithms) better and better in the future based on more and more data gathered (e.g. creating weather forecasting models). Mostly Phyton is in use here, but this is only a part of work of the analyst.
In my opinion, but this is only my subjective opinion, it is the easiest to start with the first one point above – webmastering. That is, simply creating websites. On the Internet there is a lot of free tutorials available on this topic. So you can start learning programming right now. Just type “how to create a simple html page” and start learning from the first tutorial you find there.
Another advantage of choosing webmastering is that it is easiest to start earning in this field – although probably, at the beginning, not much money. When we are able to build simple (but nice looking) websites, it is enough to ask friends, especially those who have their own small businesses, if they need a website. Next, based on more and more recommendations, after a few months of learning, you will be able to earn some money in IT and build a portfolio of projects – which will be a huge asset when looking for a full-time job as a junior programmer.
Development environment
Once we know the programming language we want to learn, we need something to write code on. So you will need a computer for sure. It doesn’t even have to be very fast on the beginning, but it’s a good idea to have a computer with SSD hard drive. You will also need the internet of course. Then you need to have a development environment – in short – an application to write code and possibly compile it (if the language requires it, e.g. in C++). If you want to deal with the webmastering as I suggested above, just download it to your computer free application:
- Notepad++ – an advanced notepad
- Visual Studio Code (vscode) – an intermediate code editor (or environment just programming).
For other technologies will be needed more advanced development environments, such Microsoft Visual Studio (not to be confused with the free Visual Studio Code) for C#. For SAP or SalesForce you will need to have a development environment directly from this companies with correct license (SalesForce has demo/trial accounts available). And in machine learning (ML) or artificial intelligence (AI) is needed the environment consisting of more tools – for data processing, their presentation visual, calculations, statistical inference, etc.
Programming learning – the basics
Personally, I suggest finding some online courses. The more common the technology the more courses there will be on the internet, including free ones. As I said, the knowledge. There are many free courses for webmastering, front-end, JavaScript or Python. Just type in search:
- free html and css tutorial
- web site creating tutorial
- JavaScript for beginners
- Python for beginners
- free SQL tutorial
For other technologies, I suggest searching for more broad topics, e.g.:
- How to start learning Java
- How to start coding in C#
- Free NodeJS tutorial
- Artificial Intelligence tutorial
You may also want to consider buying a book to learn the programming technology which you will choose. This it will allow you, for example, to learn when you have free time and do not have access to a computer. E.g. during holidays or commuting to work. There are also podcasts about programming (e.g. in the Spotify or Apple Music). We can listen to it even while driving a car.
It is worth remembering that if you want to become a programmer, it is worth absorbing knowledge from all over IT scope. Even reading a book, newspaper or listening to a podcast will be important for learning IT topics in general, not only about the technology we are interested in.
Programming learning – how to practice?
When you go through the first few tutorials or some major programming course, you will see that everyone one of them looks more or less the same and, what’s worse, it becomes boring and demotivating. Then the question arises: what is the next step in software development learning?
The answer is simple – your own project. And now depending on the technology it you chosen depends on how easy it will be here:
- If you have chosen any web technology, e.g. learning how to create pages web, front-end, JavaScript, it’s quite easy to learn programming further. You can invent any project. E.g. your own website or blog about your hobbies, e.g. fashion or games.
You come up with a website name, buy a domain and create your website. In the whole learning process, you will learn how upload it to the Internet (html, css, JavaScript files and so-called assets, e.g. images) to an FTP server.
The downside of this approach is that we will not have support from someone else more experienced. It’s easier to repeat mistakes this way over a longer period of time.
- If you have chosen to learn less open technologies such as Java, C#, C++, etc., it is harder to find your own project. i.e. you can also come up with something, but it will rather be an offline application, and if online then hosting server costs can be quite high. Then my suggestion will be to get involved in open-source projects. Just type “Java open source projects” in the search engine.
Typically, such a project is in a public repository, e.g. on GitHub. You set up an account there you join (fork) the project. There is a whole community for project, there is a forum discussion, there are bugs that need to be solved.
For the previously discussed web technologies, you can continue learning in the same way. However, the entry threshold is higher, which is a downside. But the big plus is the work you do is checked by other, usually experienced, programmers. In other words, you get right away top skills.
Who can become a programmer from scratch?
As I wrote in another post about how software developer work, it is highly sedentary job. Certainly, therefore, the work of a programmer will not appeal to someone who cannot sit at the computer for more than 30 minutes or 1 hour. Or likes to do work on the move, and not at the desk.
In my work, I met many people who became a software developers from scratch but erlier they performed such distant professions as, for example, the work of a firefighter. But I also know examples of people who retrained, even found their first or second job as a programmer, but working with them was very difficult and their level of knowledge was poor and sooner or later they left the IT industry.
Key skills to become a software developer from scratch
The profession of a programmer is not exactly like any other profession. This profession is for people who generally like working with a computers, who know the broad context of the computer science. Because being a programmer is not only solving narrow tasks – just writing some specific functionality, in the certain framework and in the certain technology. There are a number of others competences in the broadly understood “information technology”.
Okay… but then who’s best suited to transitioning into a programmer?
Qualities of a good programmer
I would divide people who want to become programmers into a several groups:
- People who are very proficient on the computer, often from childhood, working with computers on a daily basis, in specialized programs (e.g. engineering, accounting, ERP, CRM, etc.) – even in the past, such people may have even programmed something, e.g. simple websites – it will be easiest for such people to become a programmer from scratch.
- People moderately proficient on the computer, able to operate the basics reasonably well on the computer and on the Internet (e.g. you can download photos from your phone and transfer them on google photos or drop box to send them to your friends). Here the basic question is whether you like working with a computer. If so, there are no major obstacles to trying to become a programmer from scratch, although it will probably take around 1 year or a little longer to work independently in the afternoons and on weekends.
- People who are not very proficient on the computer, who find it difficult to, for example, navigate the Internet – it’s worth here to look at it realistically – probably becoming a programmer can be difficult and very time-consuming and not necessarily successful, but… in the IT industry there are many other professions in which you can find your place – read this text to the end to find out ๐
So if you like working on the computer, the way to become a programmer from scratch is open to you. And if you are not computer literate thenโฆ NOTHING LOST! Programming is not the only profession in the IT world that is well paid. With good soft skills, you can successfully become someone else in the IT industry, like Project Manager, Designer, Copyrighter, Analyst etc.
How to become a programmer without experience
f I wanted to become a car mechanic, I would probably buy an older, cheap and dilapidated car, and then, along with advice from YouTube and other websites on the Internet, I would first learn the basics of car mechanics, gradually moving on to more difficult issues. But here’s some good news for you! When learning programming, you only need a computer (which doesn’t have to have exuberant parameters), willingness, a lot, really a lot of willingness and self-discipline, and … that’s IT. And what’s more – if you learn the mechanics of cars, doing something wrong – e.g. incorrectly installing brakes, you put yourself and others at risk. And programming is easier because if we write bad code with errors while learning, in most cases … nothing serious will happen.
And it really is the most beautiful. My reflection is the statement that in fact the door to such a good profession and good job has never been as open as it is now to become a programmer. Nothing more is needed here than self-discipline and acquiring the knowledge. Besides, there are no restrictions, licenses (like for e.g. lawyers), studies (like for example for architects, although whether you need to study or not is a separate topic), etc. Do you want to become a professional programmer? It depends only on you and your willingness!