When starting out as a Software Developer, either as a student or as someone trying to transition from another field, it could get overwhelming real quick and sometimes you start to wonder if the stress is worth it. In my opinion, it is and if done, can yield beautiful results in terms of being financially stable, having a good career and having work-life balance (if you work remotely).
Do you still need convincing? See this tweet below from Prosper Otemuyiwa.
Writing code actually changes your life.
Tomorrow, you can fly to anywhere in the world & pay for two more folks to join you & your bank account won’t shake.
Code does that. 🔥🚀
— Prosper Otemuyiwa (@unicodeveloper) November 16, 2019
If you’re still reading at this point, my guess is that you want to know how to go from Newbie to Experienced Software Developer. In this article, I’d explain what to do to help you get there in four phases.
These phases could take up to 9 months or even two years. It requires patience, consistency, and tenacity. You will need to work hard and work smart to get there but always remember that people before you have done it so you should feel empowered to do it too.
“First few months. The stage of the crawler. A crawler is an absolute newbie that has just made the decision to be a developer.”
This is stage one after making that decision to start your Tech career. At this point, you’ve probably interacted with someone or another entity (could be a movie, a game or even some fancy tech) that made you decide you want to do this. However, there’s still a lot of confusion because you might not have a mentor or enough data to help you make informed decisions about this whole software development thing.
Don’t work yourself up. All you need to do is keep that fire that motivated you to do this in the first place.
As a crawler, the first thing you need to do is Research. Read about people in Tech you would want to call your role models, read about different fields that exist, watch videos, ask questions. Basically, try to understand the industry you want to come into.
Once you’ve been able to do some research, you might have found some disciplines that you may want to explore. You may want to do things on the Web, Mobile, IoT devices, Cloud, or you may want to be that low-level native developer writing C++. Whatever it is, make sure you choose a path that is comfortable for you, has a large community (for support) and sort of aligns with who you are.
Once you’ve finally chosen your path, the next thing a crawler does is prepare a plan before they start walking. This plan could vary depending on the individual and what you would define as success, but for the sake of the article I would list a few that I hope people can relate to:
Becoming a Software Developer – Plan / Roadmap
- Sign up to communities around me before March
- Take udemy courses on web development by August
- Build 3 web projects before the year ends
- Revamp my CV by December
- Apply for an internship for next year
As you can see, each task is time-boxed. This helps us plan well and measure how we are doing with the goals we set.
Once you’ve done your research and laid out your plans, you can start walking.
“The stage of the walker. A walker is ready to start learning a particular technology.”
Now, you’re ready to take your first step. In my opinion, every walker’s first step should be learning the fundamentals. Learn how computers work and the fundamentals of programming. After doing that, you can start learning the technology you chose in your crawling phase. It’s also important to start looking at your roadmap and checking off the list of goals you set then. Remember, the internet should be your very good friend. Apart from courses, there are tons of resources (e.g. articles, videos, books, podcasts) that you can learn from.
This phase is when Impostor syndrome really kicks in. My advice to you is that it’s okay to feel like you can’t code. The truth is these things take time. Just make sure you’re learning something new in the field every day and you’re never afraid to ask for help.
This is also the stage where apart from learning:
- You make those connections that could add value to your career (friends or mentors).
- You join an active community
- You work on side projects while learning
- You try to build your soft skills
- You start to document your journey somehow
Initially, when you start walking, you should start slow (start by learning). When you notice your pace is becoming faster (you’ve built the skill and you have a few projects to show), then get ready to run.
“After 6 months to a year. The stage of the star athlete. A runner/athlete is ready to kick off their career with valid work experience.”
At this stage, you’ve started building the skill (even if the learning never ends), you’ve worked on a few portfolio projects, you belong to a community and you’ve grown as a person.
Like a runner in a marathon, you’re starting slowly once again. You need to get a job that would give you the experience you need and pay you for the value you add. Don’t rush. It could be an internship and the good thing is that you’d learn more during the internship especially about working in teams.
While you have your day job as well:
- You should look into open source contributions. It gives you insight about working on large codebases with a lot of other people and there’s a lot to learn from it.
- You could also start writing as you learn in your job. Even if you don’t want to host your own blog, there are tons of websites you can create your blog on and start writing.
- Share what you learn on other platforms e.g. social media, conferences, meetups, podcasts and any other way you can.
- Read more and be open to learning more things that matter
At this point, you now add value to a company either as an intern or a full-time employee. If your internship is coming to an end, you should start thinking about applying to full-time roles in the organization you’re at or other ones depending. At this point, it’s the final lap of the marathon and you should be sprinting.
When applying for jobs, you would have a lot to say about what you can offer to a company because of the things you have done to help give you a good track record. Sometimes it might take A LOT of job applications before you finally get one. Don’t feel bad because it’s life. It happens to everyone. And while you wait, keep learning, writing and sharing knowledge. You’re dusting your wings to fly.
“The stage of the super-hero. A super-hero now has a full-time coding job.”
All things being equal, you have a full-time job. After a few years, your goals would have shifted from trying to get into tech to maintaining a successful career. The most important thing here is to keep seeking growth while also adding value to your organization or team.
At this point depending on what discipline you chose, you should still make connections with people ahead of you in the industry (whose values align with yours). They could serve as your career mentors/advisors because now is the time to make some important decisions in your career and you will need direction.
Some of these decisions could include:
- Wanting to leave paid employment to create a business that adds value
- Staying in paid employment and staying on the Individual Contributor(IC) career path
- Staying in paid employment and tilting towards management
At this time, you’re fully in tech (hopefully) doing what you love. But it never stops there. You’d want to see career growth, your job title change over the years and a big fat cheque to match that new title. These things come with the value you add (to your organization, team + other people around you) and the recognition you get for it.
At the end of the day, it’s in your hands. You have the power to build a successful career in this field. There are also platforms that exist to help people who want to start a career in tech. You just have to always be willing to learn. If you want to know about some of these platforms, I will write about the ones I know soon and link them back here so stay tuned :).
Feel free to reach out to me on twitter if you have any struggles or wins you’d like to share when moving into tech. I would read/help when I can. Cheers!