Ever since I got my first developer job, my friends started reaching out to me asking how they can get started with programming, build projects, apply for jobs...etc. So I shared them the exact path I took to land my first tech job at a startup. Here I am sharing it via my first ever blog post on the internet.
1. Learn Typing
I say this to my friends many times which is "Don't call yourself a programmer or a software developer if you don't know how to type on keyboard"(It is just my opinion). Yes seriously! If you really care about your tech career, dedicate some of your time to learn typing, there are many resources out there, go check them out. Please don't skip this step.
2. Start with HTML & CSS
HTML and CSS are the skeleton and skin for any application you create. HTML stands for Hyper Text Markup Language, it is used to structure the content in your applications. CSS stands for Cascading Style Sheets, it is used to facelift your application by adding some cool colors, backgrounds, transitions, animations...etc
The reason why I suggested picking up HTML, CSS first is that they are very easy to pick up, there are many resources that make learning them easy. One other advantage of learning them first is, they will really help you know your learning method which is very important to know in your career. Here is how...
I am listing few of the best tutorials available for HTML, CSS on the internet. Try learning from them, pick one method and a resource and explore a few topics in it. If you find it difficult to learn, switch to a different method until you figure out what your learning method is.
- CSS - The Complete Guide (incl. Flexbox, Grid & Sass)
- Scrimba (Interactive Video Tutorials)
Note: To practice what you learned, I found a website that is really helpful. FrontEnd Mentor.
3. Learn about Version Control (Git & GitHub)
Read what I wrote about typing? same goes for Git. Every aspiring software developer should learn how to use Git.
As a software developer, oftentimes you write code, save it, edit it and save it again. But, what if something goes wrong? how can you revert back your changes even after few days from the day you made changes? This is where Version Control really helps, It helps you track your changes.
Git is a modern implementation of Version Control, Github is a code hosting platform where you can browse your code and inspect your changes. Github really helps software developers as a portfolio/showcase of your work and let your potential employers know about your coding skills. So, learn enough Git, so that you host your code on Github. Go through the following resource
4. Pick your first programming language
It does not matter what language you pick up because at some point in your career you will have to switch between languages based on the kind of applications you build. So don't get attached to your first language, focus on learning the programming fundamentals well. I found the following resources useful...
Python: Byte Of Python
5. Pick a framework based on your language of choice
Frameworks provide a set of tools that help developers build applications without re-inventing the wheel. I chose Python as my first programming language, so I picked up Django which is a full-stack framework. It is beginner-friendly and It has many things inbuilt such as user authentication, forms, ORM (Object Relation Mapper), admin panel, unit test framework and many more. So, it allows beginners to concentrate on the application and to have fun while doing that.
6. Build an app to test your knowledge
Once you learn to use a framework, it is really important to build some projects to test your knowledge. It can be a simple To-Do app, a note-taking app like Evernote, a simple blog application, clones of your favorite applications like Medium, Twitter, Facebook...etc. Whatever you build, make sure you host your source code on Github and let the world know about your work by sharing it across social networks.
This is the step that many beginners skip including me, I did not concentrate on learning algorithms and improving my problem-solving skills. Yes, some startups do not care about algorithms, but it is very important to learn them if you want to land a job at well known companies like Google, Amazon, Apple, Uber...etc. You will see them in every interview you face, so go grab a copy of Cracking the Coding Interview and prepare for interviews.
Once you have some applications hosted on GitHub, have your resume prepared, update your LinkedIn profile and apply for jobs.
All the best, never stop learning...