88

Having a non-typical tech stack helped us get better candidates

 4 years ago
source link: https://www.tuicool.com/articles/m6r2my6
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

How having a non-typical tech stack actually helped us get better candidates

We chose Elixir to build AgentRisk, the first wealth management platform with automated options strategies. As it turns out, Elixir is also really great for sourcing awesome engineering candidates.

TL;DR

We don’t have the most typical tech stack here at AgentRisk. Although some of the pieces are relatively common (e.g. Kubernetes, React, and Python), our main app is built on Phoenix , a web framework written in Elixir . Initially, we feared that this would be an issue when the time came to hire engineers for our team. In fact, it actually helped us source higher quality candidates.

3MJFRz6.jpg!webme6NZvJ.jpg!web
Photo by Fabian Grohs on  Unsplash

What our product looks like

In a nutshell,AgentRisk is a next-generation robo-advisor, built to cater the specific needs of high-net-worth individuals. One of our key differentiators is that we offer automated, non-speculativeoptions strategies as an overlay on top of our customers’ portfolios.

Our main app is built on Phoenix , a web framework written in Elixir . The app handles all back-end logic (e.g. portfolio management, user authentication, database logic, user account management, third-party integrations) as well as all front-end controllers, templates, views, and API endpoints.

While we have a couple micro-services for certain very specific tasks, for all intents and purposes, our product is this monolithic Phoenix app. We’re also big users of R for financial modeling and portfolio generation, but that’s a larger topic for a future blog post.

Why we chose Elixir and Phoenix

One reason that we chose Phoenix was because it was written in Elixir and runs on BEAM (the Erlang virtual machine). Our team already had really great experience with the Erlang ecosystem in the past. In fact, this is what allowed BugSense (my co-founder’s previous startup) to scale massively with minimal resources, as BugSense was receiving and analyzing data from over 400M mobile devices . Of course, we weren’t expecting to have to handle that kind of traffic and load at AgentRisk, but it was good to know that scalability had been taken care of from the get-go.

Further, we felt that the “let it crash” approach to writing services was the right one for building such a sensitive application that deals with serious amounts of assets. This, together with Elixir’s pattern matching lets us write code that is easy to reason about and gives us the peace of mind that our code will not have unforeseen consequences.

What’s more, we had very good initial impressions from experimenting with Phoenix, which seemed to bring the best parts from Ruby on Rails, paired with all the great things about Elixir and its ecosystem (e.g. Ecto , Guardian , credo , excoveralls ).

Although Phoenix is relatively new (v1.0 was released in mid-2015 ), Elixir has been around for quite a while. In fact, a number of large companies use Elixir in production, such as Bleacher Report , Dollar Shave Club , Discord , Financial Times , Pinterest , and many others . This gave us enough confidence to adopt Phoenix and Elixir in production.

How popular is Elixir in the real world?

Well, not so much. According to the results from the Stack Overflow’s Developer Survey from 2019, Elixir is almost at the bottom of the “Most Popular Technologies” list, with a mere 1.4%.

zEVfyqm.png!web7Nfqiqz.png!web
Most Popular Technologies — Stack Overflow, Developer Survey Results 2019

However, it turns out that there are a lot of developers that really love Elixir! We totally get it — and we wouldn’t be at all surprised if we see Elixir rise even higher on this list in the coming years.

qaQRBrM.png!webBnYrQfi.png!web
Most Loved Languages — Stack Overflow, Developer Survey Results 2019

How having an unconventional stack helped us

So, how did having an unconventional stack helped us with recruiting?

What’s interesting is that a good number of people that answered our job post were very enthusiastic with our stack. Some even explicitly mentioned that one of the main thing that attracted them was the fact that we are using Elixir and that they were very keen in working on such a stack.

We also found Elixir’s unpopularity to be a strength. Its higher-than-average barrier to entry seems to attract more senior than junior developers, who have already had experience in a couple other languages. This helped us source candidates that closer matched our requirements in terms of seniority.

Further, we found that developers that are into Elixir (and Erlang) have deep knowledge about the language and the ecosystem. That is, what it may lack in absolute numbers compared to e.g. JavaScript or Python communities, it makes up for having strong members.

In fact, we have had a really great experience interacting with the community on the Elixir Slack channel , which is where we actually found few of our best candidates (and the candidate we actually hired!).

What our interview process is like

Since we’re a mostly remote team, we also conducted the interviews remotely. In addition to testing for technical aptitude, culture fit, and all the other normal stuff, we also wanted to see how a candidate would fit in a remote-first team.

Our interview kicks off with a short Google Meet session, where we get a first feel for the candidate. If there is interest on both ends to continue with the process, we ask the candidate to complete a (fairly comprehensive) open-ended programming assignment. We really try to stay away from algorithm quizzes and whiteboard trick questions.

Once the candidate has completed the programming assignment, we go over a relatively thorough code review, as well as a high-level design discussion. This helps us get a better feel about a candidate’s programming abilities in the real world, since this is the same day-to-day experience that they will have in our team.

The result

Meet Carlos, our Lead Engineer. Carlos found us through the Elixir Slack channel and a few weeks ago he joined the AgentRisk family. Carlos has over 11 years of experience as a Software Engineer, is a regular contributor to open source projects, and even wrote the first native JSON library for Elixir .

Z7FJby.jpg!webAjyEFvf.jpg!web
Carlos AKA The Wizard of Ex

Carlos will be expanding the geographic footprint of the company, joining us from beautiful Lisbon (until recently we’ve had people in Los Angeles, Salt Lake City, Athens, New York, and the Bay Area). We’re really excited to have Carlos onboard, who’s already swimming in the deep end of the pool, working on mission-critical parts of the product.

From all of us at AgentRisk, a super warm welcome!

Does building the future of automated wealth management and working on a super cutting-edge tech stack sound to solve really interesting problems sound interesting? Drop us a line at [email protected] and let’s have a chat!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK