Shortcut to seniority

Home
Go to main page

Section level: Junior
A journey into the programming realm

Section level: Intermediate
The point of no return

Section level: Senior
Leaping into the unknown
Go to main page
A journey into the programming realm
The point of no return
Leaping into the unknown
Interviewers are programmers, and they want some cool new colleagues that can help them with tasks.
There are many reasons why we hire people, such as business needs, incoming new project, more workload, or simply because people are switching jobs and leaving the company.
Therefore, let’s make it clear: All of us want the same thing. Since you’re called to a technical interview, they definitelly want to hire you. From there on, it’s all up to you.
For interviewers, interviews means time spent not working, there are usually unpaid, the work is obviously still there when they get back to their desk, and it’s also exhausting for them too.
They also need to spent at least 10 minutes looking over the CV, prior to the interview, and 30 minutes after it, to provide feedback to the HR.
If the interview is scheduled:
All of these are efforts that are made by the interviewer, so please take your time to prepare for the interview and be there on time.
Yes, that’s you.
Who are you? Why are you interested in the company?
It’s all about the money? Don’t tell them that. Money is important, but if that’s the reason why you change jobs, they will expect you’ll leave the next time a company pays you more than them.
But more importantly…find another reason. Money will come.
Be someone who’s better than that, who doesn’t work only for money – you’re not a mercenary. Work on something you’re passionate about. If it’s not programming, you may as well switch the domain you work in. It’s better to have less money and be happy every single day, than have more money and hate your life, waiting for Friday to come. Don’t live for the weekend. Strive to find a job in which you’re waiting for Monday to come.
You want to quit your current job because of your team members/team leader/manager/upper-management/….?
Don’t tell them that either. Never talk badly about your current/previous jobs, and always leave under good terms.
Other than that..you should do just fine during the interview.
You need to make sure that what’s on your CV / recommendation letter / job application will make the company want to meet you and invite you over for the interview. However, do not add on your CV anything that is not true.
Regarding the CV length, I would expect it to be 1-2 pages at most. Even if you worked for 20-30 years in the industry, you should add a detailed description only on the jobs you had in the last 5 years or so. If you worked with Java 10 years ago, there’s a big chance you won’t remember any of it, but if you want to add it on the CV, you could create a table with languages / tools you have experience with, but also have a ‘last used year’ column as well.
The problem with 10 pages CVs are that the recruiters do not have time to look over all pages of all candidates that apply for open positions, so they just scan your CV quickly and check for some keywords, experience in the area the company is working with, or anything that could tell them you would be a good fit for the team.
The CV should contain some details regarding professional experience, the technologies that you’ve used, any relevant courses / trainings / workshops / certifications, scholarships, article publications, open-source projects you worked on, any volunteering you may have done, other internships, personal projects, or conferences you’ve been, and pretty much anything that you see as a relevant achievement / accomplishment.
The top area of the CV document should contain a list of skills, so that itcan be easily found by the recruiters.
I don't recommend having grades (skill levels) displayed for those skills, as they are 100% subjective.
Behavioral interview is a way for the company to find out if the job candidates have the competencies they are looking for. Most of them are related to soft skills, and the premise of the behavioral interview is that past performance is a good predictor of future performance.
For you, this is an opportunity to demonstrate to the employer that you are well-suited for the job, and to demonstrate your competencies by giving some specific examples from your past work / school / life experience.
Most of the behavioral questions start with “Tell me about a time when …” and the interviewer wants to know how you handled specific situations up until now.
You’d think that the questions are boring or you might feel that they are challenging, but this is a way for them to test your qualities and defects.
If the interviewer asked you a yes or no question, you as a candidate could easily tell him/her what they want to hear.
With a behavioral question, you are somehow forced to provide some details to confirm your story.
There are a few competencies that the interviewers are looking for, such as decision making, resolving conflicts, getting along with the coworkers, leadership, listening skills etc.
You should think of 1-2 examples of how you demonstrated those competencies, based on your previous job experience. If you didn’t deal with such things at work, or if it’s your first job, it’s ok to bring up some examples from life as well. Don’t forget about the details, such as who was involved, what happened, what was the outcome – and think about both positive and negative ones.
Interviewers can also ask about situations that you could not resolve and what you learned from those experiences.
Interviewers are there to check your technical knowledge and problem solving skills.
There are also many skills that are in high-demand, such as:
The interviewers will probably ask you to solve a problem or two, during the technical interview. It shouldn’t matter that much if the problem is solved or not, but they want to see the way you tackle the problem (your thought process).
For roles that are for juniors or interns (people with 0-1 years of experience in the field), the potential to learn and develop from a professional point of view is really, really important.
The goal is not for you to solve the problem, the goal is the process. So even if there’s a function that already does that, or if you can use a language feature to code it in 3 lines, that’s good, but the interviewers are interested in how you’d solve it without built-in functions. It’s important for them to see how you analyze the problem, and how well you can implement it.
You should look at the design alternatives, tradeoffs, pros and cons in terms of time and memory, and time and space complexity analysis.
Usually, there are many ways to solve a problem, and it’s going to be a tradeoff between time and memory.
You can bring that up and mention what you could use in terms of data structures and so on to optimize for time, or for speed.
Yet but not least, remember that the interview is a two way process – is your opportunity to find out whether the role and the company are right for you, so remember to ask a few questions yourself.
It is very important to be professional with the HR, and with the interviewers, both in person and via mail.
Another important tip, maybe the most important one, would be to relax and be yourself. Faking it will get you nowhere.
Consider the following example:
A company has an opening, and 10 people apply for the job.
After HR / Management review the resumes, three of them are rejected because they are not qualified for the position, so they are left with seven people.
After the interviews, another three are rejected due to not being qualified technical-wise, so they are stuck with four people.
All of them are good for the job, so there are now other criterias that are taken into account.
There are a few questions that arise, such as:
The idea here is, not everything is related to the technical side. That’s only one part of it, but soft skills are as important as the hard skills.
Congrats. I am happy for you!
The outcome is all on you, for all the hard work you put into this achievement.
Excellent work, well done!
Sometimes, you did your best, you thought the interview went great, everyone loved you, but you still weren’t picked. But there could be many reasons why that was the case.
Maybe the company had more options to choose from, and although you were great, you weren’t their first choice. Sometimes there’s only one open position for the team, and the company also struggle to figure out which candidate will fit the best in the current team.
It could also be the case that the position was already closed. This could happen if the management decided that it’s not needed anymore, or if someone from the company (internal) wanted to change the project or even the role (from integration to development, for example).
And in maybe 90% of the cases, it’s not even about the technical knowledge.
Stakeholders: People involved / interested in the topic, that have influence or power over it.
KISS (Keep it simple, stupid), DRY (don’t repeat yourself), YAGNI (you aren’t gonna need it).
Acceptance criteria – conditions that a software must satisfy to be accepted by the user/customer.
Appendix B contain a list of behavior questions. Click to open it in new tab.
Appendix C contains a list of questions that the candidate may ask regarding the company. Click to open it in new tab.
Will be discussed in detail in Architecture chapter, Quality attributes.
Performance is the ability of the system to execute actions within a certain period of time.
Availability is the ability of the system to be fully or partly operational.
Will be discussed in detail in Architecture chapter, Quality attributes.
Security is the ability of an application to be secure.
Usability refers to how easy it is to use or to learn the application.
Security is the ability of an application to be secure.
Usability refers to how easy it is to use or to learn the application.