8
.
05
.
2024
21
.
04
.
2022
Visuality
HR

Updated guide to recruitment process at Visuality

Michał Łęcicki
Ruby Developer

Since this blog post was written three years ago, our approach to quality hasn’t changed (we still treat it as the highest priority). But we gained some additional experience regarding recruitment - feedback from candidates suggested that our previous process was a little too long and complicated. Of course, we also accommodated pandemics and allowed remote recruitment meetings. As a result, we have a more flexible, shorter, and consistent recruitment process. Let me describe it.

Pre recruitment

Research, research, and research. This element hasn’t changed (and probably won’t in near future), because nowadays a lot of information can be obtained before even meeting a person in real life. So we check LinkedIn, Github profile, and candidate’s portfolio (if available) to assess the likelihood that this is the developer we are looking for. Our CTO, Mariusz, invites all potential candidates. He knows exactly what kind of projects we prefer/we used to work in our company and can precisely answer all questions about the technology we use. On the other hand, the whole process is coordinated by Alicja, our HR specialist. She sets up meetings and remembers all people, who said they would like to contact us in the future. Also, we are very flexible, so if someone doesn’t want to take part in official recruitment, maybe he/she wants to attend our party? Barbeque in our garden is a good chance to show our company culture and can start the relationship.

Recruitment meeting #1.

The first formal recruitment meeting is a chance to check if the candidate shares the same values and expectations for the workplace as we do. It’s led by Mariusz (CTO) or Michał (COO) and the vast part of it is in English. We ask about some general work experience, expectations, and plans for the future to see if Visuality would be the right place. Therefore, we present more details about the work we do  - profile of our clients, projects, standards we follow, and parties we make:) Usually, the meeting ends in both-sided excitement and an appointment for the next meeting.

Recruitment meeting #2

The technical part of recruitment is led by two Visuality engineers and usually takes up to 3 hours. This meeting can be done remotely or in the office in Warsaw and its main goal is to get to know the candidate as an engineer.

The agenda consists of 4 parts:

  1. Get-know part.
    First, we want to know more about the candidate  — why he/she wants to join our company, what are his/her interests, pet projects, and strong sides. This part is guided in English to see if the candidate can communicate fluently with the team. Partially we talk about the same things as in the first recruitment meeting, so our developers have a chance to get to know candidates better (eventually they might end up working together). Also, it’s a good introduction and ice-breaker before more demanding technical parts.

  2. Background and experience.
    Usually, we ask candidates to describe previous experiences starting from school/university and ending with former employees. We are interested in knowing what kind of programming languages he/she knows and how experienced he/she is in commerce projects.

  3. Technical knowledge.
    Depending on the position a candidate applies to, we are going to ask many questions about according technology. We always check proficiency in a programming language, understanding of the main components of the framework, and also some general programming principles (eg. Object-Oriented Programming). Probably nothing extraordinary here, because we ask about the knowledge every software engineer should have.

  4. Coding.
    The funniest part, in which we are going to ask the candidate to write some simple algorithm or/and to apply a small change in an existing Ruby on Rails application. We don’t do anything fancy here — we are not expecting to find a new efficient search algorithm; what we want to see is how the candidate approaches the given problem, if can ask the right questions, and what is his/her way of thinking when finding a solution. At the end of the meeting, we throw off the hat of recruiters and answer all questions about working at Visuality from a developer's perspective. Candidates often share their feelings about recruitment at this moment.

Recruitment process at Visuality

Feedback

Regardless of the recruitment result, we are going to provide insights after all meetings — what was correct and helpful from our perspective and what could be better. We believe that recruitment is a two-sided process: not only company seeks perfect employees, but  - most importantly - engineers look for a great place to work and grow. Therefore, our recruitment process still evolves and oftentimes is customised to fit the needs of specific candidates or positions.

Summary

To sum up, the whole recruitment process takes about 3-4 hours (divided into two meetings) and engages people from HR, management, and software development. We are aware that truly knowing a person (or just his/her developer’s side) is not possible in such a small chunk of time, but we are doing everything to increase the chance that our assessment is close to the truth.

Eager to work with us?

We are actively looking for backend and frontend developers at all experience levels, please check open positions here.

