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.