How to get started as a developer
Since the beginning of the 21st century and the rise of the Internet, the work landscape has totally changed. Back in the 1900’s, getting a college degree and a job was the way to go. Now, freelancers and startups, by a group of teenagers, are at the top of the world. Back then, home and work were two completely different entities. Now, ‘ work from home ’ does not sound like news. These changes have completely taken the world by storm. And as the keen-eyed have already noticed, all this is mostly happening in the software sector.
Developers are the backbone of this ‘digital economy’. It comes as no surprise that 5 of the world’s 10 richest people started out as a programmer. Even the ones who didn’t code relied heavily on software (such as Mike Bloomberg and Jim Simons). Now, to be fair, they had business acumen too, but that too is a result of having knowledge of consumer behavior, and that software takes no real inventory and infinite copies of such software can be sold without much effort.
Developers are also the 2nd highest paid professionals (after doctors of various sorts). And though this data might be disputed by a few, the perks of programming ( including the ones I mentioned before ), are considered to be worthy of the work in itself.
Reasons aside, becoming a developer is actually easier than you may think ( by at least a million times ). As opposed to what is commonly thought, you don’t need to be a math wizard, neither do you need to be coding for a crazy amount of hours to get good at it.
The first thing you need to understand is that you will fathom nothing at first, confusion will prevail for a long time.
All you need is the determination and will to get through this part of the learning curve.
Believe it or not, this is where most developers quit. ( even before they can be called developers ).
This statement, if understood on an emotional level, has serious implications, it could be the difference between you and the potential you who never became a developer.
Most of the people I’ve seen flee from programming when they have just started. There’s hardly anyone I know who left development after learning a considerable amount of stuff.
Now the learning curve surely is different for different disciplines in this field ( web development is arguably easier to start with than other disciplines ). And for the most part, skills learned in one field are easily transferable to another field ( most programming languages and paradigms don’t differ much ). Thus, most people will surely recommend starting with an easier discipline, and for good measure, as it guarantees a much higher 'stickability' factor, that is , you’re more likely to follow it through successfully than if you started out with something more complex and with a steeper learning curve ( which is a mistake most people, including me, make, and which should be avoided at all costs, as at stake is your future as a developer, or if that even ever becomes your future at all ).
Getting Started
As you dive into the world of software development, you’ll be received with an unwelcoming lot of jargon thrown right at you — software development, computer science, DevOps, object-oriented programming, functional programming, reactive programming, CLI, and you would be bombarded with a volley of technologies with names that seemingly make no sense and do not show any continuity, such as, React, Vue, Angular, Swift, Kotlin, Python, C, C++, Java, JavaScript, nginx, Docker, Webpack, Unity, Unreal, GCP, AWS, Heroku, Git and GitHub, Flutter, Xamarin, .NET , Visual Studio, Xcode etc, and you’d be barraged with a gazillion opinions about all these technologies being shoved down your throat all the time, which do not help but only create more confusion.
It is certainly easy to get lost and spend hours just navigating the dev landscape, only to find yourself an hour later watching the last episode of Game of Thrones for the quadrillionth time.
Always remember the most common mistake every wannabe developer makes — jumping around and dabbling in a thousand things, but committing to none.
This is a mistake you have to avoid at all costs ( and is the very reason I recommend you should start out with something simple, such as focusing on a programming language or using very simple frameworks, and only then move on to advanced frameworks and workloads).
First Step
The first step, in my opinion, is to choose a programming language.
Before making any choices in the context of frameworks and workloads, you should choose a programming language. Now some may say that learning a framework and language simultaneously is the way to go, but, in my opinion, you should be learning to program and write simple programs and scripts first, before adhering to specific technologies and paradigms. This will have the benefit of teaching you the basics of programming and the flow of operation ( which, frankly, is something which will probably not come to you immediately ). It is surely a better idea to have a sound understanding of programming before getting into real development.
You should make sure that along with choosing a programming language, you should exhibit the persistence to follow the advice of your decision. In the beginning, you should be learning new things based on which programming language you are using. Try to make the decision of choosing a language based on what you’d enjoy making, and if that language is one which is used for such purposes. C was not meant for UI development. Do not try to make it so (at least in the beginning).
One last advice : Choose a language that is mainstream. Choosing a language which no one uses, is too esoteric or is infamous and then not being able to find enough tutorials and articles on it is no fun.
Now that you’ve chosen a language, it’s time to watch some tutorials on it.
I’d recommend you this YouTube channel as they have a myriad of tutorials on thousands of technologies ( which will most probably include your language of preference ).
An ad-hoc YouTube video or two would certainly help you in getting started, but my recommendation is that they should be followed with a good book (reviews of which are easily available). Pick up some simple literature written for beginners and get going.
This is going to be enough for you to survive the first few waves of the learning curve.
What’s next
Truth be told, this is how easy it is to get started as a developer. Your first programming language is all you need. Nevertheless, there are a few follow-up steps you should be taking.
- After learning your first programming language, you should get started with a framework of your choice, which will enable you to make real life applications and allow you to pump out real production code for yourself, to display your work and if you’re ready for it, to get a job.
- As you begin making basic software using your newfound knowledge, start learning to use accessory tools ( for example, Git and GitHub, maybe even CI/CD). You will be able to upgrade your workflow and integrate your practices with industry-standard development methodologies, making your work easier and reducing sleepless nights and headaches.
- Get comfortable with and learn the buzzwords used in the community, which will help you in establishing better communication with others and developing your understanding of the industry.
- As you approach a certain level of proficiency, start working on some open source projects. This will increase your credibility as a developer and make you familiar with the methodologies used by the industry. You’ll be able to see code written by others and actively contribute to huge projects, which will give you much needed experience.
Conclusion
As you slowly get on your feet and up to speed with programming, you will start understanding it better. You would be able to make independent decisions concerning your development environment and toolset. And above all, you’d be able to create complex applications ( of course, this one comes with experience).
In essence, the most difficult part to go through in this journey is the beginning. If approached in the wrong way, it will most probably leave you horrified of the very idea of writing code. If done right, it will open the gates to the vast world of programming for you.
There is no exact duration that I can state, but if you’d not take no for an answer, it will take you about a full year to get up to speed with your first language and framework, with an appreciable amount of experience. And, even then you’d not be a ‘ master ’ of programming, and you should understand that you’re just starting and have barely scratched the surface of this art.