Becoming a Self-Taught Software Developer
#Productivity #Software Developer #Journey

Becoming a self-taught software developer is not that hard but if you do it wrong it will be hard.
In this article we will discuss on the do's and dont's in becoming a self-taught sofware developer.

1. What do you want to do
First, you need to know what you want to do in the long run, why do you want to become a software developer? What do you want to achieve?
There are a lot of stuffs you can choose from

    - Web development (frontend, backend or fullstack)

    - Data Science 

    - Machine Learning and AI

    - Desktop Applications 

    - Mobile Applications

Those are just a few but there are others you can choose from, but you need to choose wisely and choose something you know you can be good at for instance if you are good in maths you can jump into data science or machine learning.
You might also consider if you want to work for a company, be self employed or get into freelancing.

2. Choose a Programming Language 
Now after knowing what you want to do, choose a programming language depending on what you want to do.
This part is very crucial and most guys make a mistake here...

You can't be a jerk of all trades

Start small, start with one language, don't rush in knowing two or three languages at a go. For example if you want to do data science, machine learning, AI, you'll most probably go for python. If you want to get into web development start with HTML and CSS though primarily they are programming languages but they are the foundation of getting into web development, then jump into other advanced languages like javascript, PHP, python etc. If you want to get into mobile applications then you might consider java, kotlin or swift.
So choose a programming language wisely

Don't do any frameworks before knowing the basics of that programming language, you will overburden yourself, first know the syntax of one programming language then you can now jump into their frameworks

You also need to to find a text-editor or IDE you are comfortable with, they are a lot you can choose from.

3. Find Resources
Now that you have a programming language to start with, it's time to look for resources to help you learn.
They are alot of resources you can learn from starting from books, websites, videos,  bootcamps, online challenges etc. Choose any that you feel most comfortable with, personally I learn mostly from videos and articles, books at times can be outdated but articles someone will be writing  new articles if something is updated, same to videos.
So basically just choose any that you feel comfortable with. 

Choosing a community is very essential too, many developers grow from sharing with other developers. So find a community or a group you can share ideas with.
Going for meetups helps a lot because through meetups, you will meet with experienced developers who will share what they know.
There is a lot of online communities you can also find some and join. 

4. Do Solo Projects
This is the place where you now test yourself. After going through tons of resources online, after sharing your problems and sharing ideas with other developers, it's now time to get hands on and try doing a project on your own. You don't have to do a project from scratch, you can clone a project from github and try to modify it and have it appear the way you want, then gradually start doing projects from scratch.
Don't be afraid to get bugs, they are always there because most people give up when in this stage, so just don't give up.

5. Have your Portfolio 
Your portfolio needs to be active and up to date. Any projects you do make sure you feature it in your portfolio. 
Have proofs that you can do something and show the proof in your portfolio that you can do it and you already did it or did something related to it and it's in your portfolio. 
You don't need to have like an advanced portfolio page, just a having a simple one and easy to navigate page is enough to get you going.

6. Let Your Online Presence be Felt
Considering the fact that you are self-taught and don't have a degree to showcase at interviews, you need to be active online, do articles, do tutorial videos, get that professional twitter account and fill it code related stuffs. This is the only way you will get noticed by interviewers or managers looking for software developers 

9. Prepare and Apply for a job
Here now your hard work needs to pay. Do preparations, watch tutorials on how to prepare for an interview, polish your skills and apply for jobs.
Apply as many as you can as long it is within your field, never mind about if they require someone with a degree, you just apply and hope for the best.

That's all I had for you guys, hope it helped...
Don't forget to hit that upvote button if it helped... See you soon