DEV Community

Trouble finding good front end dev

Nika Ptushkina on April 11, 2022

Hi everyone, I work for a tech startup and we've recently been looking for a front end dev to hire full time or part time for our software platfor...
Collapse
 
tsvetanganev profile image
Tsvetan Ganev

I can't tell you without looking at the job offer you're posting, but I can share a list of things that I find as a red flag:

  • salary range not included (personal opinion)
  • no option for working remotely (personal opinion)
  • tech stack is not mentioned or includes legacy technologies that no one wants to work with
  • silly mistakes about technology, e.g. typos in programming language names or absurd/wrong statements
  • requesting too many skills and too broad knowledge that is irrelevant for the role (such things should be optional or mentioned as a bonus)
  • using too many buzzwords just for the sake of it
  • no information about the product your company is building
  • the company has a shitty website or no online presence
Collapse
 
darkwiiplayer profile image
𒎏Wii 🏳️‍⚧️

Requirement: at least 10 years of experience with Rails 7

...and things like that :D

Collapse
 
gabrielmlinassi profile image
Gabriel Linassi • Edited

I always check this one: the company has a shitty website or no online presence

Collapse
 
nikaptushkina profile image
Nika Ptushkina • Edited

Thanks @tsvetanganev! Really helpful. Also, where do you usually look for jobs? Which platform is best to post to? Also, any idea on good salary ranges?

Collapse
 
tsvetanganev profile image
Tsvetan Ganev

Lots of these depend on where the candidate lives and where the company operates. I usually look at a specialized job board for developers which is popular in my country. Sometimes I find interesting job postings on Twitter as well. Nothing can beat personal recommendation from a friend though - HR people often hide unpleasant details about working at the company or simply aren't aware of the problems that the development team is struggling with.

About salary ranges - again that really depends on where the candidate lives - some people might be top 1% earners in their country with a salary that is considered really low for US or Canada. However, some companies can't hire people abroad due to legal obstructions or time zone differences. It's best to open a job board in your country and look at similar job offerings with declared salaries.

Collapse
 
nikaptushkina profile image
Nika Ptushkina

@tsvetanganev , @jesterxl ,@gabrielmlinassi , @aarone4 , @keithhirst , @jamesthomson ,and @wjk22
Thank you so so much for your comments!

I posted a new job post on LinkedIn. Hopefully we get some new good applicants soon.

Collapse
 
jesterxl profile image
Jesse Warden • Edited

It depends too on what "a front end dev" means to you. It's quite a large and varied spectrum and this inevitably leads to a lot of discussion of "what does it mean to you?"

For example, I've had tons of interviews the past few years, and it's changed depending on who I'm talking to. Examples:

  1. "We're looking for someone who can make pixel perfect designs in HTML/CSS from design comps." Yeah, that's not me, I'm a web dev." "What do you mean, web devs don't do that?" "I build Gmail, or YouTube video players, I don't implement pixel perfect designs with deft CSS knowledge. You want more of a web designer, someone who's comfortable with all the CSS hoopla and has an appreciation for design so can work with the design (perhaps they even are the designer) to get the design right for web and various breakpoints."

  2. "So... what do you do exactly, I'm unclear. You say you're a programmer, but don't do mobile development? I'm confused." "If you want to build Gmail or Trello, I'm your guy. If you want someone to build mobile apps, you'll need a Swift/Objective C developer".

  3. "We need someone to build web components." "Ah, great, I can do that. What is your tech stack?" "TypeScript and Lit element". "Perfect!"

  4. "We need someone to build web interfaces." "Ah, great, I can do that. What is your tech stack?" "TypeScript and React". "Gross." "Excuse me? You don't like React or TypeScript?" "No. Y'all sound like a cool place, though, try talking to these potential candidates I know instead".

  5. "We need someone to build web interfaces for our clients." "Ah, great, I can do that. What is the client's tech stack?" "Typically .NET." "Da fuq? Dude, that's not building single page applications, that's just... like... websites using C#. I use JavaScript/HTML/ and CSS in a single page app. I don't need a server, all state is on the client, and occasionally I'll create a back-end for front-end to massage the data to keep the UI code dumb and flexible." "Er, so you don't like .NET?" ":: heavy sigh ::"

