My experience on becoming a developer: What I wish I knew
By: Mihai Stanciu
Tags: Beginner, First Post

I wrote this article to tell the story of how I learned to code and to share the experience I gained from it.

I started learning about software development when i was in the 7th grade. After 5 years I can tell you that programming doesn’t only tach you how to make new things it also teaches you how to think.

Getting started

In the beginning, I had no idea where to start from. I heard, in school, that it was best to start with C++ and learn the basics, algorithms and data structures.

Back then, I didn’t agree with that, but now I recommend it entirely. As for the programming language, it only matters if you know the reason why you want to start coding(web development, competitive programming, machine learning, data science, game development, etc.), otherwise just pick one and get started.

Find something you enjoy doing

In my case, I had no idea why I wanted to start, I just found it interesting. So I started with C++ with some tutorials and lessons about algorithms and data structures. As I originally thought I got bored of this really fast. I then started learning python which I managed to learn fast, because of my previous knowledge in C++(it made it a lot easier to understand the concepts). I continued with web development(Django) which got me into HTML, CSS and JavaScript. I fell in love with full-stack development and started watching tutorials about it.

Do projects, leave “tutorial hell”

Now I had another problem: I was stuck in what is known as “tutorial hell”. At the time, everything felt alright even thou all I did was learn what others where doing and making it too.

And that is fine, but don’t get stuck on this. When you know the basics start working on projects alone or with friends. This is the hardest and most important step in becoming a great developer.

What I wish I did earlier

Looking back, I should have entered programming contest as soon as I could. That is the best way to gain real-world experience and start meeting people interested in the same things you are interested in. This helps you get into the community. In the industry, working in teams is the only way to finish projects. Good teamwork is a must have skill to get hired in any company related to software development, and this aptitude will make your life easier.

Another way to meet people, learn from them, help them with their projects and get help on your projects is GitHub.

In case you know what that is you can skip this next paragraph. GitHub is the best platform to contribute to Open Source(public projects that anyone can contribute to). This amazing platform could be called the software developer’s social media platform.

Contribute to Open Source projects as much as you can. GitHub has a very rewarding accomplishment visualization system — the green squares. The darker the more work done that day(the better). Even presenting a bug you discovered in the code or adding some documentation works. As long as you learn something keep doing it. This will help you meet new people. If you get the opportunity, join developer communities. They will help you a lot with improving your knowledge and solving any problems you might have in the process of learning.

GitHub Green Squares

IDE Recommendations

In order to make the development process, IDEs are essential. Here are my recommendations for IDEs:

Resources

These are some resources I used to get started.

Final notes

In conclusion, all you need to do to speed up the process of becoming a software developer is learn the basics then get started with real-world experiences(contests, Open Source) and keep solving problems, fixing bugs and meeting interesting developers.