6 ms·
Startups: Don’t Hire Frontend or Backend Webdevs
- deleted 16y ago[deleted]
- Tawheed 16y agoSynthesis: hire hackers, not specialized coders. I think this advice goes beyond just programmers. Instead of a hard-core programmer, try to find someone that does CSS and Design too and isn't afraid to load up Photoshop. Take that a step further and try to find someone that can also talk to users, and you've got the holy grail of a startup employee.
- deleted 16y ago[deleted]
- deleted 16y ago[deleted]
- dotBen 16y agoYep, absolutely. But in reality there aren't that many brilliant developers who can do both with skill and you are lucky if you can find them AND convince them to join you. To attract those, you're going to have to have a big offer (both remuneration and the nature of the startup) to attract these folks. Another school of thought is find back-end devs that can do some ops (although yes, it's ideal to have that as a separate position if possible) and front-end devs who can also do UI design and usability. You will need these two hats too.
- aaronblohowiak 16y agogreat front-end devs are sooooo rare.
- troygoode 16y agoThe problem with this notion - as mentioned by a few people in the article's comments - is that it is difficult to find developers with a high level of expertise for both sides of the fence. Is it worth the extra expenditure of time in the hiring process to look for two people who are good in both realms? Or is it better to spend less time looking for one front-end expert (with passable server skills) and one server-side expert (with passable client skills)? My experience interviewing/hiring suggests the latter. I will concede the obvious: if you find someone who is great on both sides, HIRE THEM. If you are lucky enough to hire that person, don't pigeon hole them.
- btmorex 16y agoYou can also just hire someone who's smart and willing to learn. I mean web development isn't that hard. I know everyone wants to hire someone who meets every single one of their many requirements (we've all seen the job ads), but realistically how long is it going to take a smart developer to pickup say Javascript + whatever APIs you're using? A few weeks? You could easily spend months trying to find the perfect hire.
- mattmanser 16y agolol, web development isn't that hard? Dream on.
- oscardelben 16y agoIt's not that hard compared to other skills. Anyway web development includes a lot of stuff, and you can really go low level if you have to implement algorithms and address scalability.
- digitallogic 16y ago> If you are lucky enough to hire that person, don't pigeon hole them. I was thinking the same thing after reading "You’d be much better off getting one of your kickass API developers to spend a little time on the website portion, which would free salary space to hire another kickass API developer.". My immediate thought is that you'd now have a front end developer. Unfortunately, it is your former API developer turned reluctant front-end designer, who is likely annoyed that his job description changed midstream.
- jgilliam 16y agoWhat I've found works well for me, and is gettable, is a designer who can do HTML/CSS/light Javascript. Then I do the rest.
- ibejoeb 16y ago> Most small startups (by which I mean fewer than 20 people) don’t have enough work to justify splitting the team into frontend and backend components I disagree. Most startups have a ton of work, but they often don't have the money or the structure to support a large engineering team. Those switch hitters that traverse the stack are really important for these situations. There's an added benefit, too. Since one gets to that level by having done a lot of different jobs in a lot of depth, that "macro" view tends to be extremely valuable in sustaining the technology through growth.
- nostrademons 16y agoI'm kinda curious if his definition of "frontend" developers is the same as mine. To me, the frontend includes everything up to the purely-computational algorithms and storage of the website. That's the HTML/CSS/JS, but also the webserver/webframework, RPC system, or database API (but not the database itself). Rails is a frontend technology. I consider backend work to the computationally-intensive part. Data mining, machine learning, information retrieval, any domain-specific algorithms. High performance storage systems. Managing server clusters. It's very, very difficult to find both skillsets in the same person, because both skillsets have incredible depth, particularly if you also want the breadth that a pivoting startup will require. I'm wondering if his idea of a startup is the typical web 2.0 startup, where you slap a web framework on top of a database. Those startups are essentially all frontend - in that case, it doesn't really make sense to hire "frontend" or "backend" devs, just pretend that the whole world is frontend. There's nothing wrong with a startup like that - mine was, as are most gaming, social network, or social news sites (many iPhone/Android apps too, where frontend in that case is the mobile SDK). But that space is getting increasingly crowded; I suspect that many more successful startups will start needing people who can do the algorithmic heavy lifting.
- deleted 16y ago[deleted]
- aaronblohowiak 16y agoCommonly, in 2.0 shops of few people: Client-side -> "frontend" Server-side -> "backend" You're right that when the server-side gets nontrivial you need to stratify the architecture and the role definitions for the participants. At that point, "backend" means a just what you describe, and the business logic implementors are building what I'd call the middle-tier; it is seldom more than ORM retrieval, formatting and validation. When you start involving ETL, algos, complex "systems" programming, deep integration with external vendors then you leave this paradigm and start having "real" backend devs.
- modoc 16y agoAgreed. In my mind "front end" is HTML, JSP, CSS, JS/AJAX, Design, browser compatibility, etc... "Back end" is business logic/code development (Java in my case).
- tonystubblebine 16y agoI have a five person team and the fifth person, a front end developer, is a frickin' godsend. He has a design sense. He knocks out new designs and design changes in minutes whereas the rest of us take days to come up with crummy looking updates. My lesson in this: as you grow you'll find your team has holes that need patching. Go and patch them.
- mattew 16y agoSo many developers underestimate the need for good, quality visual design and aesthetics in their work. In my experience most non programmers evaluate something first on how it looks, and if it doesn't look good, they won't be interested in how well it actually works. Most programmers on the other hand seem first to be interested in how well it works, without taking into account the look and feel.
- johnrob 16y agoI'm surprised this isn't one of the main concepts that repeatedly gets mention on this site. We obsess over 'make something people want', but never drill down deeper. Good design can go a long way toward making people want something. I'm willing to bet that mint.com got a fair amount of popularity (and memorability) because it was so nice to look at.
- aaronblohowiak 16y agoIt really depends on the market and your positioning in the market. pg's startup didn't have awesome design, but it served a need that people had in a way that worked. "make something people want" doesn't have to mean "make something mass-marketable", though it frequently does.
- limedaring 16y agoAgree with this. The front-end developer position should include design as well (as all web designers should have strong HTML/CSS skills anyways to correctly do their job).
- efsavage 16y ago"Most small startups (by which I mean fewer than 20 people) don’t have enough work..." What? WTH kind of startup is short on stuff to do? If you have 2 general-purpose devs, they're going to be 100% busy. if you have 1 front-end and 1 back-end dev, they're going to be 100% busy. If you add another dev, that person is going to be 100% busy, whether they're front-end or back-end.
- nerme 16y agoIf there are two guys, one guy working on server-side code and another guy working on client-side code, either side could get held up waiting for the other guy to finish his part of the project. Even if people aren't waiting around for something to be completed by someone else there is an overhead in communication. "Oh, you wanted the LIs to have that class name? Well I've got to go fix my CSS now... gimme a few minutes."
- iamdave 16y agoThe point being missed is this: Does the flexibility of your salary options translate to a better product, or does a better product translate to the flexibility of your salary options? If your answer is the latter, then it makes much more sense to hire front-end and back-end developers to focus on their respective niches; front-end devs focus on making the product usable and keeping users engaged. Back-end devs focus on making sure the product functions, builds features that evolve out of user interaction and keeps those features running. When you try to combine these niches and ask a guy to play both front-end and back in his priorities become conflicting and your product becomes one of those sites that was either "Built by a designer" or "Designed by a developer". Don't hire an architect to do an engineer's job, is what I'm saying. They play similar roles, but they have very different focuses that can directly impact the final product. Exceptions exist.
- terra_t 16y agoIn my experience, successful RIAs require close co-design between 'client' and 'server' components. Many people think they can "encapsulate" these issues away but distributed systems break most people's assumption. You can have people who are database experts, Flash or HTML "designers" or mad javascript, actionscript or Silverlight coders -- but if there isn't somebody in charge who understands distributed systems and the restrictions that exist on RIAs, you are d00med.
- d0m 16y agoI don't really agree. Front-end web developer have totally different skill than back-end developer. In a startup where there are few employees, the front-end developer can work extremely well on "design" part of all aspect of the company.. Video sh outcast, publicity, marketing, even building design. As, back-end developer can do a lot more then back-end service.. they can work on backup, administrative unix task, optimizing task, inner-house tools, etc etc. So I think it's more like: Design=front-end, ComputerGeekStuff=Back-end.. and it's really rare to find someone that does both of those things.
- dasil003 16y agoI agree with the idea that specialists are probably not a good fit for an early stage startup. There are a lot of hats to wear. But front-end vs back-end is a false dichotomy. If you can get your hands on a brilliant illustrator who can also do pixel icon design as well as strong layout and UX , then even if their HTML skills are shakey they're going to be a strong asset. Similarly, if you have a back-end dev who writes really solid, performant, maintainable code and can handle infrastructure and sysadmin work (eyeballs drifting involuntarily in Zed's direction) then who cares if he has no experience stitching together CRUD apps with the framework dujour. In other words, hire the best people you can get your hands on and put their skills to use.
- hammerdr 16y agoYes! Draft for talent, not for needs. This has been proven time and time again that people that grab the top talent in a limited talent pool (rather than trying to address their perceived needs) are the most likely to succeed. The best analogy is sports. In (American) football, the Colts' Bill Polian regularly uses this strategy in the draft. In football, ManU's Sir Alex has a strategy to acquire what he calls "characters." While you may not like either of these teams (I love them both! :) you cannot deny that they have been among the most dominant franchises under their managers. The real challenge is to somehow identify the best talent! :)
- arijo 16y agoI think there's a bit of confusion here between designer and front end developer. A front end developer to me is someone with extraordinary javascript skills capable of working on new generation rich client/thin server web applications. http://www.javascriptmvc.com http://www.javascriptmvc.com is an example of a javascript framework a front end developer would use to build this next level type of applications.
- deleted 16y ago[deleted]
- rdl 16y agoFor a consumer web app, I would split it into a Product Designer (someone who can do art, UI design, product concept, workflow, html/css/js), and a developer (who does some js, all server side work, and the related tools. Finding the product designer is going to be the hard part -- there are a very limited number of visually oriented product designers who can also code. I think that person should either be a cofounder or hired as first employee with 1-5% of equity; on par with a later VP Engineering hire.
- wookiehangover 16y agoGod forbid you're grouped into a caste of skill sets based on experience and/or expertise. If you started off with a homogenous group of developers and set them to work on building an MVC app, the group would eventually split into who favors scripting, css and markup versus those who prefer writing business logic. Hire what your team needs. If you need a duct tape dude who can do a little bit of everything, great. If you actually assemble an entire team of those guys, good luck.
- heatdeath 16y agoFrontend and backend are different skill sets and proficiencies. Backend is more analytic, frontend is more aesthetic. I've never worked at a company that didn't have this distinction; people tend to naturally go one way or the other.