Interviews

Software developer job interview
Interviews Skills, Interviews, and Jobs

Ten Tips to Crack a Software Developer Job Interview

Cracking a software developer job interview is no cakewalk. Here are a few tips to help level up your prep and ace the technical interview.

According to the US Bureau of Labour Statistics (BLS), the expected demand for software engineers will grow by 22 percent by 2029 (the average predicted growth rate for all other occupations is around 4 percent). In addition, skilled software developers earn higher-than-average wages and have access to various exciting work opportunities throughout their careers. But cracking a software developer job interview at big techs is no cakewalk owing to the fierce competition.

Therefore, it takes much more than just practicing random problems to crack the interviews conducted by these companies. You must have a solid strategy and the right set of skills to do well in these tests.

This post will discuss ten critical tips to help you crack your next software developer interview. 

Let’s get started. 

  1. Software developer job interview tip 1: Start early

    It is never too early to start preparing for software developer job interviews. Here’s the thing: By giving yourself additional time, you can prepare for more questions. So make it a priority to spend your time working on your software skills as soon as you begin applying.

    The majority of software developer job interviews include both technical and behavioral sections. You need to excel in both to earn a position at your desired firm. Hence, set aside enough time to prepare for each interview component to avoid feeling rushed towards the end.
  2. Tip 2: Prepare for software developer interviews with effective time management

    While you prepare for software developer interviews, it is not enough to simply arrive at the right answer. Coming up with the correct solution within the given time is equally important.

    While the interviewers don’t expect you to get the correct answer on the first try, they prefer that you get it right within the given time limit. Therefore, taking timed mock tests can help you improve your problem-solving speed. Also, when you prepare for software developer interviews, analyse each mock test thoroughly. 
  3. Software developer job interview tip 3: Practice. Practice. Practice.

    To ace software developer job interviews at any good tech firm, you’ll need a whole new set of skills that you can only learn by practicing.
    • Practice solving coding problems on paper, whiteboards, and computers.
    • Consciously think about your problem-solving approach when going through the coding and general problems, and try to figure where you risk going wrong.

      Do this repeatedly to build familiarity around all kinds of problems. You will get better at cracking interviews with consistent practice and become a software professional that tech giants love to hire. 
  4. Tip 4: Learn about the company to prepare for the software developer interview

    Surprisingly, many candidates don’t spend much time researching the organization that’s about to interview them. Of course, the interviewers do not expect the candidate to know everything there is to know about the organization. Nevertheless, candidates who are aware of the company’s past and present projects get brownie points. Moreover, such candidates are in a better position to ask high-impact questions during the software developer interview.

    Consider what distinctive contributions you can make to the organization in light of their goals and your abilities. These will distinguish you from the sea of other software developers applying for the job.

    Here’s some extra advice – You will generally know who will be interviewing you in advance. So spend some time googling the interviewer in addition to researching the organization. Reading a little about them and their work will help you feel more at ease during the software developer interview. You can also learn about their hobbies and interests. This small extra effort may lead you to discover commonalities and mutual connections you might have with them. 
  5. Software developer job interview tip 5: Have a company-specific approach

    Personality traits and technical abilities are valued differently by different firms. You must ensure that your values align with those of the company you’re hoping to join. Revise your preparation based on the company you’re going after and learn what they’re looking for in candidates.
  6. How to crack interview for software developers jobs tip 6: Read the job description thoroughly

    The ‘how to crack interview’ process start with reading the job description thoroughly. The job description should serve as the foundation for developing your interview preparation strategy. Reading the job description carefully will give you clear insight into the role and its expectations. So, work on developing the skills needed for the job and find ways to highlight them in your resume.
  7. Software developer job interview tip 7: Prepare for the different interview rounds

    The number of interview rounds you go through depends on your level of experience and expertise. But for a frontend and backend developer role, these are the standard rounds you can expect:

    • Online coding / Machine coding
    • Problem-solving (algorithms & data structures)
    • High-level design / Low-level design
    • Hiring manager / Culture fit

      Judging in each round depends upon the role you’ve applied for and your experience. For example, if you’re interviewing for a Junior developer position, the online / machine coding round, problem-solving, and LLD rounds are given higher priority. Although companies expect some design knowledge in the HLD and LLD phases, a junior developer’s design knowledge is not crucial. However,  for senior positions, expect a round to test your leadership qualities plus all of the above rounds. 
  8. Tip 8: Go through several mock sessions to crack interview

    The goal of a mock interview sessions is to assess your performance, receive feedback, identify the areas that require improvement, and track progress. Therefore, you should go through as many software developer mock sessions as possible to crack interview.

    Ideally, you should do mock interviews with individuals having technical expertise who have conducted coding interviews before. However, if that isn’t an option, practice with your peers from the software industry and get their opinions on your performance. Make sure to analyse each session to get a good understanding of your mistakes to crack interviews. 
  9. Software developer job interview tip 9: Don’t lose faith

    It’s normal to be nervous before an interview. However, you can relieve some pressure and feel more confident if you practice positive self-talk while waiting for your turn. Bottom line – trust yourself and believe that you can succeed if you put your mind to it.
  10. Tip 10: Get help from others to crack software developer interviews

    If receiving expert advice can help you get closer to your goals, don’t be afraid to do so. Here are some options for obtaining outside assistance with your preparation for the software developer interviews:

    • Hire an expert to help you create your CV.
    • Invest time to build your network to get a referral from within the organization.
    • Enrol in an interview preparation course if needed.