Or, if you just have more questions or want to attend our barbeque party - contact us!

Michał Łęcicki
Ruby Developer

Check my Twitter

Check my Linkedin

Did you like it? 

Sign up To VIsuality newsletter

READ ALSO

How to become a Ruby Certified Programmer Title image

How to become a Ruby Certified Programmer

14
.
11
.
2023
Michał Łęcicki
Ruby
Visuality
Vector Search in Ruby - Paweł Strzałkowski

Vector Search in Ruby

17
.
03
.
2024
Paweł Strzałkowski
ChatGPT
Embeddings
Postgresql
Ruby
Ruby on Rails
LLM Embeddings in Ruby - Paweł Strzałkowski

LLM Embeddings in Ruby

17
.
03
.
2024
Paweł Strzałkowski
Ruby
LLM
Embeddings
ChatGPT
Ollama
Handling Errors in Concurrent Ruby, Michał Łęcicki

Handling Errors in Concurrent Ruby

14
.
11
.
2023
Michał Łęcicki
Ruby
Ruby on Rails
Tutorial
Recap of Friendly.rb 2024 conference

Insights and Inspiration from Friendly.rb: A Ruby Conference Recap

02
.
10
.
2024
Kaja Witek
Conferences
Ruby on Rails

Covering indexes - Postgres Stories

14
.
11
.
2023
Jarosław Kowalewski
Ruby on Rails
Postgresql
Backend
Ula Sołogub - SQL Injection in Ruby on Rails

The Deadly Sins in RoR security - SQL Injection

14
.
11
.
2023
Urszula Sołogub
Backend
Ruby on Rails
Software
Michal - Highlights from Ruby Unconf 2024

Highlights from Ruby Unconf 2024

14
.
11
.
2023
Michał Łęcicki
Conferences
Visuality
Cezary Kłos - Optimizing Cloud Infrastructure by $40 000 Annually

Optimizing Cloud Infrastructure by $40 000 Annually

14
.
11
.
2023
Cezary Kłos
Backend
Ruby on Rails

Smooth Concurrent Updates with Hotwire Stimulus

14
.
11
.
2023
Michał Łęcicki
Hotwire
Ruby on Rails
Software
Tutorial

Freelancers vs Software house

02
.
10
.
2024
Michał Krochecki
Visuality
Business

Table partitioning in Rails, part 2 - Postgres Stories

14
.
11
.
2023
Jarosław Kowalewski
Backend
Postgresql
Ruby on Rails

N+1 in Ruby on Rails

14
.
11
.
2023
Katarzyna Melon-Markowska
Ruby on Rails
Ruby
Backend

Turbo Streams and current user

29
.
11
.
2023
Mateusz Bilski
Hotwire
Ruby on Rails
Backend
Frontend

Showing progress of background jobs with Turbo

14
.
11
.
2023
Michał Łęcicki
Ruby on Rails
Ruby
Hotwire
Frontend
Backend

Table partitioning in Rails, part 1 - Postgres Stories

14
.
11
.
2023
Jarosław Kowalewski
Postgresql
Backend
Ruby on Rails

Table partitioning types - Postgres Stories

14
.
11
.
2023
Jarosław Kowalewski
Postgresql
Backend

Indexing partitioned table - Postgres Stories

14
.
11
.
2023
Jarosław Kowalewski
Backend
Postgresql
SQL Views in Ruby on Rails

SQL views in Ruby on Rails

14
.
11
.
2023
Jan Grela
Backend
Ruby
Ruby on Rails
Postgresql
Design your bathroom in React

Design your bathroom in React

14
.
11
.
2023
Bartosz Bazański
Frontend
React
Lazy Attributes in Ruby - Krzysztof Wawer

Lazy attributes in Ruby

14
.
11
.
2023
Krzysztof Wawer
Ruby
Software

Exporting CSV files using COPY - Postgres Stories

14
.
11
.
2023
Jarosław Kowalewski
Postgresql
Ruby
Ruby on Rails
Michał Łęcicki - From Celluloid to Concurrent Ruby

From Celluloid to Concurrent Ruby: Practical Examples Of Multithreading Calls

14
.
11
.
2023
Michał Łęcicki
Backend
Ruby
Ruby on Rails
Software