Highlights in a Technical Interview for Junior Candidates
Highlights in a Technical Interview for Junior Candidates
Recently, someone who is seeking their first opportunity in the development field asked me for advice on what to study or what certifications to obtain to stand out in a job interview. I didn’t respond immediately and took some time to think, as the landscape has changed significantly since I was a Junior Developer.
So, I came up with a list of 7 topics that I believe make a difference for someone at this professional stage and would catch my attention during an interview process.
Disclaimer: The idea is not for the person to delve deep and become an expert in these items; that can happen later with work experience. The intention is to have a basic understanding and be able to discuss the topics in an interview.
- Docker: It’s quite rare to have no contact with container solutions in the field, so it’s interesting to have an understanding of what Docker is, how to create, run, stop, and check logs of a locally running Docker container.
- Git: After surviving CVS and SVN, I don’t see any other version control solution taking over Git in our day-to-day work. Therefore, understanding concepts like branches, merge vs. rebase, and how to recover from errors is a differentiating factor.
- CI/CD: Here, it’s not about knowing how to set up a workflow in Github Actions, but rather understanding the meanings of the acronyms CI/CD and the value they bring to the quality of the final code and time saved through automation.
- Testing: Even if you haven’t gone beyond unit or integration testing, it’s good to have an understanding of other types of tests and in which scenarios they are important.
- Databases: Many people only get the chance to work with relational databases (MySQL or Postgres), so it’s interesting to explore NoSQL solutions (MongoDB, Cassandra, etc.). It’s a plus to know in which scenarios each approach can be more suitable.
- Agile Methodologies: Most likely, you will join a team that uses a variant of Scrum or Kanban (or perhaps both), so it’s valuable to already know how they work and understand the rituals of these methodologies.
- REST API Patterns: Whether working on the front-end or back-end, there’s a high chance that you’ll be involved in synchronous communication using REST APIs. It’s worthwhile to understand the methods, URL best practices, code best practices, error messages, and more.
As I mentioned earlier, the intention is not for you to become an expert in the items above, nor to know them all. However, I guarantee that having a basic understanding can make a considerable difference during a technical interview.
Do you agree with the points above? Please leave a comment with your thoughts or if you believe any items are missing from this list.