The Difficulty In Hiring Great FE Engineers

It’s a great time to be a front end engineer. The advent of the mobile web and the rise of complex web applications has allowed the web stack to become the de-facto solution for building fantastic experiences. What was a dream 10 years ago is finally becoming a reality today. As a result, companies across all types of industries are aggressively hiring for great front end engineers. The problem is, there just aren’t enough of them.

There are brilliant back end engineers no matter where you go in the valley. These are the guys that know how to build scalable applications. They know how to build robust and fault tolerant applications, and they are also the ones managing your performance numbers across the stack. There are also lots of good front end engineers. They can write JS, and they can write your HTML. But there are very few great front end engineers.

Even Mercedes-Benz likes FEs Over the years I’ve been selling myself as a left brain right brain thinker who sits in the middle of the triangle. This is a triangle that consists of engineering, creative, and product. It works great as a sales pitch mostly because it’s 100% true. It’s my humble opinion that as FEs, we are more passionate and more emotionally involved from a product perspective than our fellow engineers. This it not a bad thing. It just means that we have differing priorities which inherently allow us to excel in different ways. The things that incite passion in engineers are not always the same things that incite passion in FEs, and therein lies the difficulty in hiring great FE engineers.

There’s always a certain appeal about a company that embraces new tools and new solutions. A few years ago it was Ruby and git, now it’s Node.js and the cloud. I think technology is cool. It’s why all of us work in this field. It’s an exciting and fast paced environment where everyday is a new challenge. For some engineers, this is exactly the kind of thing that drives their passion, as it’s the opportunity to work with the cutting edge that’s so rewarding. As an engineer, I completely understand. As a FE, it’s a tougher sell.

A quick survey of the Bay Area reveals a star studded list of tech giants and startups, with more opportunities than you can shake a stick at. But in discussions with my fellow FEs, the question that always comes up is, “Which of these companies are you genuinely interested in? How many of these places have compelling products or experiences that incite passion on a personal level?”  The typical FE is very in-tune with the UI/UX side of the product. Pretty things appeal to us, and nothing excites us more than creating brand new user experiences. The behind-the-scenes tech can be oh-so-amazing, but if the UI/UX focus is just not there, especially on a company wide level, the reaction is going to be “meh”.

Does it follow, then, that FEs are flocking to companies where their passions are aligned (this includes doing their own startups)? Maybe not all, but I’d say job satisfaction within the FE community is generally very high. What about the remaining FEs? Where are they going? Douglas CrockfordCrockford – a superstar anchor

They go where other FE rock stars are going.

Talent attracts talent. Recruiters and prospective employers, please take note! I can name more than a couple of companies which are in the process of building huge FE teams around the exodus of Yahoo FE talent.

The typical LinkedIn recruiter inMail attempts to sell the classic start up experience. It’s emphasized so much and so often that every company starts to sound the same after awhile. Anybody on LinkedIn is should be familiar with the situation. Agile teams, flexible working hours, team activities, free lunches, foosball tables… these are no longer selling points for the companies. That’s right – here in the valley, this is standard (I realize this is not the case elsewhere, but hey, we’re in a bubble, right?).

When you can’t sell an FE on an opportunity, it’s more than likely they already have some thoughts about the market the company is in or the product the’yre trying to sell. Thus, attempting to sell them on secondary perks like workplace culture doesn’t address the core issue at hand. This is why the vast majority of recruiters are unable to secure good FE talent. They simply don’t understand the mindset and the MO of the community, and are therefore unable to appeal to top talent.

In my completely scientific opinion, here are some things you can do to attract FEs:

1) Respect and understand the FE role
The worst thing you can do is to misunderstand the FE discipline. One tech giant in particular is an egregious offender of this rule. Every single time I phone screen with this company, the interviewers somehow manage to find a way to describe my job function as “trivial.” I’m sorry, but if you’re trying to hire top FE talent, you just threw away any chance you had by marginalizing the candidate you’re trying to hire.

2) Groom a company culture where UX/UI actually matters
(First, I want to clarify that UX and UI are two different animals. But in the context of this discussion, let’s say they’re one and the same.) Make sure your company respects the UX and UI development process. This means giving the product experience the kind of focus and attention as you would on other core infrastructure pillars such as scalability and fault tolerance. Nothing is more demoralizing than going to work and knowing that any ideas you bring up in today’s meetings will simply be dismissed because “UI/UX is not important.”

3) Hire a strong FE anchor
In order to build a strong team, you should (ideally) build it around a strong anchor. This can’t be someone who is just a JS/CSS monkey – they need to have experience in other FE concepts, which includes stuff like client side performance, asset/resource management, template/CSS management, etc. These are the kinds of issues which make or break the FE experience within a company. Having an anchor can ensure that these issues are addressed as early as possible, which prevents painful monkey patching later down the road.

4) Create a presence in the FE community
Nothing can give you more exposure than being involved in the FE community. Get your developers involved in conferences, get them talking about the cool stuff your company is doing (both from a technical and product perspective), and get them engaged with other FEs in the community. News travels fast, and Twitter and social media work to your advantage here. I’ve always believed that the best candidates are usually found through referrals, and this is no different.

