Contents

How We Hire Top Engineers: From Talent Sourcing to Seamless Onboarding at JetRuby

A cover image for the article How our hiring process for top engineers works

/

Head of «Talent Management» Discipline

Hiring top engineering talent is both a priority and a challenge for tech companies like JetRuby. A bad hire can cost an organization about 30% of that employee’s annual salary​, not to mention the lost productivity and team disruption.

We at JetRuby understand that investing in a thorough recruitment process upfront pays off in long-term performance. 

In fact, industry research shows that companies with structured hiring and onboarding see dramatically better retention and productivity (a strong onboarding alone can improve new-hire retention by 82%).​

We’d like to share our expertise and explain why and how a well-thought hiring process benefits our clients.

This article will take you inside our internal hiring process for top engineers:

  • From how we source and attract candidates
  • Through multi-stage interviews and evaluations 
  • And all the way to comprehensive onboarding and continuous training

Key takeaways

  • Hiring top engineers requires a multi-channel approach. Companies need to combine job boards, social sourcing, internal referrals, and networking events to attract the best candidates.
  • Technical skill alone isn’t enough. The best engineers thrive in dynamic environments, communicate well with clients, and adapt to fast-changing requirements. Soft skills matter just as much as technical expertise.
  • Structured hiring reduces bad hires and increases retention. A defined hiring process, with clear evaluation criteria and multi-stage interviews, prevents costly hiring mistakes and ensures candidates align with company culture and expectations.
  • Employer branding attracts top-tier talent. Engineers seek out companies that prioritize innovation, mentorship, and professional growth. A strong brand reputation makes hiring easier and ensures a steady influx of skilled candidates.
  • A well-designed onboarding process accelerates productivity. Providing clear documentation, mentorship programs, and early-stage project involvement ensures that new hires quickly integrate and contribute to company goals.
  • A talent pipeline guarantees long-term growth. Internal academies, internship programs, and continuous learning initiatives help companies develop junior talent into senior experts, ensuring a sustainable, high-quality workforce.

The very first step in the hiring process: talent sourcing

The hiring process begins long before any interviews take place — it starts with strategic talent sourcing.

Our team believes in a simple principle: we rely on strong engineering minds that help our clients achieve success.

We focus on the following traits:

  • High skill level that covers coding and architecture choices.
  • Clear communication style with teammates, managers, and stakeholders (a willingness to speak with clients directly).
  • Ability to solve problems across multiple projects.
  • Dedication to client needs, shown by proactive solutions and business-focused thinking.
  • Willingness to lead teams while continuing to learn new concepts that expand project possibilities.
  • Long-term partnership with personal and team growth.

These are key aspects we assess and value the most. 

Each phase in our process follows these pillars. We rely on steady methods that assess both practical expertise and long-term vision. 

We want experts who enjoy constant improvement, care about project outcomes, and solve problems with precise solutions.

However, we do not prioritize product-based engineers when we seek top experts. Outsourcing experts handle varied stacks and adapt to shifting client demands. On the other hand, product experience sometimes leads to narrower expertise and less direct client contact.

“Since we are a B2B software development company, our projects revolve around external customers who expect deep technical expertise in different domains and technologies. 

A product-based developer might expect a more static environment with one product backlog and one set of managers. 

Our environment demands quick changes when separate client stakeholders share conflicting requests. Some individuals might panic at the idea of rethinking solutions that worked for one project but not for another. 

Many of our senior developers came from outsource backgrounds, so they view each domain as a fresh puzzle. They talk to client teams, map out business needs, and decide which technology fits best. 

This kind of mindset suits our culture and goals,” says Alex, VP of Operations at JetRuby.

JetRuby follows a two-tier approach:

  • Top-level engineers (Senior/Lead)
  • Juniors with a strong desire to learn

We help develop basic skills and provide regular internal courses for junior-level specialists. Within a year, they acquire the necessary knowledge and get assigned to one of the projects.

When our strategy or specific projects require expanding our competencies, we look for top specialists that can bring fresh ideas and innovative techniques.

