Roadmap to a career in Software Development (without a CS degree)

Roadmap to a career in Software Development (without a CS degree)

My cousin and I had a conversation one day and she expressed interest in becoming a software developer. She said she’d been playing around with some code (JavaScript) and could use some assistance moving further. This is what I emailed her, hope it helps you out too.

1. RESEARCH!! RESEARCH!! RESEARCH!! Look for information online about anything and everything. Google “how to be a good programmer”, “Fundamentals of Javascript”, “Choosing a career as a software developer”, “Tutorial videos for algorithms” etc. and any which thing you need information on. I can only provide guidance and as you can see I don’t have that much time on my hands so the onus is on you.

2. Get a firm understanding of the principles of programming: Being a developer can be very exciting and especially during your initial moments of compiling working code. It can fill you with an initial high that will make you want to keep coding and building as you go along, DON’T RUSH IT. Being a serious developer is more about your thought process and understanding than actually writing code. Let’s say it’s a 70–30% ratio. You need to understand the fundamentals of programming, get to learn about …

a. How to think like a programmer: learn more about Pseudocode, writing algorithms, process flows, etc.

b. How the programming language works: learn the fundamentals of the programming language you are using (e.g. Javascript, Angular etc.)

To accomplish these you may need to read books (I usually use eBooks), or articles or watch videos. It pays to practice all you learn by using them in small projects as you learn but please endeavor to learn. I studied Software Engineering in school so I had a fairly good foundation before I started programming but even then I had to go back to study and learn more. I use http://udemy.com/https://www.coursera.org/http://udacity.com and others for courses and videos.

3. Engage in real-world projects: Do something that people can access and criticize, this will only make a you better and more committed developer.

a. While working on real world projects remember everything you learn is a skill someone is willing to pay money for, so document all your real world projects, you may not have the ability to host them all and they may not all be successful projects but they are proof of your skill. I did not realize this till much later in my career which I regret till date. To this end learn to use GitHub http://github.com or Bitbucket http://bitbucket.org as early as possible in your career. These are code collaboration and hosting sites that give you free space to store your code and also helps you collaborate with other developers when needed.

4. Join a community: Research about software developer groups in Abuja or Lagos or wherever you may be at the time (http://meetup.com is a good source for this). Go for meetups, join communities and make real world friends that can promote your career and passion. You cannot quantify the benefits of information and right communication as a developer. For starters, create a Slack account (http://slack.com) and accept my invitation to join a Dev Group. Also research and join relevant forums, subscribe for newsletters, blogs and do all you can to stay in the know of your required community an skillset.

5. Learn good habits:

a. Learn how to read : you have a lot of reading and learning to do in this line of work so learn to love it and get used to it.

b. Learn how to learn: learn how you learn. Understand the mode of learning and steps that best suites you. For me I love videos, practice and then study but you have to find what’s best for you and follow it.

c. Learn how to solve real-world problems

d. Learn how to think like a developer

e. Learn how to write good code

6. Have a clear path: The world of programming is a very diverse, there are so many things you can specialize in that are in demand and profitable you can be a Front End Developer, Back End Developer, Mobile Developer, Game Programmer, Embedded Systems developer, Data Analyst, Ethical Hacker, Machine Learning Programmer, etc. and the list goes on and on ( you can google/research these titles to learn more about them). The path is very wide and it’s easy to get confused, do your research. In our line of work, Google is our friend. Find out more, find an ultimate path you will like to see yourself in the next 5–10 years. That mindset will guide you tremendously and give you direction and ultimately speed, I didn’t realize this early enough in my career. Select, study and practice programming languages, techniques, tools etc. that ultimately lead to that end goal. As you grow you can always earn money on the way. Firstly, create a LinkedIn profile (http://linkedin.com/ ) if you don’t currently have one (very important).

7. Understand and try to maintain a balance between the Nigerian and global market demand: As you get into the Nigerian developer job market, you will realize that some programming skills or specializations may earn more than others. The demand in the Nigerian market may be very different from what you research and the path you want to go globally. For example PHP and Javascript developers are more likely to get entry level positions but your heart may be set on being an Embedded Systems developer or Data Analyst and these positions rarely offer entry level opportunities, but man has to eat J. My dear my advice is to be realistic and begin with skills that can get you paid in the mean time, but keep your direction in mind and try your best to align your current skills or opportunity choices with where you see yourself in the future. You will need wisdom to navigate this step and prayers and asking for advice will go a long way.

8. Keep learning and keep yourself updated with the pulse of programming and tech in general: the tech world is continually evolving and changing, being in tune with the direction of tech will guide your career choices and help you stay competitive in the industry.

9. Give me a call, send an email or ask for help, clarity, tips, advice or direction whenever necessary.

Previous Post Next Post