Also, you can reach out to skill development trainers to help you build your soft skills for the software developer interviews. 

Ready to level up your career?

Software developer job interview

Software developer job interview: Ready to level up your career?

Yes, software developer interviews at FAANG and other big techs are nerve-wracking. However, you can overcome these obstacles and take a step forward in your profession with the right strategies.

You can also work with these tech giants and other Silicon Valley startups via Turing. Turing is a ‘deep’ jobs platform that allows talented software developers to work from the comfort of their own homes with leading US organizations. Turing enables developers to collaborate with former tech leaders and engineering managers from Google, Facebook, Microsoft, Amazon, and other top firms and grow through the process.

With Turing, you can get full-time, high-paying, long-term remote software jobs and be part of a community of the world’s greatest developers right from the comfort of your home. 

Join a network of the world's best developers and get long-term remote software jobs with better compensation and career growth.

Apply for Jobs

By Nov 19, 2021
Technical interview questions for hiring teams.
For Employers Hiring developers Interviews

Former Amazon VP on Conducting Effective Technical Interviews

Neil Roseman shares insights on how to conduct in-depth technical interviews. Smart technical interview questions & a good hiring team are essential, he says.

Neil Roseman, former Technology VP for Amazon and Zynga, believes that most recruiters make hiring decisions based on basic credentials, GPAs, Ivy League college educations, and even SAT scores. But hiring a candidate involves a lot more quizzing them on technical interview questions.

Roseman has interviewed hundreds of candidates. He believes that you should carefully plan each step of the interview process to elicit detailed information on skill sets, actual accomplishments, cultural fit, and leadership potential. He also says that recruiters should make it easy for candidates to have open dialogues about their job experience and routines.

In this blog, Roseman explains how he builds interview processes from top to bottom to construct an effective organization, regardless of size or resources:

Carefully probe resumes

While screening resumes, Roseman keeps an eye out for areas where he can push candidates. “I always look for things where they have a measure of their success, especially if they make comparisons or use percentages. For example, [something like] I grew revenue by 50 percent or decreased downtime by 30 percent,” he explains.

Rather than merely being an observer, you want to know what the applicant actually did in their previous roles. Even the most successful company has a divide between those who get the most done and those who don’t. So, you need to try and figure that out during an interview. According to Roseman, this serves as a litmus test for how well they understood their role in the previous organization. 

Applicants may think it sounds nice to say things like: “I increased system availability by 50 percent.” However, if you’re interviewing someone for a system engineering position, for example, you need to know what, exactly, they accomplished. Roseman says that most of the time, when high-level assertions like these appear on resumes, it’s likely that the person hasn’t done them or was only a participant and knew very little about them. On the other hand, top applicants can always explain and back up their statements, irrespective of how in-depth your investigation goes.

