Are you looking to get a job as a web developer for the first time? Feeling overwhelmed by the process? Keep hearing that looking for a job is a full-time job itself?
Doesn't it feel like all of those jobs you see require a minimum of experience, but how do you start and gain this experience?
Luckily for you, here's my advice on getting ready for that first job and breaking into this industry.
There are hundreds of articles celebrating someone landing their dream job, but I only have found few recent articles about what it's like to be in the trenches.
I am currently on this journey, and I want to share what I have learned, both the positives and what to avoid in this process of getting ready for that first job in web development.
In this article, I'll share what I believe are the most important categories of successful job preparation:
Whether you are coming from another job or are looking to devote all your time to web development, I hope you can find something useful.
The work to get a junior programming job
Social media
By nature, I am an introvert. I don't have a Facebook account and didn't have any social media when I started this journey. But, within the past year, I've created a Twitter account and have connected with developers in the community all over the world. It has been hugely beneficial to my growth, and, even better, the tech community on Twitter is awesome!
The majority of people are so friendly and encouraging. I am still working on my social media following, but I suggest creating a Twitter account if you don't have one.
Here is a list of Do's and Don'ts when it comes to your social media account:
Do
Create content regularly
Put out quality content
Focus on helping people
Don't
Be sporadic when you post
Create clickbait content
Only use it as a tool to get hired
People in the development community are all on this journey together. When you start using social media to teach others and contribute to the community, you will benefit all around. There is a lot of knowledge you already have, and it's worth sharing. Don't fall into imposter syndrome. We all start somewhere.
Shameless plug: If you do have a Twitter account make sure to follow me
Building projects
Building projects are an essential part of your career path. In the tech industry, where degrees aren't as relied upon as they may be in other fields, projects are used as an indicator of skill. This is where you want to make sure you build unique projects that speak of who you are as a developer and showcase your development skills.
Try to make your projects unique. When competing for jobs, everyone is using the same basic projects. Think about the hobbies you enjoy and try to build an application related to them. This will make you stand out when interviewing for jobs.
There are a few things I recommend when building projects:
Always put your projects on GitHub
Include a README.md
Host your project
First off, you want your projects to live on GitHub for a couple of reasons:
Increases your visibility for a future employer
Teaches you how to use version control
When applying for jobs, the above tips are extremely important. You want the interviewer to be able to see how you write code. They will most certainly be asking for your GitHub profile. Most companies request this information in the application, so you must have a few of your best projects on there.
Learning version control is something you will do in your job and is a great skill to have before you even start applying. When building your side projects, you want to use Git and GitHub to make commits and push your code.
Next, you want to make sure your README.md is informative. When someone comes across your project, they want to see a few things:
What does it do?
How do I use it?
Where can I see it live?
Make sure to include a description that accurately describes your project. Sometimes I also like to list the technologies I used to build it.
If your project is some kind of application, I would list all the instructions needed to use it. This is important in helping someone understand how to configure your app.
Lastly, include a live link to where the app lives. It ensures that your reader can easily see and use your app. I also like to include an image of the application. This gives the reader a quick visual of what your application looks like.
Below is an example of the README.md for my portfolio website.
Blogging
This is a great addition to your arsenal as a developer. I have recently started my journey of blogging, and I already see the benefits.
The main benefits I have found from blogging are:
Understanding concepts better by teaching others
Showing companies you can write
When writing a tutorial, you need to research that topic inside and out. For example, if you are writing a tutorial on building a todo application, you must understand and explain each decision.
Why is it necessary to perform X before Y? Or what's the best way to render the new items to the screen? All of the concepts you'll have to teach will then help cement them in your brain.
Don't underestimate the power of learning to communicate well. Being a good writer is a skill that can help you stand out as a developer. If you can show to companies that you can write clearly and discuss technical concepts and solutions, you will have a leg up.
Editor note: This is particularly true for developers at Snipcart, who contribute to our blog.
If you are looking for remote jobs (or simply work during a worldwide pandemic), this will be extremely important. Great communication skills in a remote role are essential. Because all your communication is done via email or Slack (or any other asynchronous team communication tools), it's important to be able to communicate effectively through writing.
What about bootcamps?
Bootcamps can be a great way to learn web development and prepare yourself for getting a job. There are many great options when it comes to choosing a bootcamp. I would first decide if a bootcamp is for you.
Here are some things I would consider:
What is your budget?
How much time can you invest?
What kind of learner are you?
The first and most obvious question to ask is, what is your budget? Coding bootcamps can range in price from $7,000 to upwards of $20,000. This is a big investment and should only be considered if you are serious about this profession.
Time investment is a major factor for most people. Some bootcamps require a certain amount of hours per week over months. This timeline doesn't always fit everyone's schedule. Make sure you know if the course is self-paced or not.
Knowing what kind of learner you are will help you chose the best bootcamp for you. I would suggest that if you are a self-motivated learner, you may not need a bootcamp. The structure of a bootcamp can be great for someone who struggles to motivate themself.
If you decide to pursue the bootcamp route, I would recommend using the free resources mentioned in the previous section. Spend some time learning if you like web development. This field can be challenging at times, and these free resources will give you an idea of how much you like it.
I believe the access to materials and courses that exist today is excellent. Know that it's possible to get a job as a web developer without the need for a bootcamp. You can find courses and developer paths for most programming fields at very cheap or even free price points.
If you have trouble finding good material for your field of interest, please reach out, and I would be glad to share all my resources.
The mindset to get entry-level programming job
Be patient
It's easy to see stories of people getting jobs in a matter of months and feel discouraged. Before you even begin this journey, be careful how much you compare yourself to others.
It's true what they say; comparison is the thief of joy. It can be discouraging, and doubt can begin to manifest.
Don't listen to the voice in your head telling you you're not good enough. In the end, it will rob you of the fun of learning.
Every person is different. Measuring your accomplishments to the next person will only hurt you in the long run. I wish someone would have warned me to be patient.
The amount of time it takes you to get a job is not an indicator of how skilled you're as a developer.
Becoming a programmer is a long process. Well, in fact, it's a never-ending one. You're always learning and keeping up with everything new coming up.
I advise anyone that takes on this journey to track results instead of progress. This is important.
At the end of a long day of programming, I try to reflect on what I've learned, not on what I didn't accomplish that day.
Spending 3 hours on a simple bug leaves me feeling defeated and questioning if I can really do this.
When I reflected on my day, I tell myself that I learned many ways not to fix that bug. I also learned how I finally got the fix and what I could have done to get there faster next time.
Once I looked back on my day with this mindset, it gave me perspective. The goal, in this case, is to have a broader understanding of how debugging is a major part of programming. It's not wasted time, but valuable time.
Be curious
"Question every line of code you write. Ask why, and then break it."
My wife and I were in our senior year of college, and I was helping tutor her in Calculus. She enjoyed the process of math but never had a deep desire to understand the why.
Midterms were looming, and, to this point, she'd be scoring average until one day, the day I explained to her the why. Everything clicks when you understand the why. She came home from an exam, elated that she didn't know a problem, but she knew the why and broke down the problem from there.
This is maybe a silly example, but understanding the why helps you take a complex concept and break it down further. I had observed similar feelings when I learned to experiment with code. Breaking down code and understanding what's going on will make you a significantly better developer than if you only follow tutorials.
Question every line of code you write. Ask why, and then break it. All of this will teach you more than you can learn in any course. Asking questions is a great way to solidify concepts you've already learned.
Take a simple working program and try to re-write the code. See if you can make it work using a different method than the original way.
There are normally a few ways to write a program, and the more you try different approaches, the more you'll start seeing benefits and constraints with each.
Maybe using ternary operators decreases the number of lines you write but dramatically decreases readability. These are the pros and cons you'll start thinking about.
Doing the exercise above will start to make you think like a developer. You'll start becoming more aware of the decisions you make and why you make them.
My approach
I will start by saying there are MANY ways to learn and be successful.
If this doesn't work for you, try something else. Kick comparison to the curb because we all learn differently, and that's okay!
In this industry, it can be easy to get distracted by all the new tools and frameworks out there.
Been there, done that.
I would suggest trying to pick something and sticking to it. This will benefit you more in the long run.
I highly recommend trying to be as consistent as possible. Everyone has different life commitments, but if you can find the time to be more consistent about coding, you will start making progress quickly!
Set small goals for yourself and create a schedule. You will thank me later.
"You are only growing if you are the one writing the code!"
I highly recommend not getting stuck watching video tutorials. This is a bottomless pit that will divert you from growing as a developer.
We've all had a moment in our life where someone showed us something, and we swore up and down we got it and knew what to do. And what happened when you tried to redo it? Suddenly nothing made sense. You will watch someone else write the code and think you can do the same. This is most likely not true! You must sit down and start writing code yourself. You are only growing if you are the one writing the code.
If you are starting from zero, here is what I suggest doing:
Free Code Camp: You can't go wrong with free code camp. It is a free place to learn web development. You start with the basics of HTML and CSS. After that, you learn JavaScript. This is the core of web development. Free code camp allows you to see if you like web development before spending any money. I can't recommend this enough!
Scrimba: Scrimba is an interactive platform that teaches you front-end development. It allows you to learn by watching videos. You can pause the video and complete challenges inside the browser. It is a great platform, and all the teachers I have taken courses from there are excellent!
Note: If you want to start investing money immediately, Scrimba has a great front-end developer career path bootcamp.
Both of these resources are enough for you to spend hours and months on. If you decide you want to take the backend path of web development, I would suggest starting with NodeJS and exploring that route. Since I don't do much backend development, I don't have personal recommendations of courses I have used.
If you have any questions or other recommendations, please let us know in the comments below! I know there are many great resources out there, and these are just a few I have found helpful.
Overcoming the challenges as a web developer
This has not been an easy journey for me, and I don't want to sugarcoat it. It requires a lot of hard work to become a great web developer and get a high-paying job. If it was easy, it wouldn't be worth it.
If you love it and spend as much time as you can, you will get there. I never thought I could make as much progress as I have lately. Please don't give up because it's tough. You will run into roadblocks, and it will get challenging. When it does, take a break and reflect on why you want to do this. Maybe it's to get out of a terrible job you are currently in. Maybe it's to provide for your family in a way you can't right now. Remember these reasons - they will help you get through when it gets tough.
Finding a Job
Now that you're prepared to take on this journey, let's jump into the actual task of finding a job.
There are many options when it comes to the job hunt. I have tried a couple of different ways, and here's what has worked the best for me.
If you find something else working well for you, continue to do that. Every situation is different!
Having a good resume is a MUST. I would advise making it easy to read and not to over-designing it. The skills and technologies you use should be easy to find. The recruiters reading your resume want to find this information quickly.
Action verbs are important, ie. Executed, controlled, oversaw. When putting descriptions of work on your resume, make it quantifiable if you can. Numbers are crucial for showing your progress. For example, the code I wrote brought the test time down from 40 hours to 8 hours.
When it comes to job hunting, I have found the most success with a solid LinkedIn profile. I would advise trying to network with people on LinkedIn versus applying to random jobs.
Find companies you like, and DM the hiring managers. Write something valuable and show that you care about the company and why you want to work there. LinkedIn can be powerful, don’t miss out.
I recommend the following websites for job hunting:
Conclusion
I hope you have learned something from this post and are encouraged to take the leap into this fun and challenging industry. I have found great joy in learning web development. The ability to be able to create software is an awesome feeling. Through all the ups and downs, it has been worth it.
In the end, there's no secret formula to finding a job. You just need to put yourself out there and create a network. The worst that can happen is a "NO".
If you have any comments or questions, please post them below! I would love to help anyone I can.
Liked this article? Please share it on Twitter.