Tips on technical interview questions for hiring teams
For Employers

Former Amazon VP on Conducting Effective Technical Interviews

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… View Article

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.

Read the complete article.

For more information, visit Turing’s Hire page.

 

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

Hire Developers

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

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 attracted and recruited the best talent through the years.

Here are the key takeaways:

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 recruiting good people. 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 have 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. 

Read the complete article here.

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.

 

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

Hire Developers

By September 16, 2021
Turing.com review by Sam from United States: ‘It is a fantastic place’
For Developers

‘Turing Is a Fantastic Place to Be with a Lot of Really Cool People,’ Says Sam from the US!

Turing is a great place to be with a lot of really cool people, says Sam from the United States in his Turing.com review.

This time in our Life at Turing series, we spoke to Sam from the United States about his experience at the company and got to know how remote work has helped him to be more productive.

There’s no doubt when you work with people from different countries, you get to learn so much about their culture and way of living. You grow rapidly with newer ideas. Diversity often makes us realize that we are so different, yet so similar. 

Sam’s Turing.com Review

“It is a fantastic place to be with a lot of really cool people to meet and exciting projects to be a part of,” Sam said while talking about his first reaction about Turing. 

One of the best things about joining Turing is that the company offers high-quality opportunities to remote workers from around the world. People at Turing get to work with the best engineering minds from the comfort of their homes and grow rapidly by working on full-time, long-term projects.

On being asked why he joined Turing, Sam said, “I joined Turing because I wanted an opportunity to work with a fast-growing company that is diverse, international and gave me the flexibility to work from anywhere.”

The work at Turing is both challenging and fun. The company rewards the best people with a compensation that far exceeds the salary level of their local economies. Turing actively encourages its employees to refer their talented friends to apply for Turing jobs.

“I would definitely recommend Turing to my friends. As I said, it is a place to get involved with a lot of fast and exciting projects that are having a real time impact,” Sam said.

Turing.com is committed to enriching the lives of its people while allowing them to work on long-term projects with top US software companies. To get a clearer understanding of how people at Turing love their jobs, we reach out to Turing employees from around the globe regularly to listen to their stories and experiences.

If you’re a talented developer looking to work with the best US and Silicon Valley companies from the comfort of your home then try applying for Turing jobs now. Turing.com offers long-term, full-time remote US software jobs to skilled developers across the globe. Experience the remote #boundaryless revolution now and enjoy a better work-life balance from anywhere in the world.

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

Apply to Jobs

By September 15, 2021
Are you a software developer looking for remote jobs in Silicon Valley tech companies? If yes, these clean code tips can help you ace your game!
For Developers

Looking for Software Developer Jobs? Learn How to Write a Clean Code First

Are you a software developer looking for remote jobs in Silicon Valley tech companies? If yes, these clean code tips can help you level up your game!

We live in a world where software runs everything—from TVs to iPads, washing machines to microwaves, smartphones to IoT devices—you get the idea. It takes several million lines of code to run software and execute specific tasks. Coding is not a one-time thing; it’s an iterative process where the programmers are required to make continuous improvements in the code, add new features, and so on. With the increase in code complexity, it becomes essential to follow clean code practices. We’ll go through just that in this blog! I’ve used Rober Cecil Martin’s aka Uncle Bob’s “Clean Code” as a reference for this post. I highly recommend this book to anyone looking for software developer jobs.

The clean code practices apply to all programming languages. For demonstration purposes, we’ve used Golang in this post. If you are more familiar with Java, please refer to the examples given in the book.

Let’s get started!

// Commentaries

The primary purpose of comments is to explain the code which can’t explain itself. Comments are pretty helpful in debugging and analyzing code, troubleshooting errors, and preparing documentation. They come in handy when a new team replaces the old one and gets to work on the existing code. 

A rule to follow: A comment only needs to exist if it’s beneficial 

Additionally, you need to be careful while writing commentaries. Some types of comments that one needs to avoid are:

Useless commentaries

Looking for Remote Software Developer Jobs in Silicon Valley Tech Companies Learn How to Write a Clean Code First

Now, this comment is harmless but clearly out of context. The version control system should handle author information, creation, and update dates, not the code itself. Failure to do so will increase useless lines of code in the program and certainly cause the following problem.

Outdated comments

Here’s the thing: your commentary will become outdated at some point in time.

So not just header comments like the above example, but even comments like this one can be problematic:

Remote software developer jobs

When the comment shown above was added, the function only received an Id, name, and phone number, but now it expects an address too! You should avoid these kinds of outdated comments, which can be misleading at all costs.

Poorly written and redundant commentaries:

When the code is self-explanatory, comments like the one below are redundant. They just add useless lines of code and force developers to read what they don’t need to:

Learn to write a clean code

Clean code

When writing comments, always ask yourself: “Are they essential?” If they are, write them as clearly as possible. Remember, the comment should help you, not cause confusion.

Commented Code

At times, we add an entire block of code as a comment thinking that we may use it in the future.

How can a software developer write a clean code

However, most of the time, these commented codes are never used. And so, it’s best to avoid writing comments like the one in this image. 

Think about it: If that piece of code were so important, it wouldn’t be a comment, right?

Names

To write clean and readable code, one should define meaningful names for variables, functions, classes, interfaces, etc. Furthermore, the name of a function, class, or variable should justify its existence and importance in the code. Simply put, good names are investments that we make to improve the code quality. 

It is difficult to search meaningful names while writing a clean code

Meaningful Names

Take a look at this example:

Remote software developers should know how to write a clean code

It might take a while to understand that this is a median function. 