Craft smart questions

Drafting good technical interview questions is vital. Hiring teams can refer to interview experience content on platforms like Glassdoor and Quora for inspiration.  It’s perfectly acceptable to borrow questions from these sources as long as you customize them, suggests Roseman.

Later, your entire team can brainstorm why you should ask a particular question, what the perfect answer will be, and even if the question is already on the internet, will it be fruitful to delve deep?

Roseman is particularly fond of questioning engineering applicants on product design. He says that great engineers should be more than order takers; they should be actively involved in product creation. Moreover, design questions can also help you learn more about how someone thinks. Drill applicants on previous products they’ve worked on and ask them to create a short portfolio management program to get to the heart of their competency. Depending on the role, you may also ask the candidate to elaborate on a more generic design challenge such as ‘design an ATM/Elevator for blind people’ or something more technical.

Assemble a strong hiring team

The hiring team you put together will determine the quality of the individuals you hire. Unfortunately, many businesses do not devote sufficient resources to preparing current employees to conduct peer interviews. Failure to do this is a grave mistake, according to Roseman.

Every hire necessitates careful consideration. Hence, leaders must train interviewers and examine their decision-making processes. 

In addition to this, the feedback given by the hiring team should be concise and conclusive. Roseman says that it is vital to keep two things in mind: 

1) You’ve wasted your time, the company’s time, and the candidate’s time if you can’t provide detailed feedback

2) If you get to the end of an interview and all you can say is: “Yeah, I kind of liked them, I think they’d be good,” you’ve, again, wasted everyone’s time

Generic answers lead to ambiguity among team members, so be precise about what you like and don’t like in a prospect.

Here’s a distilled list of the hiring rules mentioned above:

  • Start with a proper introduction to alleviate everyone’s nerves
  • Scour the résumé to understand the candidate’s experience
  • Don’t use applicants to “test” new questions. A set of predetermined questions can help your hiring team recognize excellent responses right away
  • Give plenty of time to code! This coding step is frequently overlooked
  • Investigate algorithms, data structures, code organization, and ease of use
  • Make a design inquiry. Examine how people think about the big picture

Your job as a recruiter is to evaluate a candidate’s talents, fit in your company’s culture, and future growth potential. Remember, you are a spokesperson for your company, and you must demonstrate the company’s ideals.

Are you struggling to vet software engineers/developers on your own? Turing can help. Turing’s automated platform lets companies “push a button” to hire senior, pre-vetted remote software developers. Access a talent pool of the top 1% of 700K+ developers with strong technical and communication skills who work in their time zone. There’s no risk. Turing offers a free two-week trial period to make sure your developers deliver to your standards.

For more information, visit Turing’s Hire page.

Source: Review.Firstround

 

Tell us the skills you need and we'll find the best developer for you in days, not weeks.

Hire Developers

By Sep 17, 2021
Engineering Recruitment: Stripe's Former CTO on How to Get the Best Talent For Your Company
For Employers Hiring developers Interviews

Stripe’s Former CTO on How to Get the Best Talent for Your Company

Are you planning to hire software engineers or developers for your company? Take a look at how you can make the process more efficient and hire the best talent in the industry.

Hiring the right candidates for an organization is a challenging task. Greg Brockman, the founding engineer and former CTO at Stripe, a well-known engineering team in Silicon Valley, shares how the organization has been able to attract and hire the best software engineers through the years. Engineering recruitment can yield best talents if done correctly.

Here are the key takeaways:

Engineering Recruitment: Choose the right hiring channel

Stripe has four hiring channels. The first channel is Referrals. The organization has recruited some of its best talents through its referral system. Brockman says if you can tap the network of your first ten hires, you have broader chances of meeting some talented candidates. So get your engineers to list down the best people they’ve worked with and get them to work with you. 

The other two channels are Inbound and Outbound. If you are looking to create a developer-focused product for the Outbound channel, you will have to look around you. Analyze the community and choose what’s best for your business. “Be sure to create stimulating events for this community as it will help you identify the most promising individuals,” he adds. The Inbound channel includes the people who try their luck by emailing you after going through your careers page. 