This is the tip of the iceberg; everyone has their own stack, spectrum, how they approach "front-end dev". So if you post a job to 50,000 devs, you won't immediately "have a pool of 50,000 devs". Many will have a different definition of what front-end means to them. More importantly, what you think is good about their skills (grammar/spelling on resumes aside, that should be a given, no doubt). For example, I don't really care my CSS chops aren't that great; I don't care, I work typically with web designers who are really good at that stuff, and I get to focus on the fun code and Ops stuff. For some jobs, that's great. For others, that won't work at all. But I "do front-end dev". So do my web design skilled co-workers who's brain melts when I explain Onion/Hexagonal architectures in regardless of serverless for the sake of getting JSON in a single HTTP call for our UI vs. having to make 12. My brain melts when they explain CSS grid row changes to handle moving boxes at various breakpoints.

Best to list out the tech stack you're using, how you use it (client side React vs SSR React vs hybrid Remix/Nest.js), language like JavaScript, TypeScript, or both, server-side stack you're UI is hitting, and CSS workflow (SASS/LESS/Bootstrap framework, or something in the middle like Tailwind/CSS-in-JS), if the gig is remote or not, and what the current team make up is and where they see the candidate fitting. Sometimes candidates and team adjust with the new team member, so it's not always non-malleable. That'll certainly narrow who you're looking for, and significantly reduce the candidates, but that's what you want.

... , it's impossible to hire right now, it's not just you, lol

Also, like others have stated, yes, networking is king. However, posting EVERYWHERE helps too like Twitter, LinkedIn, Reddit, etc. including local job sites, going in person to local user groups to pitch the job in person. While you may not get a candidate, you will get networking contacts who can put the word out and introduce to you others. Local recruiters who actually care and have a personality and dig their job are great as well.

Good luck, hiring is hard.

Collapse
 
nikaptushkina profile image
Nika Ptushkina

@jesterxl thank you so much for your answer! Incredibly helpful. I never thought about all the different meanings behind web development.

I had a quick follow up question, if you have some time to answer.
We're a startup and mostly have worked on the back-end of our software. We're basically looking to change our tech stack. Do you think it would be good to include in the job posting something about us being open to the candidates recommending and persuading us on a tech stack. Or, should we just pick our own?

Collapse
 
jesterxl profile image
Jesse Warden • Edited

Hell yeah, dream come true for a lot of us who "want to use X tech with Y build system deployed to Z back-end using A language there". Green field is fun, no matter your experience level. It's also a competitive advantage for startups. Meaning, I can't go use Elm/ReScript/Roc/Haskell/Elixir at at bank, but a startup is all like "Dude, we don't care, nor do our users, just make our users happy so we can have a successful product". That means you'll get people who want to build vs. people who just want a paycheck. For example, a Senior Director I worked with at Capital One left to go work at a startup because he could control the tech stack; like the whole thing, not just the CSS framework. An individual contributor at his level, that type of opportunity is far and between so when you see it, people us will POUNCE.

I'd cite the startup angle too as many who are experienced "get" that you'll wear many more hats there vs. "just a front-end person"; meaning they may have to get their hands dirty building a CICD pipeline, debug some back-end stuff, do more CSS than normal (oh gawd... no... NOOOOOoOoO), and have a way more healthy relationship with Business/Product. Some love that level of ownership and responsibility. I'll ignore all the negatives because they know what they're signing up for.

For example, saying "Angular" will attract people passionate in Angular. You want passion, sure. However, what if there was a React dev and she had a bad experience with Angular... but could totally crush any problem you threw at her? Maybe allowing her to use React is better? There's no right answer there because maybe y'all dig Angular and are like "look, if you know React, we can teach you Angular". Again, some don't have loyalty, where others, like me, treat UI frameworks like Sports Teams and will die on completely ridiculous philosophical hills "because my favorite toy!".

Same goes for programming languages, AWS vs. Azure, blah blah blah. For some it's honey, others it's ... whatever is the opposite of honey in the metaphor. Sometimes the opened endedness is an attraction to the role (like me having an agenda to help define it) and others who are bored and don't really care and just want to code more and manage less and don't really care about the tech stack.

"pick your own" That's your call. There are extremes, sure. Let's do the Benjamin Franklin sales technique; list all the pros and cons, whichever has more pro's, do it.

Choosing React + TypeScript + Express.js + ECS + Material Design UI + Github

Pros? Everyone knows React. TypeScript is easily learned if you know JavaScript or any typed language like Java/C#. Your hiring pool is extremely large, React is still popular, and the community library/framework support is huge, with Facebook still continuing to be a consistent supporter of open source in React. Express.js, same, with tons of plugins to fix functionality and cyber needs. ECS on AWS means you can "scale with the money" to extremely high Transactions Per Second. Material Design has good documentation on UX from Google, and the components are pretty good for React. What's not to love here?

