Background & Relevant Experience
Experience Working with Teams
One of the main things to look for is how well they fit with your current development workflow. Check what kind of teams they have worked with previously and how similar that is to your existing structure.
Communication within the team is incredibly important, so you want to make sure that they are familiar with agile development methodologies, pair programming and more.
Knowledge of Project Management Software
You also want to make sure that they are familiar with the software used internally and how it fits your processes. The person you hire should be familiar with at least two or three project management tools, such as Trello, Jira, or Workday. Furthermore, they should also be familiar with the ceremonies that are conducted and how to manage their time around this.
Ability to Pick up New Tools and Frameworks
Other Noteworthy Qualities
It’s a good idea to gather why the candidate may use some technologies over others. You can check whether they can spot the advantages and disadvantages that apply to your business. One of my favorite questions is:
“what would you change based on what you already know about the current development stack, how would those changes help the customers, and how do you think it would work out in the long term?”
Strong communication skills and the ability to mentor others are crucial to your company’s long-term prospects, as you can provide and foster an environment of progression and self-development. It is essential to retain the team you are building and provide ample opportunities to exercise the skills they are bringing to your organization.
Luckily, there are several things you can combine to help paint a better picture and spot the rockstar developers you are searching for.
Therefore, it’s essential that you test a candidate’s knowledge of the latest ES2015+ (currently ES2021/ES12) features to see how well versed they are with the language and how to use it in order to solve moderately complex problems.
Build Tools and Workflow
Along with the above, the candidate should know how to utilize different build systems, such as Webpack and Gulp, and how to work with the version control system your company uses.
Experience setting up a build system is a big bonus, as it shows that the candidate has the capability to work in dev ops, which is a huge benefit to any development team.
- Question: What is an arrow function?
- A way of preserving function scope
- The same as using var
- It is a way of declaring a function that is lexically bound
- It is used to share the function scope
- Question: How can you import a specific object/variable/function from a module?
- Use the include keyword and specify the variable name
- Use the import function and specify the object names
- Use the import keyword, specify what needs to be imported using a destructor or object/variable/function name.
- Use the import function and specify the object/variable/function using a destructor
- Question: What is the difference between var, let and const?
- Const cannot be changed after being declared, var is global and can be redecorated or changed anywhere, let can be declared once but changed in the block scope
- Const cannot be changed, let is global and can be changed anywhere, var can only be declared once.
- Var and let are the same however const can only be declared once
- All of them can be used interchangeably
- Typescript allows for common language features such as functions and variables to have default values
- Question: Explain what promises are
- Promises are functions that provide the ability to delay execution of a piece of code until the application is ready for the response.
- Promises prevent the application UI from hanging by executing code after the page has loaded
- Promises are objects that will return values sometime in the future. It allows for non-blocking functionality so that your application does not hang, and to deal with operations once they have been completed