We don’t focus on hiring mid-level developers because:

  • Mid-level engineers sometimes carry issues from previous jobs
  • They might have unresolved frustrations and resist our fast-moving environment
  • They can lack the willingness to guide or mentor others

This high bar removes average talent from our pipeline.

But it doesn’t mean there are no exceptions, of course.

Below, we outline the primary sourcing channels JetRuby uses.

Job boards & career sites

We post open engineering positions on popular job boards (e.g., Indeed, Glassdoor, LinkedIn Jobs) and niche tech job sites. These platforms reach active job seekers worldwide. 

For example, Indeed alone has been known to deliver a large volume of candidates. One study showed Indeed was responsible for 65% of external hires at one point​.

We also maintain a careers page on our website where candidates can learn about our company culture and see current openings.

LinkedIn & social media

JetRuby’s recruiters actively use LinkedIn to both post jobs and search for strong candidates. 

We leverage LinkedIn’s advanced search to identify software engineers with relevant experience (like Ruby on Rails, React, cloud architecture, etc.) and reach out with personalized messages. 

Our team members also share job openings on their networks, and we engage in tech groups on Facebook, Twitter, and Reddit to spread the word. 

This social sourcing helps attract passive candidates who might not be checking job boards but would consider a great opportunity if it comes their way.

Internal referrals

JetRuby runs a “Bring a Friend” initiative. 

An existing staff member contacts our HR team with a recommendation. We document the candidate’s details and proceed with the usual screening steps. 

That referral often includes extra insights about the candidate’s teamwork approach or real coding achievements. 

Our staff receives a reward when these referrals lead to a successful hire.

We see a steady influx of senior talents from these referrals, and the success rate can exceed 30% in some cases.

Meetups and conferences

Our managers attend software meetups, larger conferences, and specialized gatherings. 

These events happen in many regions and sometimes we meet promising leaders who have shown advanced knowledge of certain frameworks. We keep a record of those introductions and encourage them to apply. 

That channel helps us learn about an engineer’s communication style right away.

With all these channels, JetRuby ensures we have a steady inflow of talent. We measure the efficiency of each channel (for example, tracking how many candidates from LinkedIn or referrals advance through our process) and prioritize those with the best results. 

However, we don’t rely on just one source. Top engineers can come from anywhere, so our sourcing strategy casts a wide net while focusing on the spaces where those engineers spend their time.

Candidate attraction strategies

Finding candidates is only half the battle. We also need to attract them to JetRuby. 

Top engineers often have many options, so we put effort into making JetRuby an appealing career destination. 

Our candidate attraction strategies involve crafting compelling job postings, personalized outreach, and strong employer branding to highlight what makes JetRuby special.

  • Compelling job descriptions: Every job description at JetRuby is carefully written to be clear, engaging, and inclusive. Rather than a dry list of requirements, we describe the impact and opportunities of the role. 
  • Personalized outreach: When our recruiters identify strong passive candidates, we reach out with personalized messages rather than generic form letters.
  • Highlighting growth and innovation: In our messaging to candidates, we also highlight what engineers care about: growth, interesting challenges, and modern tech. We make it clear that at JetRuby, they’ll get to solve complex problems, work with the latest technologies, and continuously learn.
  • Positive candidate experience: Candidate attraction extends into the experience a candidate has throughout the process. JetRuby strives to make every interaction, from the first email or call to the final offer, a positive, professional experience.
  • Employer branding: JetRuby also invests in employer branding — building a positive reputation as a great place to work. We want potential hires to have heard of JetRuby in a favorable light even before we contact them. 

These employer branding efforts pay off: 86% of job seekers research company reviews and ratings to decide where to apply​. 

And having a strong brand means more top-tier candidates come to us. In fact, 75% of active job seekers are more likely to apply to a job if the employer actively manages its brand online​.

Conversely, a poor reputation can repel talent. 50% of candidates say they wouldn’t work for a company with a bad reputation, even for a pay increase​.

Candidate screening and evaluation

After sourcing and attracting candidates, JetRuby moves into the screening and evaluation phase. This is where we determine which applicants truly have the qualifications and potential to excel at JetRuby.

