Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'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.



Commonly, 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.


Agreed. 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).


> 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 [...] I suspect that many more successful startups will start needing people who can do the algorithmic heavy lifting.

Couldn't agree more with you. Most of the current generation of start-ups is extremely boring. Quite frankly, looking at Techcrunch headlines is depressing. When you look at job requirements they post it's pretty much the same: they're looking for people to write CRUD screens in scripting languages. The current crop isn't about technology, it isn't about the people who enjoy writing non-trivial software and couldn't be happier that some one out there is willing to pay them for it (e.g., people mentioned in Graham's Great Hackers essay; reading that essay felt like music to my ears when I first read it and got me interested in the idea of startups in the first place).

This is opposed to those who see technology as just a means to wealth creation (and there is absolutely nothing wrong with that, there are plenty of "boring" problems that nonetheless benefit humanity when they're solved). That's not to say the founders aren't smart: many are coming from top schools, leaving Google etc... to start their companies; that makes it even more explicit that they're not there to solve interesting problems, they're there for something else. It looks like an awful waste of talent.

Out of the web 2.0 crowd, when you look at the successes, you'll also notice that they're ones solving non-trivial problems (machine learning/recommendation systems, graph algorithms, scalability and efficiency, etc...).

I'd love to see more technology startups emerge (i.e., those who do something technology-wise that no one else dares to try). It's a riskier route, but it's also more rewarding: you'll be able to attract more passionate people who would be more willing to actually take the risk even if the pot of gold isn't in sight (e.g., without VC funding a 100mm+ valuation).


As a founder of a startup in the "boring" category, I really disagree with your take on this.

I used to be all about the great technological breakthroughs, the really cool algorithms, all the stuff you mention. But as I got older, my interests shifted to other areas: making kickass applications that people love, designing usable interfaces, etc.

"[T]hat makes it even more explicit that they're not there to solve interesting problems, they're there for something else. It looks like an awful waste of talent."

See, that's where I disagree. I think it takes a great deal of talent to create software that helps people. It takes different talent than creating a great algorithm, but it definitely takes talent. That's why so much software has terrible interfaces and is an unusable mess.

And it takes even more talent to create something which truly shapes humanity. A lot of the companies that have made the biggest impact have no technological breakthroughs whatsoever: it's all breakthrough on all those "boring" things. Wikipedia, Facebook, Twitter, they've all done amazing things by solving "trivial" problems.

</rant> :)


I cant agree with this comment more, even when I look at the problems that exist in my life (which is far more inclined to be technical than average), not a whole lot of them require technical breakthroughs or "exciting programming".

Music and TV streaming would be one for me that has only been solved recently for me (by spotify and tvcatchup), the streaming problems have been long solved, but convincing the stakeholders to be a part of this business took a long time with many failed attempts, even now spotify arent able to launch in the US because of these problems.

Online banking and micropayments would be another problem in that category that has not been solved as yet. while writing an online bank is hard, it is still at the core a crud system, however its impact on users lives are massive.

While I do love programming, I have come to realise it isnt the technical challenge I enjoy, its the benefits I can bring to peoples lives that I really enjoy.


Yeah - That's a pet-peeve of mine: frontend and backend are entirely contextual. Some people would say backend about server side code. Other might split the server side code into two. Some times your application uses web services; Then people often refer to those as being backend for your application. Without further qualification, the words are meaningless.


I met with an angel once who seemed to feel frontend meant suits and backend meant coders. I completely misunderstood his question because I was thinking of the coders' definition of the terms.


Are you sure he wasn't talking about front-office vs. back-office?


Nope, never really followed up on it. We were just having an informal chat and that part was clearly confusing to both of us.


I've heard the same use of the words, although I don't recall the context. Pretty sure he was a suit though.


That's a very good definition. And by that definition I can clearly align myself to one of the two sides (front-end). I wish everyone would use it.

On the other hand I think most people are using the terms a bit differently. A front-end developer is a bit of what used to be called a web designer (html/css+ "photoshop" skills) with javascript newly added that's used just for client-side UI.

The backend people handle the database, business logic and everything else that's on the server. It actually seems like this world doesn't need those domain-specific algorithms people.

With this definition, I prefer to work on the backend, but I can also work on the front-end.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: