Beginner to hired in 12 months

Beginner to hired in 12 months

(a step-by-step approach on getting hired as a Dev)

·

12 min read

Table of contents

No heading

No headings in the article.

In the late quarter of 2022, I received a mail asking for my application for an internship position(paid in dollars), I wasn’t surprised because I expected it, I felt it even took too long 😄 😄, this sense of confidence came because I knew I had put in the work needed, so why some might interpret my fate as mere luck, although it is true, luck did contribute to my success, but also, I was prepared and in search of her(luck) by being deliberate about what I wanted and also by taken some actionable steps.

These deliberate steps to getting you your first job are what I will be sharing in this guide, I’m not promising you a similar outcome as mine, cos I believe yours might even be a better position as to how I started, but what I am assuring you of is, if you put in these steps to good use, you’ll see the results within a year, and this brings me to my first tip;

NB: Although the Python language and the Django framework are used as a case study for this article, the lessons learned and tips shared here can also be used across any other language, framework or technology concepts as a beginner.

Tip1: Being intentional:

Intentional living is the art of making your own choices before other choices make you.

I had to be intentional about what part of tech I wanted to start building a career in and for me it was as a backend engineer, a backend engineer is usually bothered about the flow of logic of an application.

I had researched some of the best languages to learn as of 2021 as a backend engineer and Python was top on that list, it still is as of 2023 according to hostinger, it takes about 6 months or more to understand the concepts of Python.

When I was sure I understood what it’ll cost me to be proficient in Python as a backend engineer, I committed myself to it, which brings me to our next tip.

Tip2: Commit yourself:

Unless commitment is made, there are only promises and hopes; but no plans. ― Peter F. Drucker

Commitment is the decision to show up every day regardless of the amount of work put in, commitment is in the little steps you take each day towards your plan or goal, commitment is in knowing that consistency beats intensity any day or time, not focusing too much on the result of perfection but on the process of the journey.

So, on November 8, 2022, I decided to be committed to my intention about becoming a software engineer.

Twitter image

You know, when the universe knows about your plan it finds a way it guides you unto completion, especially if you’re determined to see it through, the old book of wisdom says

...Write the vision And make it plain on tablets, That he may run who reads it.

This was what I did by making that tweet, making a tweet wasn’t the last bus stop, I had to also put in the work needed.

I signed up for a beginners course in computer science I learned programming with scratch for a couple of weeks (say about 4 weeks) on their platform

While many are meant to believe that tech is hard, the lack of a proper road map can even make it harder.

I proceeded to c++ still under the same curriculum(cs50), not sure how long this took but to follow a plan let's say two months because by February of the following year(2022) I had already narrowed my learning to just Python.

Once I understood the fundamentals of computer programming I narrowed my skill to learning Python with Mosh Hamedani, as my first encounter with the programming language called Python, Mosh’s teaching style is top-notch and very beginners friendly.

After understanding the core concepts of Python; variables, functions, classes, OOP, etc, I was still in search of a beginners guide to learning Python, which brings me to my next tips

Tip 3: Do not be stuck in the tutorial hole, build projects

Nothing good can become stuck – and if it is stuck, it can’t be any good! ― Silvia Hartmann

Python is a very dynamic programming language that can be used in various aspects of tech from web development to artificial intelligence, machine learning, and data engineering, and desktop and mobile application building are also not left out as a benefit or as a career path from learning the Python programming language.

Although the first Python tutorial I took was structured for beginners and also slightly project-based, I needed to further narrow my learning to one of the aspects highlighted above, which for me is web development,

and then I took another Python course with Code with Tomi, on the freecodecamp channel, although Tomi covered the basics of Python and some more intermediate concepts, however, he also went further to give an introduction to Django; a python framework for building server-side applications which run on the web.

I spent about 4 weeks or more with Tomi’s Python course, built a basic blog, and had a basic understanding of Django’s MVT and its function-based views.

Since I had already narrowed my skill to learning Django, I started searching for tutorials that taught Django more in-depth and I stumbled on Dennis Ivy’s channel, the first course I took on his channel was building a to-do list app in Django’s class based view.

Dennis’s teaching style, although might seem not very beginner friendly is very understandable, he has mastered the art of breaking down complex concepts so a beginner can understand.

As a beginner, there is always the trap of falling into the tutorial hole of always learning concepts repeatedly, well, in my opinion, you gain more insights into a programming language when you build projects, no matter how small or basic the project is; build, dismantle it, try to find out different approaches to building that same project, try building the projects from memory, run into bugs, read the error messages, understand what the error messages are saying, fix the bugs, rinse and repeat this cycle for every project learned.

Again, with dealing with bugs as a beginner, running into a bug doesn’t reflect how knowledgeable you are in the concept you are learning, how you fix the bug is what shows how much knowledge you have garnered, so it is very normal and okay to run into so many bugs as a beginner.

From syntax errors to logical errors, it is very important not to blame the computer for the errors you’re making, spend time learning how to debug your errors as you build your projects, and aim for curiosity rather than perfection, your journey becomes easier for you as you show up consistently when you detach yourself from results, enjoy the journey.

Below I have listed some Django projects you can build to add to your portfolio.

  1. Todo list app(function-based and class-based)

  2. House rental application

  3. E-commerce

Tip4: Document your journey

Accomplishments will prove to be a journey, not a destination - Dwight D. Eisenhower

Documentation is the love language that you write to your future self, it is very important to document your journey as a software engineer, you will always be impressed by how much you have improved when you go back to visit your documentation.