It’s a multi-step filter that ensures only the top candidates advance to in-depth interviews. We receive a healthy volume of applications for each engineer opening, so a structured screening process is critical to identify the stand-outs efficiently and fairly.

Our screening process has two main components: a resume/application review and one or more pre-screen interviews (often a phone or video call). 

For senior-level and lead experts, we use predefined criteria and a hard skill review matrix so that every candidate is evaluated consistently against the same standards.

For example, we might rate “Work Experience Relevance” on a 1-5 scale, “Technical Skill Match” 1-5, etc., for each resume. 

Candidates who meet or exceed the threshold on these criteria are moved to the next stage. 

Typically, we end up shortlisting a modest percentage of applicants, perhaps the top 10-15%. 

This ensures that those we contact for interviews already have a strong baseline fit.

Our HR staff begins with a structured checklist.

Technical skills & experience

Does the candidate have the core technical skills we need? 

For a senior software engineer role, we’d be checking for proficiency in relevant programming languages and frameworks (such as Ruby on Rails, Python, React, AWS, etc.), and a sufficient number of years building similar systems.

We also value depth of experience — evidence that they’ve tackled complex challenges, not just basic tasks. If a resume shows they led development of a scalable SaaS platform or contributed to an open-source project, that stands out.

Education & certifications

While we don’t require a specific degree for all roles, a strong educational background in Computer Science or related fields is a plus. 

We verify any listed degrees or certifications that are relevant (for example, AWS Certified Developer, or a Master’s in Computer Science). 

However, JetRuby also values equivalent practical experience. A candidate without a CS degree but with a track record of successful projects will certainly be considered.

Key achievements

We pay close attention to whether the candidate’s resume highlights certain achievements, not just duties.

Top candidates will list accomplishments like “Improved database query performance by 50%” or “Led a team of 5 to deliver a mobile app used by 100,000 users”. 

Such results-oriented details demonstrate impact and problem-solving ability. We’re looking for people who excel at their job and drive results.

Domain count

Has the developer worked in at least two or three domains? For instance, did they try finance and eCommerce in prior roles? This variety signals strong adaptability.

Team or leadership experience

Some resumes show that a developer oversaw a small group, mentored interns, or introduced new architecture decisions. Our environment encourages leadership at all levels.

Client-focused skills

We look for any sign that the person explained solutions in business terms. If a resume only lists coding tasks, we might pause and consider whether that person might dislike direct client calls.

Side projects or open-source contributions

For engineering roles, seeing a link to a GitHub repository, personal website, or portfolio of projects is great. 

If provided, our reviewers will often take a quick look at a candidate’s code samples or project demos to gauge their coding style and creativity. 

A well-structured, active GitHub profile can sometimes compensate for limited work experience, as it shows passion and self-driven learning.

Once we confirm that the candidate meets the baseline, our HR experts might ask a few additional questions or schedule a brief 15-minute phone or video call.

During that chat we:

  • Confirm a pay range to avoid future mismatches.
  • Ask if the candidate can relocate or prefers remote work.
  • Explain basic details about JetRuby’s environment.

Boost Your Team

Backed by our 15 years of Ruby on Rails expertise, accelerate development, integrate seamlessly, and receive full support.

Get in touch

Pre-screen conversations with HR

Candidates who show potential move to a deeper discussion. Our HR team probes their motivations and checks their approach to conflicts.

We:

  • Explore their motivation to join an outsourcing company
  • Ask them how they handle conflicts or frequent requirement changes
  • See if they enjoy speaking to external stakeholders

We prefer to see how a person reacts to hypothetical but realistic scenarios. 

The HR manager might say, “Imagine you are in a situation with three stakeholders, each pressing for different features. How would you handle that?” 

Although we aim to avoid yes-or-no questions, we do want a sense of how the candidate organizes priorities.

Candidates who say they become frustrated by frequent changes raise red flags, since we see changes all the time.

If the role absolutely requires X years of a certain technology, the interviewer may ask a few pointed questions about that skill to verify the resume claims. 

