1597741200
This awkward and stressful thing between emerging a hero after completing the 12 labors of Hercules and the pointless successive hula hoops jumps of a circus trained animal, which we lightly call job interviews. We all hate them, yet they are an unavoidable fact of our professional lives.
When for the first time I ventured naively into the uncomfortable and inhospitable world of software engineering technical interviews, it didn’t take long for me to feel that judging a software engineer’s ability in 2 or 3 hours is as accurate as cruentation.
However, I always wondered how it was to be like the one sitting on the other side, what it takes to understand if an engineer is a good fit for the role. For the last couple of years, I conducted over 100+ software engineering technical interviews, and although each company has its unique process, there are common pitfalls people tend to fall. Here is my honest advice on how to avoid them.
“The road to success and the road to failure are almost exactly the same.”
– Colin R. Davis
There isn’t a unique definition for a good software engineer. It relates to the needs of the role and the diversity and maturity of the company. A recent startup would undoubtedly need a short time to market, while a more mature company that grew to a large customer base would probably be facing some scaling and architectural challenges. Building product while understanding what makes sense to the business is different than solving complex technical challenges. A detailed perfectionist engineer is different from a fast iterating one. You need to understand what the company is looking for and frame your behavior and discourse into that mindset. Don’t do a one fits all CV, instead adapt it to that reality. If you have to do a pitch (in a way, you always do one formally or otherwise), frame it in a way that you show how you will be an asset to that specific company. You should understand the necessity the role is trying to fill and ask yourself if that motivates you if it does then embrace it. You should figure what the “good” definition looks like for the company’s context and show how your knowledge, experience, and attitude fits in that definition.
“By failing to prepare, you are preparing to fail.”
- Benjamin Franklin
Going on an interview without having a clue about the company it’s like going on a date and talking only about yourself, doesn’t mean there won’t be a second date but doesn’t give a good impression. Put in the effort to learn about the business, its objectives, it’s mission, strategy, and results. I would never fail someone for not knowing anything about it, but it is a hint of the candidate’s motivation. Also, it is a standard criterion HR tends to evaluate. Besides business goals, be sure to check the company’s tech blog if they have one and know their tech stack. Not very often candidates show legitimate interest for the company, but when they do, it is an excellent way to stand out.
“It is the mark of an educated mind to be able to entertain a thought without accepting it.”
- Aristotle
I’ve met exceptional technical experts throughout my career and they were all kinds of different people. Still, all of them had at least one thing in common; they were the ones who defied the status quo and made the processes and technologies improve. So many candidates, when asked if they have questions, have nothing to add. Avoiding asking questions is a wasted opportunity, grab that moment to ask about the technical decisions the company made and the challenges they are facing and discuss the tradeoffs of each technology.
Examples:
Are they considering moving to HTTP/3 yet?
Are they moving to an event-driven microservice architecture? What kind of message broker are they using? Why not use Kafka instead of RabbitMQ?
What kind of database technology are they using? What was the use case? Would ElasticSearch be a good alternative to SQL in that use case?
And so on. Questioning the technical decisions will show that not only you know these technologies and can argue when they should be used but also that you can think critically and ultimately care about improving whatever applications you work with.
#interview #software-engineering #interview-questions #software-development #interview-tips
1597741200
This awkward and stressful thing between emerging a hero after completing the 12 labors of Hercules and the pointless successive hula hoops jumps of a circus trained animal, which we lightly call job interviews. We all hate them, yet they are an unavoidable fact of our professional lives.
When for the first time I ventured naively into the uncomfortable and inhospitable world of software engineering technical interviews, it didn’t take long for me to feel that judging a software engineer’s ability in 2 or 3 hours is as accurate as cruentation.
However, I always wondered how it was to be like the one sitting on the other side, what it takes to understand if an engineer is a good fit for the role. For the last couple of years, I conducted over 100+ software engineering technical interviews, and although each company has its unique process, there are common pitfalls people tend to fall. Here is my honest advice on how to avoid them.
“The road to success and the road to failure are almost exactly the same.”
– Colin R. Davis
There isn’t a unique definition for a good software engineer. It relates to the needs of the role and the diversity and maturity of the company. A recent startup would undoubtedly need a short time to market, while a more mature company that grew to a large customer base would probably be facing some scaling and architectural challenges. Building product while understanding what makes sense to the business is different than solving complex technical challenges. A detailed perfectionist engineer is different from a fast iterating one. You need to understand what the company is looking for and frame your behavior and discourse into that mindset. Don’t do a one fits all CV, instead adapt it to that reality. If you have to do a pitch (in a way, you always do one formally or otherwise), frame it in a way that you show how you will be an asset to that specific company. You should understand the necessity the role is trying to fill and ask yourself if that motivates you if it does then embrace it. You should figure what the “good” definition looks like for the company’s context and show how your knowledge, experience, and attitude fits in that definition.
“By failing to prepare, you are preparing to fail.”
- Benjamin Franklin
Going on an interview without having a clue about the company it’s like going on a date and talking only about yourself, doesn’t mean there won’t be a second date but doesn’t give a good impression. Put in the effort to learn about the business, its objectives, it’s mission, strategy, and results. I would never fail someone for not knowing anything about it, but it is a hint of the candidate’s motivation. Also, it is a standard criterion HR tends to evaluate. Besides business goals, be sure to check the company’s tech blog if they have one and know their tech stack. Not very often candidates show legitimate interest for the company, but when they do, it is an excellent way to stand out.
“It is the mark of an educated mind to be able to entertain a thought without accepting it.”
- Aristotle
I’ve met exceptional technical experts throughout my career and they were all kinds of different people. Still, all of them had at least one thing in common; they were the ones who defied the status quo and made the processes and technologies improve. So many candidates, when asked if they have questions, have nothing to add. Avoiding asking questions is a wasted opportunity, grab that moment to ask about the technical decisions the company made and the challenges they are facing and discuss the tradeoffs of each technology.
Examples:
Are they considering moving to HTTP/3 yet?
Are they moving to an event-driven microservice architecture? What kind of message broker are they using? Why not use Kafka instead of RabbitMQ?
What kind of database technology are they using? What was the use case? Would ElasticSearch be a good alternative to SQL in that use case?
And so on. Questioning the technical decisions will show that not only you know these technologies and can argue when they should be used but also that you can think critically and ultimately care about improving whatever applications you work with.
#interview #software-engineering #interview-questions #software-development #interview-tips
1598751120
Personally, it pisses me off. Every time I see an article on this topic, my emotional bank account gets robbed. They are all about SEO. Inappropriate keywords squeezed into tiny sentences just to get better rankings. No intent to entertain or enlighten the reader whatsoever. Sometimes, such articles can even be outright wrong.
And even though the purpose of this blog post can be to generate traffic, I tried to make it more of a meaningful rant than a lifeless academic essay.
So, let’s see how you feel by the time you are done reading this paper.
Without further ado:
Since there are no proper interpretations of both terms, a lot of people use them interchangeably.
However, some companies consider these terms as job titles.
The general “programmer-developer-engineer” trend goes along the lines of:
#devops #software development #programming #software engineering #software developer #programmer #software engineer #software engineering career
1596623122
The best way to get hired by a company is always with a warm introduction. But what if you’re new to software engineering (I have less than 2 years of professional experience) and don’t have a large network of people who can refer you into the company? Or, what if there’s a pandemic on and your job search just got infinitely harder?
My job search overlapped with the pandemic, but I recently got hired as a software engineer at a company called Solv, working as a software engineer on software to book same-day doctor’s appointments and urgent care visits. Below, I’ve compiled the resources I used and the processes I created to maximize the chance of getting hired as a software engineer during the pandemic.
If you are interested in learning about the types of software engineering interviews and how to technically prep for them, refer to my previous post, Post-Bootcamp Software Engineering Job Types and How to Hopefully Get One.
Let me start off by saying it is MUCH easier to get into a company’s technical interview pipeline with a referral source than it is applying cold. If you have multiple referral sources for multiple companies and you feel confident with your technical interview skills, then I hope your job search goes quickly. But with more software engineers getting laid off and looking for work and the economy shifting quickly, things just got even more competitive. If you are in a position where you are transitioning careers in this uncertain economy and don’t have +10K followers to help spread the word, then keep reading!
Congrats! You recently started your software engineering career and are on the hunt for a new job. Or maybe you want to start interviewing, just in case. Just remember the old accounting method for cutting costs during challenging times: last in, first out. If you’re like me and have less than two years of experience, your job is potentially at-risk during a down economic period, so it’s a good idea learn the skills to build up an interview pipeline.
How do you build a software engineering interview pipeline from scratch?
Everyone points you to those resources above and says, “Go get ’em, Tiger!” and you sit there wondering “How do I possibly differentiate myself from everyone else?” Building a software engineering interview pipeline takes work, it’s literally a full-time job if you are doing it right.
To optimize your chances of getting noticed, you need a polished, unique resume.
Build a resume so unique and readable, that it catches the eye of the recruiter or hiring manager and makes them want to learn more about you.
What do I mean by unique?
Refactoring your resume is a very important part of the job application process. Please do not overlook this step. If you haven’t gone through multiple iterations of your resume or haven’t had someone else review it, do these things first.
After about four iterations of my resume, I landed on this one as my favorite:
4th iteration of my resume
I recommend picking a few main job boards and investing time in those boards, rather than trying to monitor 100 different boards. I found I got a higher ROI on my effort by spending time regularly on a few boards.
With under two years of professional software engineering experience, I found the job boards below very useful for engineers at all levels:
What worked best for me was applying to postings on LinkedIn and Angel.co. I actually found my first engineering job at Wyre through Angel.co and my second engineering job at Solv through LinkedIn. Cold applications work, you just have to put in the time of building a good resume and a clean personal website and writing a personal note (each person’s own secret sauce). To prove my point even more, the job posting at Solv was for a Senior Engineering role, and the recruiter said I got an opportunity to interview because she liked my resume and saw potential.
I can already hear all the different opinions of people yelling in my ear: “But you shouldn’t apply to applications on job boards online. You won’t get noticed so it’s a waste of time. No one looks at them, you have to go through someone you know.” But once you’ve tapped your network and can’t go out to meet people because of stay-at-home orders, it’s time to make job boards work for you.
My goal was to apply to at least 100 companies a week or ~15 companies per day. To make that process more efficient, I tried to reduce context switching by grouping related tasks into one day. For example, I would do all of my initial applications on Sunday and Monday for the week. It didn’t matter if it was a workday application process where I had to sign up for an account for every company I was interviewing for and then going through their 1990’s style application process, I pushed through it and applied anyway.
Lastly, there use to be a script that would allow you to post to literally 1000’s of applications on Angel.co, but it doesn’t work anymore because Angel.co changed their front-end code. If any front-end engineer wants to update/create a new script to batch apply to jobs, that would be awesome!
#software-development #software #interview #software-engineering
1619169880
Virtual interviews are specially designed to make hiring fast, automated, cost-effective, and convenient than ever. It’s becoming popular among businesses as a digital hiring solution to make interviews remote-based and smarter. Online virtual hiring makes your HR team tech-savvy and improves their interviewing experience at the next level. But before you choose a virtual interviewing tool for your talent acquisition team, we suggest you have a look at this post. This will enrich your understanding of virtual interviewing and help you stand out in a digital interview. In this post, you will get tips on transforming your HR team into a tech-savvy recruitment ecosystem and ensuring optimal utilization of a virtual interview.
As technologies are getting advanced, businesses of all sizes align their recruitment with it to attain better and accurate hiring goals. The virtual platform offers you cutting-edge interviewing features to outshine your competitors and stand out in the market.
**Check out below tips for successful virtual interviewing: **
Create a pro-tech Team
Video recruiting software helps you select a star talent for your company crossing the geographical constraints and grow fast working remotely. It brings automation into your hiring process and reduces expenses on travel. But to make this happen exactly in the same way, it is essential to have a technically sound and experienced team to attain the desired interviewing objective.
Get the right software
Integrate a virtual hiring tool that allows a hiring team to connect with the applicants remotely without compromising the quality of hire. And makes Job posting, sending auto-reminder, and screening of the candidates automated and easy. Besides, a good digital solution should automatically shortlist the most suitable candidates for in-person interviews to make it convenient for recruiters to select the right-fit talent.
Check the compatibility of your tool
A virtual recruiting tool should be compatible with all most all online interviewing platforms. It is recommended that before you choose an interviewing technology, check its compatibility with your HR team, and after double assuring yourself, consider taking its subscription. An easily compatible virtual hiring software would enhance your ability to select the right-fit candidate for the company and encourage fast growth.
Promote your Job post
Ensure an Omni-platform presence to attract the maximum number of applicants and increase higher interview turns out. It plays a vital role in your recruitment process as it widens the spread of hiring information. Having a greater number of applicants put you at an advantage to scan the candidates harder and select the most suitable talent for the position.
Scan before calling for interview
Entirely rely upon the candidate’s documents and CVs is not a better idea of selecting a candidate. To avoid such things, you should scan a candidate via a virtual platform before calling in for an interview. Digital solutions offer you an effective feature to observe the candidates’ non-verbal expression and professional etiquette. It provides you an idea that if a candidate fits well into your company’s work culture or not.
Improve your branding
The job seekers always have the ambition to associate with an organization having great brand values and reputation in the market. And if you present your company as a vibrant brand in front of the candidates, it will attract them, and they will feel excited to associate with your brand.
These are some essential tips you should use to ace your virtual interview. No doubt it will help you schedule effective hiring and select a star talent for the position. You can also check out the blogs of Jobma to know more Tips To Conduct A Seamless Virtual Interview
#software #interview #screening-software #video-interview #video-interviewing #interview-questions
1595106000
Photo by ThisisEngineering RAEng on Unsplash
Hiring a software engineer is hard. It can take months to meet candidates that have the skills and strengths that will grow your team. Convincing them to join is an even heavier lift, often with huge price tags. As interviewers, we often make both challenges harder by chasing after qualities that don’t build strong productive teams.
I want to share what I think a technical assessment interview is supposed to do, and what makes for great technical assessments for businesses of all scales.
I am a seasoned software engineer that has worked in the heart of the San Francisco tech industry building products with startups, and international corporations for over a decade. Primarily bringing apps to peoples iPhones.
I have interviewed with countless companies from FaceFlix giants, to WeWork nomads. I have designed and given technical assessments for the last 5 years, and built candid friendships through out the industry while working with hundreds of brilliant people throughout my career.
Interviewing is a frequent passionate topic of discussion for me - and while it may not be my favorite work activity - I have enough experience to share perspectives I think can improve the interviewing experience and outcomes for those in any industry.
Technical assessments first and foremost goal is to evaluate a candidates technical merit. If you yourself have technical merit, this is trivial. You can tell when you are talking to someone that knows your business.
Harder to answer, but more importantly:
What can they add to the team technically? And is it what we need?
Sometimes that means a specific fluency in a technology. Sometimes it is general knowledge of an entire suite or “stack” of technologies and how they work together. Sometimes it is a background in something your team wants to do over the next year or two.
An interview should be designed to answer some reasonably obvious questions. Breaking it down, some of the things I consider when assessing technical ability is:
I argue that a good technical assessment will leave an interviewer able to speak to these sort of questions if the interview was designed and given well.
I have been in a lot of interviews that work against common growth objectives and even feel adversarial at times. While they demystify the recruiting process for interviewers by providing standards to follow, they completely miss out on gaining true understanding of a candidate and using the hiring process to strategize your team growth.
Success (Binary) Measurement
IQ Measurement
The Grit Measurement
These are all interesting things to have happened during an interview, and often would fit into a debrief, however I believe that an interview _should not be designed__to take their measuremen_t.
I often start interviews by explicitly stating that I’m not measuring these things. They are obviously noted, but they aren’t being compared to a standard. This sounds like it would be a big disclaimer but it’s as easy as:
“We want to make progress, but most importantly I want to hear your thought process and get a sense of working together.”
“The project we are going to do is the topic of the interview, but getting to know how you think and work is whats most important here.”
“We want to get to a working solution as quick as we can, but I’m not as worried about how smart you are as how well you can think and learn”
This has a powerful effect of de-escelating the interview and often makes a role more interesting to a candidate having had a comfortable experience that they can mentally map to a daily environment.
The most compelling interviewers I have worked with are able to make candidates forget they are interviewing — Not because of charisma, or co-working chemistry — but because the task that was presented was topical, and the interviewer was engaged not a challenge to be overcome.
#recruiting #interview-tips #software-development #interview #software-engineering #interview-questions