A Software Engineer Manager's Guide to Finding a Needle In A Haystack: The good, the bad and the ugly of recruiting the right engineers.


There are so many places to source software engineer candidates in 2019/2020




With the rise of Software BootCamps like Flat Iron School, Lamda School, and General Assembly the job of a software engineer manager is arduous; tasked with finding the right engineer out of an applicant pool of 1000 awesomely self-promoted coders that all bear the mark of a popular software engineering program.


When the backlog is piling up and you're trying to put together nothing less than the Gold State Warriors of coders in 2 weeks time, mistakes are bound to happen.


The reality is, you can spend a lifetime trying to create an all-star team like the PayPal Mafia and it still is not likely to ever happen. With that being said, it's time for us as an industry to pivot into a more realistic way of building a kickass team of engineers.


Ditching the 7 step interview process


There are a variety of multi-step processes to filter through a candidate pool but it's not alchemy You can write job description requiring 45 years of Angular, 89 years of java and 188 years of DevOps but you're not guaranteed to find anyone who can fill that position besides a Genie. As most of us are fellow software engineers, it's time to implement a separation of concerns (SoC). A design principle for separating a computer program into distinct sections such that each section addresses a separate concern. A concern is a set of information that affects the code of a computer program.


If you need a kickass angular engineer, write a job description optimized to get someone with strong angular skills.


Job Description

We are looking for an AngularJS Developer responsible for the client side of our service. Your primary focus will be to implement a complete user interface in the form of a mobile and desktop web app, with a focus on performance. Your main duties will include creating modules and components and coupling them together into a functional app. The artistic design will be delivered to you, together with a few HTML templates, but we will ask for your help in regard to animations, CSS, and final HTML output. You will work in a team with the back-end developer and communicate with the API using standard methods. A thorough understanding of all of the components of our platform and infrastructure is required.


Responsibilities

  • Delivering a complete front end application
  • Ensuring high performance on mobile and desktop
  • Writing tested, idiomatic, and documented JavaScript, HTML, and CSS
  • Coordinating the workflow between the graphic designer, the HTML coder, and yourself
  • Cooperating with the back-end developer in the process of building the RESTful API
  • Communicating with external web services
  • {{Add other responsibilities here that are relevant}}

Skills and Qualifications

  • Proficiency with JavaScript and HTML5
  • Professional, precise communication skills
  • Deep knowledge of AngularJS practices and commonly used modules based on extensive work experience
  • Creating self-contained, reusable, and testable modules and components
  • Ensuring a clear dependency chain, in regard to the app logic as well as the file system
  • Ability to provide SEO solutions for single-page apps
  • Extensive knowledge of CSS and JS methods for providing performant visual effects and keeping the framerate above 30fps at all times
  • Thorough understanding of the responsibilities of the platform, database, API, caching layer, proxies, and other web services used in the system
  • Validating user actions on the client-side and providing responsive feedback
  • Writing non-blocking code, and resorting to advanced techniques such as multi-threading, when needed
  • Creating custom, general use modules, and components which extend the elements and modules of core AngularJS
  • Experience with all levels of operation available to the front-end, such as from creating XHRs in vanilla JS to using a custom wrapper around $resource
  • Experience with building the infrastructure for serving the front-end app and assets
  • Architecting and automating the build process for production, using task runners or scripts
  • Documenting the code inline using JSDoc or other conventions
  • Writing extensive unit tests using automated TDD tasks
  • Creating e2e test suites for all components, and running them with Protractor (or a well-reasoned alternative)
  • Creating configuration, build, and test scripts for Continuous Integration environments
  • Job description from https://www.toptal.com/angular-js/job-description

Straight to the point. Angular, Vanilla JS and experience with the tools related to building Angular Apps. It would be tempting to stick 7 years of Ruby on Rails experience in there but don't or you'll end up asking for a Chimera when all you need is a Dragon, Lion, and Eagle.




A software engineer ends up with an inbox of 23 take-home projects with no guarantees of an interview

Every company needs the best engineers to build the next iteration of its products. When you carefully craft a process to find the right engineers, you might end up as the 7th crafty company sending a take-home project to a talented but overwhelmed engineer. You have to do something to sift through the noise but what can you do to identify the perfect candidate without discouraging them from going through your recruiting process? ....3...2....1.



The Democratization of Project-Based Recruiting


No matter if you are sourcing software engineers from recruiters, LinkedIn, Hired, Indeed Prime or TripleByte, you need to invite those candidates to a process that gets them a step closer to their goal whether you offer them a job or not. A democratized project-based recruiting system is like speed dating but quickly turns into The Hunger Games. Let me explain.


An on-site project for each position you're hiring for
is the best way to vet the skills of your candidates. Projects get harder as they progress. The key is to create projects that require the same skills as the ones engineers will face as new hires in your company. At first, everyone does good, but as the project progresses, only the strong will survive. Your best candidates will be going head to head on the most challenging tasks that will make even your most tenured engineers flinch.


Record keeping
is one of the things you want to consider baking into your vetting process because if Lina H. does a project for you but doesn't get the job, where does all of that time coding go for her? It has to count for something. Consider writing a document that states she did a task for you and highlight some of the good things she did very well. Even though she doesn't get the job, she will be happy she applied because she can add that statement to her resume.


Scheduling and task assignment
is something to consider because the software engineers you are trying to recruit may have a 9 to 5. Instead of sending an entire take-home project to a software engineer, consider scheduling a specific task from a progressing recruitment project. If you are satisfied with the results of the task, schedule another task that's a bit more complex.


A grading framework to rank the skills of every candidate
is one of the last pieces of the puzzle needed to recruit quality engineers from a large candidate pool. At a glance, it will let you know who has the best Ruby skills and who has the worst SQL skills. "Do the best you can until you know better. Then when you know better, do better." - Maya Angelou.


Since you made it to the end, here's an actionable step you can take to finding the right engineers from your large candidate pool



Project Guild is an all-in-one Vetting Solution for Software Engineer Managers
to hire the best software engineers from their candidate pool 

  1. Import a .csv of all the engineers you want to invite and participate in your vetting projects.
  2. Create projects to vet each skill for all of your engineering positions.
  3. There are task matching and scheduling designed specifically for working with engineers that are located outside of your office space.
  4. Automated scheduling that generates badges granting engineers temporary building access to complete their scheduled tasks. When a task is completed, the badges expire.
  5. Get alerted when tasks are submitted.
  6. Review and rate tasks that are submitted.
  7. The Project Report is a growing list of feedback engineers are getting for every task they complete within a company on our network.
  8. When you need to drill down a little deeper into a particular skill before making a decision on a candidate, send an epic task.
  9. Send offers unlimited offers to engineers from the platform. The platform is just software, so there are no recruiting fees or any of that. Candidates can accept an offer right from the platform.

Join Project Guild's Beta Program to help create a better way to recruit and vet the skills of software engineer candidates


For the cost of a Dominos Pizza Deal, you can vet the skills of all your software engineer candidates.


Project Guild's Beta program is $20 a month. If you are a Software Engineer Manager for a tech company, I encourage you to sign up so you can help shape the future of software engineer recruiting for all.




Sign up for Project Guild's Beta Program now at https://www.projectguild.com/project-based-recruiting






Social Media



Software Engineers



Companies



Questions?

Contact us today hello@projectguild.com

© Project Guild 2019
New York, New York
Read our Blogs