The last channel is Recruiters. This channel sends a lot of people your way when you’re hiring. However, they’re not the “A+ talent” you’re seeking. And hence, Brockman says that one can have a hard time sourcing the right candidates through this channel.

Build a brand so that great people get convinced to join your company

When you’re marketing a product or service, you do it in such a way that makes people want to buy from you. The same goes for engineering recruitment. You will surely come across talented individuals who are already in demand in the market. The best way to get them to join your company is to build a brand that resonates with their aspirations. The right candidate should be confident that you are building something big, and they’ll be happy working with you. 

Brockman also emphasizes transparency. A candidate will want to know about the company’s work culture, finances, and much more before joining. So, he suggests that employers should be as open as possible during the hiring process as it will help boost the candidate’s trust in their company. 

Focus on distinguishing Great from Good

Hiring someone just because they have worked in Google previously does not guarantee a good fit for the job. Brockman reveals that Stripe has had a bad experience every time they’ve made assumptions about someone’s ability. 

Hence, the organization prefers getting references from people they already know.

In addition to this, Stripe uses a collaborative hack project — prepared in advance to ensure that they’re well suited for someone’s interests and skill set

Hire people, not just the skill-set

If you plan on hiring someone, don’t hire them just because they have the skill-set you need. Instead, analyze whether the person will fit into your company’s work culture. Stripe uses ‘The Sunday Test’ for this. If a person is in the office on a Sunday, will it restrict you from coming to the office and working with them? If the answer is yes, the candidate is not suitable for your company’s work culture. 

Keep in mind that the first hire in any department is crucial for the success of your company. That person will be responsible for building a team and inspiring the members to work with them, explains Brockman.

Last but not least, he adds that recruiters should trust their instincts. If you think a person might not be the best candidate for the role you’re hiring, you, most probably, are correct.

To sum up, recruiting the best talent is all about using the channel that works best for you, learning to distinguish exceptional from good, building a brand so that the right people feel compelled to work with you, and trusting your gut. With these practices, you can ensure that you hire people that align with your organization as a whole. Brockman concludes that these practices may lengthen the whole hiring process at times, but, in the end, the results will be fruitful. 

Are you struggling to vet software engineers/developers on your own? Turing can help. Turing’s automated platform lets companies “push a button” to hire senior, pre-vetted remote software developers. Access a talent pool of the top 1% of 700K+ developers with strong technical and communication skills who work in their time zone. There’s no risk. Turing offers a free two-week trial period to make sure your developers deliver to your standards.

For more information, visit Turing’s Hire page.

Source: Review.Firstround

 

Tell us the skills you need and we'll find the best developer for you in days, not weeks.

Hire Developers

By Sep 16, 2021
MySQL Client / Server Protocol Using Python & Wireshark: P2
Developers Corner Interviews Languages, frameworks, tools, and trends Pro Tips

Understanding MySQL Client / Server Protocol Using Python & Wireshark: Part 2

In this blog, we’ll learn how to write our own native MySQL client from scratch without using a connector or external libraries.

In the previous article we researched MySQL Client / Server Protocol using WireShark. Now lets start to write our code in python to simulate MySQL native client. Final codes are here: Github repo

First of all we have to create MYSQL_PACKAGE class. MYSQL_PACKAGE class is the parent of all other package classes (HANDSHAKE_PACKAGE, LOGIN_PACKAGE, OK_PACKAGE and etc.)

It accepts resp parameter on initialization. Resp is the binary response received from the server in bytesarray type. One of the important and interesting method of this class is next method.