For example, “I see you worked with React for 3 years, can you tell me about the most complex React component you built?” 

The idea isn’t to grill them technically (that comes later) but to ensure they have real hands-on expertise.

As for juniors, we pay more attention to their soft skills and the desire to grow as an expert.

We also could check for code samples or give a small assignment if the person is mid-level or junior. For example, we might give them a short Ruby project:

  • Create a user login system
  • Store data in a basic database
  • Upload all code to GitHub

The individual writes code on a personal system and uploads it to GitHub. Our technical specialist then inspects the test assignment. If results meet our standards, we book the next step. If not, our experts provide feedback so the candidate can try again. 

We rarely give these assignments to senior engineers. They usually demonstrate skill through a deeper conversation and live coding in the technical interview session.

In summary, the screening stage at JetRuby is about ensuring that anyone who invests time in the rigorous main interviews is a viable contender. 

By reviewing resumes systematically and conducting structured pre-screen interviews, we filter in the right candidates. Those with the qualifications, communication skills, and interest level that match JetRuby’s high standards. 

Now, having identified the top candidates, we proceed to the core of our hiring process: the main interviews and assessments.

In-depth technical interviews and cultural fit assessments

JetRuby’s main interview process is a multi-step, detailed evaluation designed to thoroughly assess a candidate’s technical expertise, problem-solving ability, and cultural fit. 

By this stage, candidates have already impressed us on paper and in preliminary screenings. 

The main interviews allow us to dive deeper and see how exactly they think and work in scenarios similar to our real project environment. It’s also a chance for the candidate to meet multiple members of our team and get a feel for how we operate.

We prepare a structured list of topics for each technology:

  • Ruby on Rails: This is our main specialization. The interviewer checks knowledge of frameworks, architecture patterns, and code structuring.
  • React or Node.js: The conversation shifts to dynamic interfaces or back-end logic in JavaScript.
  • Other topics: Some advanced applicants know multiple languages. The conversation touches on concurrency, microservices, or domain-driven aspects if relevant.

Our main interview process for engineers typically takes several distinct rounds, which may be conducted all on one day (for efficiency) or spread over multiple days. 

The exact steps can vary by role level (for example, a senior engineer might have an extra system design presentation), but generally include:

  • Technical assessments — to test coding skills and engineering knowledge.
  • Behavioral and situational interviews — to evaluate soft skills, teamwork, and adaptability.
  • Team/management interview — often a cultural fit discussion with an engineering manager or future teammates.
  • Feedback review and final hiring decision — an internal step where we compile results from all interviewers.
  • Offer discussion — presenting the offer to the chosen candidate and addressing any final questions.
AspectDescription
Who conducts them?A senior engineer or a team lead leads the technical interview. Sometimes two experts join if the role demands advanced architecture skills.
Typical durationSome sessions last one hour. Others extend to two hours if the position involves a wide technology stack or complex domain knowledge.
Question typesWe mix conceptual discussions and real coding checks. We might show a snippet of code with an error and ask the candidate to fix it. We might request a short demonstration of data modeling for an e-commerce use case, for example

As we mentioned above, we measure responses with a hard skill review matrix that covers:

  • Familiarity with best practices in a certain language.
  • Competence in design patterns and architecture.
  • Problem-solving approach for real-life project needs.
  • Ability to speak about the business impact of solutions. 

Now, let’s highlight a few core elements of our technical interview.

Live coding or project review

We ask the candidate to show a code snippet. We prefer real-world code from their prior experience. 

Some will pull up a GitHub repository that has a commercial or personal project. 

For instance, one of our recent interviews focused on an applicant’s advanced caching layer. 

Our team lead wanted to see how that caching logic handled partial data updates. The candidate demonstrated how it stored fragments of data and invalidated them when changes occurred. 

That example showed how thoroughly the candidate thought about real-time performance.

If no prior code example is available, we might propose a small scenario.

For example, we ask them to parse JSON data and filter certain fields. 

This helps us see how they approach a problem:

  • Do they name variables in a descriptive way?
  • Do they handle exceptions gracefully?
  • Can they explain each step without confusion?