5) Encourage your FEs to be involved in the community
Let your developers attend conferences. Encourage them to attend. The web is, surprise, an OPEN platform, which means all the cool stuff that one company builds can become the basis of another company’s really cool stuff. I can’t emphasize how important and useful this is for FE engineers of all levels, particularly so for junior and mid-level engineers. A lot of great ideas and inspiration are drawn from these kinds of events.

While I’m not an expert recruiter, I have been in FE for almost 10 years. These are the kinds of things that draw me to the field, and I hope some of the things I’ve shared today can help shed some light on how FEs approach new opportunities. It’s true, we exist, you just have to start dropping the right kind of bread crumbs.

The State of FE Interviews

Nicholas recently wrote a piece about the rise of the front end engineer (FE) as a legitimate engineering discipline in the age of the Internet. It’s a fascinating read, and I highly recommend anyone working with FE engineers to read both that article as well as his other post on working with software engineers. He briefly touches on some of the frustrations FEs deal with as they try to break into an industry driven by technical brilliance, but I feel that’s just the tip of the iceberg.

I recently went through a number of interviews at numerous companies around the valley, and one of the most frequently asked questions from both recruiters and prospective employers was “Why have you stayed at Yahoo so long?”. It’s a pointed question, and it was usually asked with a sense of both curiosity and incredulity. It’s easy to see why outsiders would have such an impression. Yahoo is consistently painted in a negative light to serve as an omen to other tech giants in the valley, as if to say “hey, this is what happens when you become complacent!”

My answer to the recruiter’s question was simple: talent. Because of the way Yahoo embraced FE as a rigorous discipline nearly 10 years ago, it became a breeding ground for the best FE talent in the valley. I don’t think I need to repeat what Nicholas said, but the huge amount of FE talent that was unearthed from within the depths of Yahoo is unequaled. Even as these pioneers left the nest, an incredible plethora of knowledge was passed on and retained, allowing Yahoo to become a haven of learning for the FE discipline. The fact that I was hired specifically as part of a special program to groom FE gurus says so much about the kind of culture that Yahoo has fostered.

With the explosion of HTML5/CSS3/JS and its acceptance as the UI stack of the future, I felt that FE had finally reached the grand stage. It seemed like heaven; there were numerous FE opportunities across the the Bay Area, and many companies had disciplined FE organizations due to the influence and migration of ex-Yahoos. Speaking with recruiters was also an empowering feeling! It was as if the industry had finally come to accept FE for what it was – a mix of engineering and creative, all rolled up into one neat package.

However, diving into phone screens and interviews I soon realized this to be only half true. Despite applying for a FE position, with a FE centric resume, I was subject to various questions asking me to demonstrate mastery of algorithms such that I could solve for X in O(n) time. I can appreciate the technical complexity of these types of questions, but I think asking these kinds of questions is extremely problematic. First, as a FE these are not the types of problems I solve on a day to day basis. To ask a FE to solve algorithmic problems is like asking your electrician to be your new personal plumber. Second, the unhealthy focus on technical chops over various other interpersonal skills sidelines a lot of really great candidates. I would much rather work with someone who is an effective team player and communicator, than a hero who is out to prove his technical brilliance. This is not to say there isn’t a bar, but the bar shouldn’t be set only by their technical ability (this however, is the topic of another post altogether…. perhaps we’ll come back to that later).

I’ve heard from many FE engineers that with the exception of the interview process, they have never again worked with algorithms within the scope of their work. So my question to interviewers out there: why is that we vet FE engineers by asking them to write algorithms and optimize database queries? Do we vet back end engineers by asking them to design CSS frameworks and optimize client code? What do we expect to gain from having potential FE candidates solve these types of problems? I understand the need to verify a good foundation of technical skills, but I don’t believe this is the right way.

The only answer that seems reasonable is to assume that “traditional” computer science concepts are still the most important pieces of knowledge an engineer can demonstrate. Even if that means biasing against the entire FE community, who have built their careers on skills learned on the job (or on personal time). I don’t want to call it elitism, but it is my opinion that many other disciplines including UI/UX/Product Development, are all negatively affected by this mindset to some degree. A few years ago Yahoo began an initiative to change this attitude by cooperating with iCarnegie to offer FE courses as part of a proper college curriculum. This would allow both current students as well as working students an unparalleled opportunity to better prepare themselves for a career in web development. It was a great idea, and one I wanted to pitch to my alma mater, UVa. I wrote to both the Dean of the Engineering School as well as residing UVA CS legend Anita Jones, neither of whom bothered to respond to my email. It was rather disappointing, although not entirely unexpected.

In my opinion, the rise of FE as a legitimate discipline means we must also find methods in which to vet FE engineers correctly. The algorithm based interviews are a pointless exercise which results in nothing useful for either side. I would much rather interviewers take a gander at Darcy Clark’s compendium of FE interview questions. It’s far more relevant to a FE engineer’s duties, and also serves as a much better indicator of a candidate’s overall mastery of FE concepts. As a prank, I would love to use this material to interview a BE engineer. Just the thought of a squeamish BE engineer tickles my bones. :)

Post #1

Hi all, we’ve started this blog here to really write and rant about anything related to life here in Silicon Valley. It’s been close to 10 years since I last blogged, so there might be a bit of a rocky start! Hopefully we’ll get this thing running smoothly soon. :)

We don’t particularly have any one agenda here, but there will definitely be a focus on coding, technical topics, and anything else relevant to life in IT. With that said, let’s get the ball rolling!