Method next reads a portion of the bytes from the binary response. When we call this method, it reads some portion of bytes and puts a pointer to the last position where reading ended (changes a value of self.start and self.end properties). When we call this method again, it starts to read bytes at the point it last stopped.
Method next accepts five parameters: length, type, byteorder, signed, and freeze. If freeze is True it reads some portion of bytes from the binary response but does not change pointer position. Otherwise it reads a portion of bytes with given length and changes the position of pointer. If length is None then method reads bytes until the end of response bytesarray. Parameter type can be int, str, and hex data types. Method next converts a portion of bytes into the appropriate datatype according to the value of type parameter.
Parameter byteorder determines the conversion of bytes to integer type. It is up to the architecture of your computer. If your machine is big-endian, then it stores bytes in memory from the big address to the little. If your machine is little-endian, then it stores bytes in memory from the little address to the big. Thats why we have to know the exact type of our architecture to be able to convert bytes to integer correctly. In my case, it is little-endian, that’s why i’ve set the default value of byteorder parameter to “little”.
Parameter signed is also used in conversion of bytes to integer. We tell the function to consider each integer as unsigned or signed.
A second interesting method of this class is encrypt_password. This method encrypts a password with the given algorithm.

This method accepts two parameters: salt and password. Parameter salt is the concatenation of two salt1 and salt2 strings from the Greeting Packet received from the server. And parameter password is the password string of mysql user.
In the official documentation password encryption algorithm is:
password_encrypt_algorithm
Here “20-bytes random data from server” is concatenation of salt1 and salt2 from the Greeting Packet received from server. To remember what the greeting packet is look at the previous article
Now I want to explain the encrypt_password method line by line.
bytes1 = sha1(password.encode(“utf-8”)).digest()
We are converting password string to bytes, then encrypting it with sha1 function and assigning to bytes1 variable. It is equal to this part of algorithm:
password_encrypt_algorithm1
Then we are converting salt string into bytes and assigning to the concat1 variable.
concat1 = salt.encode(‘utf-8’)
password_encrypt_algorithm5
Third line of the method is:
concat2 = sha1(sha1(password.encode(“utf-8”)).digest()).digest()
password_encrypt_algorithm2
Here we are double-encrypting password string with sha1 function and assign it to the concat2 string.
Now we have two concat1 and concat2 variables. We have to concatenate them into one byte array:
bytes2 = bytearray()
bytes2.extend(concat1)
bytes2.extend(concat2)
password_encrypt_algorithm6
Then we have to encrypt concatenated bytes with sha1 function and assign to the bytes2 variable.
bytes2 = sha1(bytes2).digest()
password_encrypt_algorithm3
So we have two variables with encrypted bytes: bytes1 and bytes2. Now we have to do bitwise XOR operation between these variables and return the obtained hash.
hash=bytearray(x ^ y for x, y in zip(bytes1, bytes2))
return hash
password_encrypt_algorithm4

CLASSES FOR DATATYPES

In the previous article we’ve learned about Int and String data types of MySQL Client / Server protocol. Now we need some classes to be able to read fields from received packets.

INT CLASS