Our team lead looks at the approach, naming conventions, and error handling. This test does not last long. Our main goal is to see how quickly the candidate organizes code logic, not to measure memorized syntax.

Leadership review with Mercer guidelines

For senior leads, we apply Mercer-based frameworks that break down leadership traits. These traits might include:

  • Decision-making style
  • Conflict handling
  • Efficient task delegating
  • Ability to teach or mentor junior developers

Our managers rate each trait to see how the candidate might perform. 

One candidate might excel at architecture but show fewer points in mentoring. Another might have strong management instincts but weaker architecture expertise. 

This data helps us decide if a person can lead a big project or if they should join as a senior contributor first.

ISO-aligned procedures

JetRuby references standard practices to confirm that we apply consistent scoring. We check clarity in test instructions, structured rubrics, and guidelines that define pass/fail criteria.

For instance, if a candidate’s code style is strong but they seem uncertain about presenting solutions to clients, we note that. Our managers can weigh those observations and see if it aligns with the open role.

Behavioral and situational interviews

Soft skills often decide whether a person can thrive in our environment. We talk about past teamwork and ask each person to share a conflict they faced. 

This reveals how they solve issues with clients or coworkers.

We measure several traits:

  • Adaptation in uncertain client requests.
  • Respect for deadlines or customer constraints.
  • Willingness to lead knowledge-sharing sessions for juniors.
  • Consistency in daily communication with managers or client stakeholders.
  • Times when a client asked for an urgent feature switch.
  • Experiences where the candidate had to communicate with a skeptical manager.
  • Moments when the developer guided teammates through a big code refactor.

Final steps: offer, onboarding, and adaptation

After the final round, we gather opinions from recruiters, team leads, and often the department manager. Each group references the matrix with numeric or descriptive scores. 

They analyze:

  • Overall performance: Did the candidate show strong alignment with the role’s needs?
  • Cultural synergy: Did the candidate’s work ethic and communication show signs of good chemistry with JetRuby’s environment?
  • Leadership or potential: Did the candidate show a willingness to guide others or share expertise?.
  • Salary expectations: Did we come to an agreement with the candidate?

We choose the best fit by combining these data points. 

If two engineers have identical skill sets, we favor the one who shows a desire to mentor less experienced developers or who has worked in multiple outsourcing firms. 

Our next step is a written pre-offer that specifies role, base compensation, and a possible bonus path. 

We finalize after a short meeting with senior leadership for top-level hires. Our CEO meets senior staff to confirm the cultural aspect because these employees represent the public face of JetRuby when they interact with clients.

Onboarding process

We at JetRuby treat the first day as a critical milestone and invest significant attention in the early phase of employment. We want a new hire to feel confident.

Before the new hire’s first day, we finish these tasks:

  • Administrative details: We prepare the contract, gather any necessary IDs, confirm the new hire’s contact information, and note any hardware requests.
  • Documentation: We send a short welcome pack. That pack includes an overview of JetRuby’s mission, main communication norms, and a schedule for early calls.
  • Essential credentials: We generate user accounts for internal tools. That might include code repositories, project management platforms, CRMs, task and time tracking tools, chat groups, etc.
  • Welcome plan: We design a schedule for the first week. It includes a quick introduction to the team lead, the mentor, and possibly a project manager if the hire belongs to a client-facing project.

What exactly do we do with these items? We collect them in a digital folder accessible to the new hire and the relevant manager.

How exactly does this help them adapt? They arrive ready with fewer missing details. They know how to connect to each system on day one. That structure reduces confusion and speeds up productivity.

Internal systems and guidelines

We have internal frameworks and checklists that support a new hire from the first day:

  • Knowledge base: We store best practices, coding examples, or standard operating procedures.
  • Technical frameworks: We use standard guidelines for version control, code reviews, and approvals.
  • Checklists: Each new hire sees a practical checklist. It outlines the tasks for day one, day seven, and the first month. This includes tasks like reading a short set of instructions, finishing a self-introduction message, or setting up personal code repositories.

