Ready for your first job as a developer?
You learned how to code? Got familiar with data structures? Practised the use of some common technologies in the field of your choice?
Whether you're self-taught or have studied computer science, getting your first job as a developer can be tricky.
How do I know?
Well, I've been there myself. I've been coding for decades and have studied business informatics at university. Regardless, getting into my first job as a developer was not easy.
Companies are looking for the best developers. It's difficult to showcase your skills under pressure during a job interview. It's especially difficult if you have little professional experience.
How can you impress if you have little to no professional experience?
In this article, you are going to find 5 tips that help. And, if you make it till the end of this article, a bonus tip will be waiting for you.
Tip #1: Become Great At Coding
If I could only give you one tip, it would be this one.
Why is coding so crucial?
Well, let's first take a brief look at skills other than coding...
As a developer, you need have many different skills. You need to
- know a lot of technologies,
- be able to talk the language of other developers,
- and you should be familiar with typical processes (using version control, doing agile development...)
But, here's the thing:
It might take some time to get used to the skills mentioned above. But, as you are growing into your new role, you will pick them up quickly.
What's not easy to pick up?
You guessed it...
Your future employers know that. That's why they are going to look for people who can showcase their coding skills. Many job interviewers are going to ask you to solve a programming challenge. You'll have to write code in front of people. If you're able to do that well, it's going to leave a great impression.
So, how do you develop great coding skills?
I'm assuming that you already have some basic coding skills. Let me recommend three things:
1. Programming Platforms
Practise on platforms where you can learn solving programming tasks.
This prepares you for your job interview challenge. There are plenty of websites that offer free exercises (e.g. LeetCode).
This can be helpful even if you are already an experienced programmer. You will process programming tasks faster and write code more efficiently.
2. Code Quality
Learn how to structure your code and focus on code readability.
Once you create software that is more complex, you will notice how your code can turn into a mess. You won't be able to contain your whole application in a single file any more without it being too confusing. Even if you think your code is not confusing, it might be confusing to your coworker, or yourself in a few months.
Learn how to split up your code into files, functions and classes. Learn about object-oriented programming and other programming paradigms. Learn how to name variables and functions. Follow style guides (such as e.g. PEP 8 for Python) to make your code more readable.
3. Cool side-projects
Build side-projects you are passionate about.
Why am I recommending this?
For several reasons. Firstly, you will run out of energy unless you enjoy what you are doing.
I started coding computer games when I was a kid. It's a long time ago and I started in BASIC, an old programming language that I rarely need nowadays. But, it was one of the greatest and funniest things to do at the time. It almost never felt like work. And as a side effect, it taught me a lot.
Secondly, you will better understand how to design applications. Designing software is a crucial skill which your employer is going to value.
Finally, you can showcase your projects.
This leads us to Tip #2...
Tip #2: Build A Portfolio
My first job as a developer was at a mobile telecommunications company. I applied to work as a data scientist at the Big Data department.
Before my job interview, I had the opportunity to have an informal chat with my soon-to-be team lead. He recommended to showcase my projects on GitHub.
Back then, I had not uploaded any of my projects to GitHub as I thought they were not worthwhile to publish.
He motivated me to upload them anyways, even if they are not perfect. It's better to showcase something than nothing. That's what I would recommend to you as well.
Tip #3: Technical Interview Preparation
My first job as a developer was in a Hadoop Big Data environment. As I had no prior practical experience in that area, it was challenging to prepare.
In a junior position, you are not expected to know everything about every technology.
So why invest your time into preparing for the technical interview?
Your future employer is going to value your investment. They will value that you already learned something about the technology you are going to work with. You're going to stand out because you show interest.
Which technological skills are you going to need in your future role? Make sure to learn about them as much as you can.
You can even develop a little application as preparation for the job. Learning by doing is a great way to aquire a new skill.
Tip #4: Picture Your Dream Job
What if you start working in your new job and then you realize it's not what you would like to do?
That's not the end of the world.
It's not uncommon for developers to switch jobs often. You will still profit from the experience and it can even be an advantage for applying to your next job.
And, it helps you find out which job you might enjoy more. You can save a lot of energy if you ask yourself the following right away:
What would my dream job be like?
Feel free to picture and explore all possibilities. Even if you think something is unattainable, it can guide you into the right direction.
Tip #5: Learn How To Write and Speak
Developers are technical people.
We usually like exploring things. New technologies, cool frameworks, great apps. That's what we are passionate about. That's what gets a developer excited.
Working with people is not what we thrive at and often we are not that good at it.
However, in the end, people are what matters. Technology exists to serve people and improve their lives.
Many developers (myself included) have a tendency to neglect that simple fact. It's easy to get lost in the excitement of what's technologically possible.
So what am I proposing?
Learn how to communicate effectively.
Learn how to understand other people. Understand their needs. Become a great listener. Perhaps you are able to create a cool application but is it actually useful to others?
Learn how to make complex solutions look simple. Let everybody understand why you're doing what you're doing. Learn how to state your points clearly and persuasively, so that you will be heard.
Stay humble and remember that technology is there to serve people.
If you can do that during your job interview, your future employer will recognize you as a great team player.
This is also one of the reasons why I am writing this blog post. Writing, even more than speaking, forces you to structure and organize your thoughts. It forces you to think deeply about a topic and tailor the content to your readers. Clear writing is a great training for speaking effectively as well.
Bonus Tip: Your First Weeks At Your Job
Succeeding in the job interview is not everything. The first few weeks can be overwhelming as well.
- You'll meet many new people.
- You'll have to learn whom to contact for which task.
- You'll have to understand the company structure.
- You'll be confronted with many new technologies and systems that are already in place.
- You'll need months to puzzle together all the pieces of missing information.
My advice here:
Dare to ask questions. You might feel uncomfortable asking for help.
It's normal there are many things you don't understand yet. Your colleagues were in your position once. They want to help you out.
If you are stuck on a problem, it can make sense to first research into a solution alone for a while. But set yourself a time limit. What if a colleague could guide you to a solution in a few minutes? Does it make sense to research into it alone for a half a day?
By asking questions you are also helping others:
- You might not be the only one who is looking for an answer. Other colleagues might profit as well.
- Your question could be an incentive to improve documentation in your company.
- Your question could lead to an improvement of the onboarding program.
- You can challenge the status-quo. Is there a better way to do something? Does your question help your colleagues realize it?
In this article, I recommended 5 tips for getting your first job as a developer:
- Become Great At Coding
- Build A Portfolio
- Technical Interview Preparation
- Picture Your Dream Job
- Learn How To Write and Speak
And as a bonus tip, during the first weeks at your new job: Don't panic.
What do you think helps getting your first job as a developer? I'm looking forward to your comments!
This article was published as my #week1 article for the Hashnode #4articles4weeks Writeathon.