Documenting your tech journey helps you better understand the concepts you are learning and also gives you room to improve on your skill sets as it exposes you to a community of both expert engineers and learners who will benefit from your experience, I’m still shocked at the number of engagement I get on my dev.to interesting to see that people benefit from my sharing of my little wealth of knowledge.

I use my GitHub account not just as a version control system but also to document my projects, which is why I always take out time to write out a proper README file for all my projects(public or private), my dev.to account and hashnode accounts are used to write on whatever concepts I'm learning.

You don’t need to pay for a blog domain as a beginner; these resources are freely available for use.

Tip5: Effectively belong to a community

Alone, we can do so little; together, we can do so much – Helen Keller

In May 2022, I searched for some Python handles to follow on Twitter and I stumbled on PyGhana, coincidentally they made a retweet about the PyConGhana 22, so I gave a follow on Twitter to find out more about them when I was convinced about understanding the concept of a Py conference PyConGhana, I promised myself to give a talk at the conference, submitted my first ever CFP and thankfully it was approved.

I understand not everyone enjoys socializing, scary but, somehow being a software developer will force you to socialize in ways that might not suit your personality, just see it as the prize you need to pay.

The decision to give my first talk at a tech conference was very crucial to my journey in landing a job, I met recruiters foreign and local, and had a couple of sincere interactions with developers who were present at the event I could see the gap in knowledge from my end and it challenged me that I can be better and also in the same light I could also see how far I had come as a self-taught developer seeing how much people also benefited from my little knowledge shared.

Well, if you’re reading this I sincerely urge you to become a member of a community regardless of your level of competence.

When you pick a language, search out for the community close to you, the Python community, for example, is very broad and diverse, having branches in almost every continent, most countries and major cities and if there are none this is a call to create one.

Being an active person in your community means you are contributing to the community from; financial contributions to resources and material, to contributing with your skills and expertise, no matter how small let your presence and impact be felt, and engage their social media handles by commenting and retweeting whenever a post is made.

In the long run, when there’s a job opening, it is most times first circulated within the community before it is made public and sometimes it is easier for people to recommend you for a position when you’re an active member of a mutual community.

Tip6: Market yourself:

The price you will offer yourself to the world is how much they will buy you. ― Lailah Gifty Akita

What makes a story compelling, is how it is being told, to be hired for a position you want to be able to tell a story with your journey on your Twitter, Github or Linkedin profile in a way that is captivating and shows an amazing personality.

How you tell your story on these platforms is more important than your story itself, especially as one with no work experience, you should learn how to constantly share what you’re currently doing/learning, the challenges you faced and how you have overcome those challenges but, be careful not to make another boring writeup, add some personality while you market yourself.

From your display picture to your bio, be very intentional about what you post from now on, see social media as a podium and Twitter(or any other platform) as the mic, what you say and HOW you say it will determine if people should listen to you.

A story gives room for engagement, for example, two developers sharing their story on how they got a job can differ based on how they share their stories.

Why this tip might not seem as portraying the importance of selling yourself as a software engineer, the message I want you to pick is to be very deliberate on how you market yourself by telling your story.

Tip7: Contribute to an open-source project

Your engagement with open is the surest referral to getting your first job.

An open source project is a project in which its source code has been made public and can be modified, the Django framework is a good example of an open source project, my first open source project in 2022 exposed me to what a large code base looks like, as a developer it is one thing to read through your code and debug, and yet another to read and try to understand the code of others.

Contributing to an open source project will strengthen your skill in whatever language you're learning as you will be able to see thinking pieces of what makes up the code base to which you are contributing.

Also, another benefit of contributing to open source as a beginner is how it exposes you to the working wonders of a version control system.

For how to get started with open source as a beginner, I prepared this detailed guide, please check it out.

Tip 8: Start applying

The best time to plant a tree was 20 years ago. The second best time is now.

The biggest injustice you can do to yourself is to sit on the sidelines and wait for the perfect time to arrive, the right time for you to start doing what it is you want to do and create what it is you want to create is NOW!

You don't have to be great to start, but you have to start to be great; you don’t need to become a great “developer” before you start applying, ironically you need to start applying to become a great developer in the long run.

Polish your Linkedin profile, and prepare your resume and a cover letter.

You can start applying on Linkedin jobs or any job portals, two of the surest positions for a beginner are an internship position or a junior position, and you can get these offers on Linkedin jobs depending on how you have tweaked your Linkedin page.

Besides Linkedin, another platform where you can get jobs is the websites of the companies who are sponsoring some of these tech events, especially those who sponsor the language or framework you’re working with.

So, as a Python/Django developer search for companies sponsoring any PyCon or DjangoCon event close to you or where you would love to work, visit the company's career pages on their website and apply to them, this process is way easier as you’re sure of some of the requirements for working for the company as they are sponsors of your choice language/framework.

Tip 9: Believe

To accomplish great things, we must not only act, but also dream; not only plan, but also believe. - Anatole France

Belief is a practical instrument you need to shape reality, now you have done all the tips earlier highlighted, you must believe it can happen for you and watch it happen.

Move without fear or doubt believing it will work for you, provided you are willing to put in the work as highlighted in this article then believe it will most certainly work for you.

What the mind of man can conceive and believe, the mind of man can achieve - Napoleon Hill.

Thankfully November 2022 I got my offer that birthed this article

Image description

I will end with a very beautiful quote from four-time grand slam singles champion, Naomi Osaka

I don't think there's a perfectly correct path to take in life but I always felt that if you move forward with good intentions you'll find your way eventually.

I know it might seem draining on some days but please don’t be discouraged, it worked for me and also it can work for you.

May the odds forever be in your favor.