Cons? Some only like React "with their state management philosophy" like Redux, or Easy Peasy or MobX or Context only, blah blah blah. Some still are die hard class fans. Some may be awesome Angular people any startup would be lucky to get and you're negating them because of their framework choice. Some like me who like others will see "React" in the job posting and stop reading. Maybe you don't even need a Single Page App? Maybe you actually need a website, and it'd be better using Wordpress, a SSR /Jamstack style site using Netlify. Maybe a hybrid of the two, and what you need is more of a CMS style developer who's familiar with Drupal/Wordpress/Salesforce and gets that things like SEO and page speed can help in those scenarios. React people are super diverse too, and there are many camps of "SSR only" or "UI only because state on the client is best for user" and "Do both using REMIX yay!". What diversity are we losing here by making a hard claim on React? Now... Express.js, sure, but it's a monolith. Do you really need that huge TPS ability before you've even gotten to market? What really is your new user base? Do you really need ECS? Maybe just a few serverless Lambda's + API Gateway, maybe a simple Amplify stack is good enough to get to market? How does that all work using Github when AWS has more appropriate things like Terraform/CloudFormation/SAM/CDK/Serverless?

Here's the opposite angle using the REGAL stack:
ReScript + Elm + GraphQL + AWS Amplify/AppSync + Lambda

Pro's? Deterministic code where 90% of your bugs will be in the microservice layer (Elm + ReScript + GraphQL types ensure all your bugs are logic bugs, not runtime exceptions). Serverless, so easier to twist some knobs and scale based on price vs. the insane Unix level know how of scaling Node.js/Go/Elixir horizontally on an EC2 you'd do in ECS. Same for security; your libraries are your problem, sure, but Node.js/Python/whatever is managed by AWS; same for up time. GraphQL ensures your UI and API types are the same and the architecture can be mostly reactive, in a monorepo, but still deployed like microservices.

Con's? Elm is super fringe. ReScript is even more fringe. Functional Programming is a minority despite the slow rise of borrowed ideas in languages. Who are you going to hire if your main dev quits? Who in this large pool would actually either know that Hipster Tech Stack OR be willing to learn it? The "hit by a bus" scenario is more scary here, but maybe that's a trade off your willing to make because your a startup and will take anyone willing to have passion behind your business idea? GraphQL is super complex because it's all about the types and resolving to those shapes. REST is super old, why not just a library like fetch and POST your JSON directly in the body? Simpler, eh? We don't about strong types early because our design changes so often, right?

Those are extremes, but you can see the nuance I hope.

Collapse
 
aarone4 profile image
Aaron Reese

In the UK I only ever look on Jobserve. They have by far the best interface on both desktop (filters and list on left, active job on right, save to cart, negative search criteria) and on mobile (swipe left and right to scroll through job list)
As already stated. What you do, full tech stack and salary/ location are vital. It is a seller's market so you need to persuade me to work for you rather than me beg for a job)

Collapse
 
keithhirst profile image
Keith Hirst

From reading the listing and understanding more of your requirements from the comments, I feel you don't want an entry level Dev despite you putting that.

Entry level needs someone there to support and grow that person. This could have a big impact on the quality of candidates.

I honestly don't know about the best places to hear about jobs, but most seem to come from LinkedIn.

Collapse
 
jamesthomson profile image
James Thomson

The other comments are spot on, but to add a bit of why you may not be getting quality leads, based on the job posting and to be 100% honest, it doesn't shout "this could be a great place to work". We can see what requirements you want from candidates, but what about what you offer?

Our field has become extremely competitive so you need to be upfront about how you address that as a company. What's the salary range? What kind of perks do you offer? It says "remote is negotiable", but what's that mean?

Basically, what is exciting about working for your company that would make me want to work there over XYZ company that offers all of the above and then some. I know for myself I won't even bother applying to a company that isn't entirely transparent in this regard (Senior FE dev, 15+ years exp.)

Collapse
 
wjk22 profile image
Wojtek Kalka • Edited

Good developers are rare in general, well good sophisticated people in their own subjects in any subject are rare :) .. that is just the way it is. My life experience is that most good people have a job already so best way is to look for them in other companies and offer them more :).

Collapse
 
curiousdev profile image
CuriousDev

Just a question, why are you not looking also for people, who appear to be motivated learners? Maybe you already have some experienced team members, who can train them in addition.

Collapse
 
nikaptushkina profile image
Nika Ptushkina

Well, we're a startup, and don't have a team skilled in this area to teach the new hire. Although, we are not opposed to candidates who have less experience, as long as their portfolio is well executed and they fit in culture wise.