Int class implements INT data type of MySQL Client / Server protocol. It accepts package parameter on initialization. Parameter package should be the instance of any package class inherited from MYSQL_PACKAGE class. Method next detects the type of integer (int<fix> or int<lenenc> (see previous article) and calls the next method of package object to read the byte portion of received response.

STR CLASS

Str class implements STRING data type of MySQL Client / Server protocol. It accepts package parameter on initialization. Parameter package should be the instance of any package class inherited from MYSQL_PACKAGE class. Method next detects the type of String (String<fix>, String<Var>, String<NULL>, String<EOF> or String<lenenc>. See previous article) and calls the next method of package object to read the byte portion of received response.

HANDSHAKE_PACKAGE CLASS

HANDSHAKE_PACKAGE class is used for parsing the Greeting Packet received from server. It is inherited from MYSQL_PACKAGE class and accepts resp parameter on initialization. Parameter resp is the Greeting Packet response in bytes type recieved from the server.

Method parse reading fields from the response using Int and Str classes and puts them into a dictionary and returns.

LOGIN_PACKAGE CLASS

This class is used for create Login Request packet.

OK package and ERR package are the response package of server after authentication or after sending query to server on command phase.

MYSQL CLASS

MYSQL class is the wrapper class which creates TCP connection with server, sends and receives packages from server using above classes.

I think everything is clear in this class. I’ve defined __enter__ and __exit__ to be able to use this class with “with” statement to automatically close TCP connection. In __enter__ method i’m creating TCP connection over socket. And in __exit__ method i’m closing created connection. This class accepts host, port, user and password parameters on initialization.
In the connect method we receive greeting packet from server:
resp = self.client.recv(65536)
return HANDSHAKE_PACKAGE(resp)
In the login method we create Login request package using LOGIN_PACKAGE and HANDSHAKE_PACKAGE classes and sends to the server and gets OK or ERR packages.
That’s all. We’ve implemented the connection phase. To avoid making this article too long I will not explain the command phase. Because the command phase is easier than the connection phase. You can research it yourself with the knowledge you’ve accumulated from this and previous articles.
Demo Video:

If you’re a brilliant developer looking for remote software jobs, Turing may be able to help you very quickly. Head over to the Jobs page to know more!

Join a network of the world's best developers and get long-term remote software jobs with better compensation and career growth.

Apply for Jobs

By Oct 9, 2020
Turing Boundaryless Teams
BoundarylessEnterprise For Employers Interviews The Future of Work Turing Podcast

Ashu Garg is Bullish On Boundaryless Teams as the Future of Work

Ashu is equally bullish on the role that remote, distributed teams will play in the future of work. Join us and learn why Ashu likens the Bay Area today to Florence during the renaissance, why the world is flat, and why the companies he believes in incorporate boundaryless teams in their plan from the start.

In today’s episode of our podcast, we meet Ashu Garg, General Partner at Foundation Capital.

Ashu loves puzzles and making bold predictions, including the prediction he made in 1998 that the IT Services Industry would grow by 100x in the next ten years. A decade on, that projection proved prescient.

Today, Ashu is equally bullish on the role that remote, distributed teams will play in the future of work. Join us and learn why Ashu likens the Bay Area today to Florence during the renaissance, why the world is flat, and why the companies he believes in incorporate boundaryless teams in their plan from the start.

Tell us the skills you need and we'll find the best developer for you in days, not weeks.

Hire Developers

By Feb 10, 2020
Podcast
BoundarylessEnterprise For Employers Interviews Remote First How-to The Future of Work Turing Podcast

The #Boundaryless Remote Distributed Teams Podcast with Murray Newlands

In today’s episode of our podcast, we meet Jonathan Siddharth, CEO and Co-Founder of Turing. Jonathan built his last successful company, Rover, using remote, distributed teams. His new company, Turing, is based upon the idea that talent is global, while opportunities are not. Please tune in to discover how to hire remote employees and what it takes to build your company with a fully distributed team.

The #Boundaryless Remote Distributed Teams Podcast with Murray Newlands:

In today’s episode of our podcast, we meet Jonathan Siddharth, CEO and Co-Founder of Turing. Jonathan built his last successful company, Rover, using remote, distributed teams. His new company, Turing, is based upon the idea that talent is global, while opportunities are not. Please tune in to discover how to hire remote employees and what it takes to build your company with a fully distributed team.

About the Boundaryless Remote Distributed Teams Podcast:

The world has changed. In the past, companies were built with locally-hired teams, operating out of the same office. But today, entrenched competition, brutal commutes, exorbitant real-estate prices and more global distribution of talent have upended this practice. Now, billion-dollar companies are now created with teams working remotely and distributed all around the world. Creating #boundaryless companies is hard but we will give you the tools to succeed.

Tell us the skills you need and we'll find the best developer for you in days, not weeks.

Hire Developers

By Feb 4, 2020
Hiring Remote Teams
Interviews Remote First How-to Skills, Interviews, and Jobs The Future of Work

A 7-Point Checklist for Remote-Employee Success in 2020 | Turing Remote Culture

What’s the key to successful remote teams and remote employee management during these unprecedented times? Here are 7 tips to keep in mind for remote team management.

Remote teams

How does one ensure success in managing remote teams?

Forbes contributor Diane Mulcahy recently interviewed Krystal Hicks on the topic of “Why Companies Don’t Trust their Employees.” (Krystal Hicks is the founder of JOBTALK – a resource for career-curious professionals throughout every phase of their journey.)

When I read Krystal’s observations in this article/interview, it occurred to me that they were so good, they could easily serve as a Checklist for 2020 Remote-Employee Success.

So I decided to organize them into that list! Here are some highlights from the interview, along with my added seven checklist points (in bold headers.)

  1. Do You Trust your remote teams?

    Diane Mulcahy asked Krystal why so many companies are slow to implement remote or flexible work policies. Krystal’s response? “It’s trust. There’s no trust. And the mistrust stems from leadership.”
    To quote Krystal further,
    “Companies that are attracting incredible talent demonstrate that they trust their employees. They provide people with a choice about where to work, and the tools, like video conferencing, to make sure that they’re successful… Trust is the new currency, and the best talent wants to work for a company that trusts them.”

  2. Do You Measure Productivity Effectively?

    Krystal told a story about a client of hers who was concerned that remote workers wouldn’t work as hard if they were unsupervised. Her response to this fear is excellent:
    “The real question for companies and leaders considering remote work policies is: How do you measure productivity when employees are at their desks in front of you? And if you do not measure them in the office, then it’s difficult to assume that people are going to be less productive at home. Companies need to figure out how they can implement metrics to measure productivity for everyone, no matter where they are working.”

  3. Do You Have The Right People Managing Your Remote Teams?

    “The Achilles heel of most organizations is promoting the wrong people into people management roles,” Krystal said.
    “I think we have this epidemic of people who were great producers who received promotions into management, and they are terrible managers. There was an assumption made that because they were a great performer, that they would be a great people manager. And I think those are two starkly different things. And I’ve seen it be such a devastating move at so many of the clients that I’ve worked with because bad managers will chase out great employees.”

  4. Have You Shifted from Blockbuster to Netflix?

    Diane Mulcahy asked Krystal what she means when she uses the term Managerial Darwinism. Krystal explained that what she’s saying is “adapting or dying. It is the understanding that there is Blockbuster and there is Netflix – you have a choice about which one you’ll be.”

  5. Do You Accept That You Have Less Power/Control Over remote teams?

    “Employers have less power because they no longer have the same level of control over their employees. Most importantly, they don’t own the financial future of their employees anymore. More employees have side gigs and no longer rely on their employers for 100% of their income. They’re earning money outside their full-time job, and that changes the power dynamic.”

  6. Do You Hold Retention Interviews?

    According to Krystal,
    “I’ve heard of a lot of people say that they do exit interviews, but I believe there is such good information in retention interviews, where you talk to people that have been at the company for 3, 5, and 10 years and learn: What has kept them? Companies have amazing employees that they are not leveraging as a source of information.”

  7. Do You Budget for Consultants?

    Krystal has observed that companies are thinking about consultants differently.
    “They’ve either already had success working with a consultant, or they hear about other companies that have had a good experience, or they’re watching their high-performing employees leave to become independent consultants. Companies are realizing and recognizing that consultants are a reliable source of talent.
    I’m also now seeing companies start to budget for consultants, which is a significant shift, and a strong indicator of demand, because when a company has a budget, they’re going to spend it.”
    One more quote from Krystal Hicks helps conclude our checklist:
    “The stakes are high for companies to figure out remote work because employees are really demanding it.”

Summary 

As an engineering leader, you can succeed in managing remote teams by trusting them, measuring their productivity effectively, having the right people guiding your teams, adapting to the changing scenarios and new technologies, and conducting retention interviews. In this new boundaryless world, if you want to tap into a global talent pool, you’ll have to ensure that your company is on the right track to attract the best talent. Employees are demanding remote work, and companies will eventually have to give in. Ensure that your company is ready for the remote-first world.

If you are an engineering leader looking to spin up your engineering dream team, Turing can help. You can hire the top 1% of the 1 million+ pre-vetted, experienced engineers from across the globe, all with a push of a button. Want to know more? Head to Turing’s hire page now.

Join a network of the world's best developers and get long-term remote software jobs with better compensation and career growth.

Apply for Jobs

By Dec 6, 2019