The past few years have seen a steady increase in the world of tech, particularly in the development industry where companies, organizations, individuals, and startups need to ship products faster and iterate quickly. Being a developer in such a time can sometimes feel a bit overwhelming and it is easy to get lost and confused about what you need to do, how you need to do it, and the best way to do it. There are a lot of hard parts and a lot of misconceptions. Here’s a simplified view of the journey.
Melvin is a software developer in Rivers, Nigeria. He specializes in building frontend web applications and shaping a world where solutions to both complex and simple problems are readily available and are optimized to meet the demands and desires of the target audience while being inclusive enough to a diverse range of users.
Starting out as a developer, it was never always clear as to what the first step would be for him and it was never about just for the sake of it, but there was always a clear definitive insight as to why he wanted to be a developer:
“Building Stuff. I've always been fascinated and interested in tech-related stuff since I can remember. I Love video games and I love computers and programming. I decided to learn how to build games from scratch. I believe this was the major thing that pushed me into coding.” - Melvin.
A lot of the time you hear people get a bit confused as to how to get started, but very few people spend the time reviewing why they wanted to get started in the first place. This is an important step and a lot of people fail.
Being able to sustain growth in something requires a huge understanding of why you are doing it in the first place. No one goes to buy a car without first identifying why they need a car, no one builds a house without a purpose and in the same way, no one takes on the journey of a developer without first knowing why they want to do so.
This is a crucial step as it helps shape your decisions and lets you decide what actions are relevant to you. It helps you be more predictive in the steps you should follow and what you should avoid.
It is usually about interest and identifying what interests you and this step defines a lot in terms of how you get started and how much you could learn to do.
The fact that you have identified interest is one thing, but it does not always guarantee that you would get it right or would have a smooth ride.
For Melvin, building games was the initial motivation to get started, but it was never a straight forward journey.
“I started out with unity for game development, but motivation dropped, I actually stopped coding for 2 Months. Before I decided to go into Web Development, I'm looking into ways to build games that work on the browser so I guess that spark is still there.” - Melvin
Trying out one thing that you may have failed to get better at is not a reason to throw in the towel and let it go. Sometimes it is usually an indication that you are looking at it or approaching it from a perspective that does not best suit who you are designed as.
“It got a little bit complex... I think the world of unity was a little too big for me at that moment.
Also, it took a lot longer to build something tangible that you can actually see. It was one of my biggest motivations to push on and do more. I guess I wasn't getting that.” - Melvin
Getting stuck is natural and it should not be a reason to stop.This would become difficult even more if you lack a genuine basic foundation of why you are doing it in the first place. Getting stuck is one way to motivate you to move on and identify other ways that best work for you and that better fit into your design as a person
The journey of every developer is usually one riddled with constant learning, practicing, and a whole lot of discipline. Growing as a developer takes more than just knowing how a technology works. It requires time to practice that technology and genuine discipline to stay consistent enough to get better at it.
Think of it as learning to drive, you do not grow as a driver or get better at driving simply by knowing where the ignition is or being able to distinguish between the throttle and brakes. It takes practice and takes discipline to get good at it. The same goes for growing as a developer. You get better at it by simply doing it. Investing your time and being committed to putting in the effort to improve in the areas that you need to and being better at every step.
Impostor syndrome is a distortion of thinking that tends to make people believe they’re actually incompetent, unintelligent, and lazy. They’re convinced they’re faking their way through their accomplishments, and one day, they’ll be found out.
This a natural feeling you would almost definitely encounter when you start getting to a point in your journey where you feel more responsible for tasks and challenges.
Learn to fight this! According to Melvin, “learn to add yet”. Whenever you feel inadequate or like less, add yet in the end. Doing so puts the emphasis back on your development and growth and allows you to focus on the future and reminds you of where you are headed and the necessary things you still need to do to get there.
Another way is to measure your growth and keep track of how far you have come. Looking back to where you were on Day 1 and where you are on Day 60 is quite important as it helps remind you of just how much you have covered.
“I can't measure, but I certainly know way more than I thought I would.
I know things that now that I didn't know existed.
Looking at it now, there's more to web development and programming for the web.” - Melvin
Part of growing means being able to know when you need to ask questions and when you to reach out to people. Never be afraid to ask questions when you are just starting out. It is okay to look stupid and clueless sometimes, but always think of it as something essential. Think of it as something you need to do to better understand concepts better.
As much as you have the internet to help you out, there are simply just people who are better and more experienced, and learning to reach out and ask questions is vital for your growth as a developer.
“Starting out and being able to grow I had a few motivations. I think one of them was having mentors and people on the same journey with me.” - Melvin
Getting involved in the tech community allows you to develop, grow, and practice your skills in a safe space with similar people like you. It also the easiest way to find experienced individuals who have all the necessary abilities and resources to help you find a footing.
As much as you would love to get ahead an build a lot of stuff, it is important to take things easy and allow yourself time to fully get all the necessary foundational knowledge,
“I made a lot of mistakes and missed important steps in the journey… I skipped ahead of a lot of things and I rushed through the whole system. I learned that the short way is the long way in programming. Due to rushing, I have missed out on some opportunities owing to a lack of knowledge I should already possess.
I will advise anyone thinking of rushing through everything to relax, take it all in ... Learn it and learn it well .” - Melvin
It's not a race, there's no competition ( except for hackathons). Take your time, learn at your own pace. It'll do you a lot more good than rushing through just to catch up with recent technologies. You've heard this a million times but from someone who made a similar mistake, ensure you ground yourself in the fundamentals of any technology you want to learn. If possible dive deeper and learn how it works behind the scene.
DO NOT GIVE UP, YOU'RE DOING AMAZING. LEARN, PRACTICE AND RESEARCH.
Emphasis on research, being a developer is more Problem Solving and Research than writing actual codes.