Listen here anchor.fm/trant/episodes/12--7-Lessons-Ive-..
In January 2020, I started my internship as a technical developer at voip55. It's now January 2023 and this means that it's been 3 years since I started my career in tech. Yay ๐ฅณ I've been told that this junior / mid-level phase is the peak phase of my career. As I set long-term and short-term career goals, I could not help but reflect on the past years - wins and lessons. I realized that some of the lessons are not one-off entry-level lessons, but they are going to be helpful to me still and I have decided to share them with you.
This list is my personal approach to getting better as a junior/entry-level developer:
1. Build projects
The [course](https://www.udemy.com/course/the-complete-web-development-bootcamp/) that introduced me to web development was very hands-on with project building, we were encouraged to build projects from the very first module. Although small-scale and basic, the projects I built helped me get my internship in January after I'd been practising web development for the entirety of December. I would later join many other internships, hackathons and coding projects where having some sort of portfolio was a prerequisite to getting in.
Again, these projects I built were simple and generic but they signalled that I knew about code and could spit something with it, which was fine for internships.
However, as I looked into getting more full-time roles, I realized that the project I had did not impress my interviewers, in fact, I had one of my interviewers tell me in one of such interviews that while I probably had the skill they wanted, my projects did not reflect that.
I did not get the role.
Lesson: 1 impressive project will get you farther than 1001 weather apps. As soon as you can and if you must, build projects that are impressive.
If you do not know where to get started, start here ๐๐ผ
2. Document your journey
Earlier in my career, I documented my javascript learning journey on [dev.to](https://dev.to/blossom) and [medium](https://medium.com/@blossybab70/demystifying-oop-in-javascript-2b3396c0457a), primarily because I thought I would switch to technical writing if I did not make it as a software developer (๐ ). In hindsight, I can see that while I never switched to technical writing, documenting my journey has done the following:
kept me accountable: At first, I wrote for myself. Later on, other people started to catch up and expect me to show up with what I had recently learnt.
a personal yardstick to measure my growth: I would write topics I had recently learned and I did not always have in-depth/intimate knowledge of these topics, Revisiting them at a later time with better understanding always felt good. Like yeah, once I did not fully understand async-await, look at me now. I learnt that I can learn anything ๐
built a network of like-minded developers around my goal: As earlier stated, when you consistently document your journey, eventually you find like-minded individuals who are on a similar learning journey too and who get inspired by your updates.
When I first started learning data structures and algorithms, I made posts about it on LinkedIn with the hashtags - #dailyDSAUpdate. Documenting kept me accountable, made my growth measurable and connected me with like-minded developers.
Lesson: Document your journey. Your career as a software developer (or any tech professional) is a journey because, unlike most traditional roles, you do not acquire some level of experience and become THE expert. Tech is a never-ending learning journey. Document yours.
3. Explore
I started as a technical developer intern which I guess was a term sometimes used interchangeably in the UK for a software developer because my work was backend web development scoped. I worked on the internal tools using python and Django and a little of HTML, CSS and javascript on the front end.
After my internship, I pursued frontend more, explored UI/UX, and dabbled into backend again before finally settling on more frontend roles - well I got more frontend offers in truth.
The point is, you are a software developer, not a Vue developer.
I find it helpful to have a little bit of an idea of how other related technologies and adjacent teams work, it definitely helps during project handoffs.
Even now as I continue to benefit from documentation and tutorials by other developers for developers, I have started to explore developer relations. Tech is a field and it is one of those few fields where you can actually explore.
Lesson: Be a master of one but unafraid to explore other areas of tech. You can start simple - if you are a react developer, explore angular. A product designer, play around with css and gsap. You open up a world of opportunity when you know a little of everything armed with the adaptability to learn quickly.
4. Enroll in coding programs
Starting out, enrolling in coding programs included - short paced bootcamps, program scholarships, hackathons, unpaid internships and other entry-level programs.
As a Nigerian techie, HNG, Google Andela scholarship, hacktoberfest and enyata should be familiar to you.
There are lots of hackathons that encourage beginners to sign up with little to no experience. Some unpaid internships have a lax barrier to entry, it's free work but it will pay off.
In 2020, I was in a lot of these programs. A lot! A particular one stood out when I had not learnt git (fork, pull request, clone) up until a teammate put me on. I did not scale through the next stage, but I learnt git. This would prove to be handy in my first internship.
Moving on, I have not joined hackathons or coding challenges as I would have liked in the last year, but I have my eyes set on google code jam and other competitive programming. They are fun (adrenaline rush) and you also get to learn quickly because most of these programs require that you think on your feet.
Lesson: If you are just starting out, you will benefit from enrolling in beginner-friendly programs. You get better at your craft, learn to work in a team and network. In fact, my current role was from a referral at a connection I made at one of such hackathons (HNG). If you are not starting out, these programs can be helpful in sharpening already existing skills.
5. Join a community
... And be an active member of the community.
There are lots of communities for every kind of group - she code Africa, women who code, frontend developer, react developers, open source Africa and so many others. If you are already a part of many and you don't contribute reasonably, leave because then you are just taking up slack space. You would get more out of these communities if you are actually active in them
Be an active member of a tech community and find a way you can serve/contribute.
Communities have similar benefits to enrolling in programs, but instead of being a one-off, communities are long-term.
Lesson: I have benefited immensely from communities particularly she code Africa, being an active member is my way of giving back. I would also like to be an active part of and give value to other communities that empower minorities in tech.
6. Learn to read Documentation
Every (most) tutorial is piggybacked off what has been written in the documentation.
Learning to read documentation would have saved me hours and tons of tutorial hell. Documentation is the main source of truth for learning about a tool intimately. Also, some technologies like meteor do not have enough tutorials, what then do you do when all you are left with is the documentation?
Documentation is also like reading other developers' code which will help you learn to read other developers' code.
If, like me, your response to not reading documentation is that you are a visual learner, well if you have read this post up to this point, I have news for you... you can read documentation as well.
Lesson: Everyone is a read documentation advocate, but no one talks about how hard it can be to get into when your brain is hooked on easily curated tutorials, so it's a personal habit moving on now to not watch a single tutorial until I've read the documentation.
7. Find a mentor
I call this an unfair advantage.
Having a mentor is quite literally having someone who has made mistakes or walked a path so that you do not have to. Especially when the said mentor is invested in your growth.
Now, if you do not have anyone in your personal or professional space who can hold you accountable to your career goals, that's okay. I had a mentor in the first year of my career, after which I had to pull my weight, and so I know it makes a world of difference.
There are platforms like [coading coach](https://mentors.codingcoach.io/) where you can find mentors, I will be exploring this tool.
Lesson: Having someone who is invested in your career growth and success and is willing to devote time and resources to keeping you accountable, backed up with a wealth of knowledge and experience is simply an unfair advantage. But, it makes no difference if you are not a high-achieving self-motivating individual, so pull your own weight.
Finally, rather than go about looking for a mentor, I talk about how you can get a mentor improv without actually having a mentor. [Listen here](https://anchor.fm/trant/episodes/07--10x-your-growth-with-this-tip---Part-2-Spoiler-Get-a-mentor-e1lafd0)
Closing thoughts, these are some of the lessons I learnt and it was a good introspective session because I will be running with them into this new phase of my career. I hope you find them helpful too.
Listen here anchor.fm/trant/episodes/12--7-Lessons-Ive-..
Happy coding ๐ต