What exactly is in the guidelines? They note recommended libraries, code style norms, or communication tips for clients in different time zones.

How exactly does this help new hires? It gives them a roadmap. They know which tools to learn, how to structure commits, and how to handle immediate tasks without guesswork.

Team integration and support

A new hire connects with colleagues right away. JetRuby assigns a mentor or “buddy,” often a senior developer in the same practice area:

  1. Regular check-ins: The mentor schedules short calls to answer questions.
  2. Buddy programs: Another colleague outside of the direct project team might introduce them to less formal aspects of JetRuby culture.
  3. Scheduled reviews: An HR professional meets the new hire at intervals (for example, after two weeks and one month) to gather feedback about progress.

What exactly do these steps accomplish? They build a sense of belonging from the first day. The new hire gains clarity and a place to ask immediate questions.

How exactly does this help parties? The new hire sees direct support. The mentor learns leadership skills. The organization sees faster alignment with best practices.

Accelerate Digital Development!

200+ projects, ISO security, flexible scaling, low turnover for efficiency & savings.

Get in touch

Internal engineer academy

We established our in-house engineer academy. It aligns with our plan to grow juniors who show potential. It consists of:

  • A group-based curriculum with key subjects in programming fundamentals.
  • Mentoring sessions with real-time code reviews.
  • Projects that mirror real examples from client work.

Only about 1 in 200 participants become full employees. That might sound low, but the academy teaches serious coding tasks. 

Some participants drop out if they miss deadlines or find the work too demanding. Others realize they prefer another career. 

Those who stay often become excellent junior developers.

Structure and typical projects

The curriculum focuses on:

  • Basic Ruby skills: They build small web apps, learn how to manage data, and fix bugs.
  • Sample assignments: Examples include user authentication or a simplified e-commerce flow.
  • Group checkpoints: Mentors track each student’s progress and offer weekly feedback.

We rotate mini-projects. For one cohort, we might create a social feed assignment. Another cohort might focus on a microservice approach. We want novices to see how real outsourced projects often add new features and test them on short timelines.

Growth from internship to Junior

After the academy, some participants earn an internship. During these three months, they:

  • Work on an internal product or a small-scale client feature.
  • Get code reviews from senior developers.
  • Go through best practices for commit messages and pull requests.

Successful interns become official junior developers. They join one of our projects and continue learning. Many of our past interns grew into seasoned software engineers in a few years.

Process summary and client benefits

JetRuby’s journey for each hire begins with sourcing, moves through screening, covers thorough technical checks, and finishes with a guided onboarding. 

The same applies whether we hire an entry-level developer or a top-level expert. 

Our internal academy adds another dimension: a pipeline for well-trained engineers. That pipeline amplifies our ability to supply clients with strong talent.

Clients receive these advantages:

  • Pre-vetted engineers: Each new team member already proves technical skill and readiness for frequent communication.
  • Reduced risk: We do not expect clients to guess about an engineer’s abilities. Our multi-stage approach confirms skill, cultural fit, and reliability.
  • Domain versatility: Many of our hires carry experience in finance, retail, or other sectors. They apply that knowledge to each new client.
  • Staff Augmentation: Our clients do not waste time on job posts or complex interviews. We handle those processes. Clients can focus on product vision while our staff provides the technical backbone.

This entire approach yields stable teams who adapt to new technologies or project pivots. It supports junior employees who rise to mid-level or senior status. It also integrates external experts who merge with the JetRuby way of working.

Please don’t hesitate to contact us for additional details and professional advice.

Head of «Talent Management» Discipline

Share
Link copied!

You may also find interesting

Subscribe to our newsletter

By submitting request you agree to our Privacy Policy

Contact us

By submitting request you agree to our Privacy Policy

Thank you for contacting us

Our manager will get back to you shortly. While waiting, you may visit our portfolio.

By submitting request you agree to our Privacy Policy

Contact us

By submitting request you agree to our Privacy Policy

Thank you for contacting us

Our manager will get back to you shortly. While waiting, you may visit our portfolio.