Now, take a look at the same example with well-picked names:

This is a clean code

Meaningful names like the ones above make the code readable, understandable, and clean. 

Project Patterns

Following a project convention is a good practice for choosing names. For example, if you have defined a function that deals with a user object, don’t create function names like:

Project patterns

Using GetMemberName instead of GetUserName will just confuse the readers.  So, be very mindful while you decide the names of the elements in your code.

Ambiguous Names

Names should clearly describe what a variable is or what a function does. And so, avoid using ambiguous names, like this one:

Ambiguous names

Ok, but renaming what? It’s better to create big names instead of short ones, but ambiguous. So it would be better to create something like:

How can you write a better code, coding tricks and tips

Effect Names

Names should clearly define the action and the purpose of the element, for example:

How can remote software developers write a clean code for better jobs

This function is not just detaching a User from an Account but is also deleting the User. A better name for this would be DetachUserAndRemove().

Functions

Functions play an essential role in the world of programming. As a result, these functions have gained more traction with functional languages such as Elixir, Scala, Kotlin, Swift, Haskell, Golang, etc.

Almost every programmer knows the basics of functions. However, here are a few pointers that will help you write cleaner and better functions:

Short

Have you ever seen a function with hundreds and thousands of lines? 

Have you ever seen a code with thousand lines

A function should be short enough to help the reader understand its purpose at first glance.  But how short should it be? We won’t impose some magic number of lines here, but if your function consists of more than 20 lines of code, try refactoring into a smaller one.

One practical way to shrink your functions is to avoid adding logic into if, else, while indentations. Here’s an example:

Functions

The function name shows that it prints prime numbers between two arbitrary numbers. Here’s what you can do to make the function more readable and understandable:

Remote software developers should learn to write a clean code

This function is easier to understand than the earlier one. 

We removed the logic inside the “if and for loops” and defined them separately in other functions, making them more concise. Here are those functions:

Writing clean code

Note: Take a look at the order of the functions. When you are decomposing the function responsibility, the reader of your code must read it as quickly as a journal or a story. So try to maintain a top-to-bottom readability of the code.

Single responsibility

A critical concept in functions is the single-responsibility principle (SRP). This concept is the first principle of the SOLID principles in OOP. It states that each function should have one single responsibility, which must be well-defined and executed.

Take this example:

This is how a remote software developer can write a clean code

This function has more than one responsibility. Hence, it is best to refactor the code when a single function is responsible for multiple tasks.

Parameters

A function with a lot of parameters is difficult to understand. Here’s why:

Clean code writing

These kinds of functions make the code reviewing process time-consuming and messy. 

To prevent this, you need to ensure that you use a limited number of parameters that clearly define the objective of the function.

How to write a clean code

Note: Use the same idea to deal with return arguments.

A clean code has various benefits. First, it helps in performing code reviews efficiently. That way, your peers can understand the code, flow of data, and underlying logic with minimal effort. In addition to this, new joiners can easily understand the old code, making their onboarding process smoother. A messy code might take a developer months to add a new feature or fix a bug. However, a clean code makes the process a lot smoother. And thus, a clean code can save a lot of time, money, and resources!

Happy coding!

Do you want to apply to remote US software jobs from the comfort of your home? If yes, Turing may be able to help you very quickly. Visit our 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 to Jobs

By September 14, 2021
Gultekin Turkey
For Developers

Gültekin from Istanbul Reviews Turing.com, Says Remote Work Has Helped Him Spend More Time with Family

In his Turing.com review, Gultekin said he would recommend Turing to his friends and other developers who want to start their dream job.

“I would recommend Turing to my friends for sure as well as to other developers who want to start their dream job or any company that wants to work with high-quality developers,” Gultekin said.

In this blog post, we spoke to Istanbul’s Gültekin, who has been working with Turing as a Machine Learning Engineer, to know how he thinks about Turing as an organization and what he likes/dislikes about us.

Gültekin’s Turing.com review:

Speaking about the change that he has noticed in his life after joining Turing, Gültekin said, “I have joined Turing mainly because of all the successful team members in it and achieve possible goals with them. Also, using my machine learning knowledge to vet developers and match them to their dream job, excited me.”

On being asked what motivated him to select Turing as his place of work, Gültekin mentioned that working remotely, in general, helped him spend more time with family, and also there are no time-consuming necessities, such as traveling to the office, which in result not only saves time but also increases the work efficiency.

When asked whether he would recommend Turing as a workplace to his friends, he said, “I would recommend Turing to my friends for sure as well as to other developers who want to start their dream job or any company that wants to work with high-quality developers.” 

Finally, summing up his journey so far at Turing, Gültekin gave us a 10+ out of 10. He concluded, “We have many team members from all around the world who are the best at what they do. Furthermore, our directors and managers set up really good goals for us to achieve, and while doing so we get so much to learn and improve ourselves.”

If you’re a talented developer looking to work with the best US and Silicon Valley companies from the comfort of your home then try applying for Turing jobs now. Turing offers long-term, full-time remote software jobs to skilled developers across the globe. Experience the remote #boundaryless revolution now and enjoy a better work-life balance from anywhere in the world.

Turing.com as a deep jobs platform is committed to enriching the lives of its people while allowing them to work on long-term projects with top software companies. To get a clearer understanding of how people at Turing love their jobs, we reach out to Turing employees from around the globe to listen to their stories and experiences. If you want to share your experiences with us, reach out to me at [email protected]

Technology vector created by pch.vector – www.freepik.com

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

Apply to Jobs

By September 9, 2021
Most popular
All articles