Live data from Hacker News

I Don’t Believe in Full-Stack Engineering

robinrendle.com

121–130 of 199 posts

Re: I Don’t Believe in Full-Stack Engineering

#121

This is a weird rant. He is complaining that someone who does many things won't be as good in front-end as someone who does only front end. ...ok? Nobody expects full stack engineer to be all that great in front-end. That's why he is not a front end engineer. Vice versa he won't probably be all that good in SQL or in administration and devops. I am not even sure what is this guy complaining about exactly

Disagree. I expect full-stack developers to be _great_ at frontend, and _capable enough_ to build the backend. When resources are constrained you want the customer-facing side of the product to be a priority.

So you like putting lipstick on a pig.

Re: I Don’t Believe in Full-Stack Engineering

#122
post #88

Earlier quoted context omitted.

I'm sure your reasons are valid, but I laughed a bit when I read that you use Oracle and don't have the budget for more people.

> I laughed a bit when I read that you use Oracle and don't have the budget for more people. Why? Because you believe the former causes the latter? There are many valid criticisms to be levied against Oracle the company, enteprise software in general, and especially its pricing. However, it's important to remember that, for many businesses, it's either impractical or downright impossible to hire enough engineers to m…

for many businesses, it's either impractical or downright impossible to [...] make up for [...] features of replacing Oracle

I would have granted you this if you'd said "for a few specialized businesses", but you're waaay overselling it. 99.9% of businesses using Oracle would do just fine with a "lesser database".

Re: I Don’t Believe in Full-Stack Engineering

#123
Yes, there is such a thing as a full-stack engineer. They'll cost you a lot of money (or equity), but will spare you from herding an entire room of specialists early on.

As products and teams scale up, cross-stack expertise becomes far less valuable than domain expertise and institutional knowledge.

This post also leaves off another area that I'd expect of a senior full-stack developer: Infrastructure/Ops.

Re: I Don’t Believe in Full-Stack Engineering

#124
post #47

Earlier quoted context omitted.

That 6 week deadline is always going to be 18-20 in reality

not always. Just finished up a 7 week deadline in 12. 2x in my experience has been a fairly reliable estimate. A 3-4x project has either gone completely out of scope or was poorly estimated. And it’s not always the development team’s fault. Sometimes the client is not timely, or even habitually late with deliverables. Unless you’ve worked with them before and know what to expect, give the client a timeline of X but q…

Estimates are interesting and I encourage anybody to play with the statistics to see how it works. There are 2 scenarios you need to consider. First is the scenario where the stake holder asks for something, the thing is possible (i.e. it's a matter of working on it until it's done), they don't change their mind, the team doesn't have some kind of emotional incident (like people refusing to work together, someone having a serious health issue, etc). In that case you can split down the overall task into many sub-tasks and estimate each one. Each sub-task estimate will have a high variance, but the more sub-tasks you break it down into, the less variance the resulting overall estimate will have.

The key thing to understand is that while the overall variance will be small, you don't know what the multiplier will be. For teams that you are familiar with, technology that you are familiar with, etc, etc, in my experience people do tend to come out with about the same overall multiplier. Different teams are vastly different, though. I've had teams that operated anywhere from 0.5x (i.e. they overestimated by a factor of 2) to 4.0x (i.e. they underestimated by a factor of 4). It's always best to keep measuring your team's performance to figure out what the best multiplier to use (this is what's known as "load average" in some "agile" systems -- the inverse is "velocity"). Care must be taken to dissuade people from trying to optimise the load average/velocity because it will undermine your estimations -- usually I don't tell people what it is.

Now the other scenario is also fascinating, but requires much less statistics to understand well. Basically this is when the stake holder constantly inserts urgent requests, or cancels tasks mid-development because they thought of something better. Or when your team sits around for 5 days arguing about whether to indent with spaces or tabs. Or upper management decides to "accelerate" the process by constantly inserting new members into the team. Or someone intentionally tries to sabotage your project because they have a "competing" project in the company (or possibly just because they see you as a threat to their eventually triumphant march to the heights of the org chart). Or your lead developer decides that today is the day to institute a national "bring a firearm to work" day. In those cases your schedule is fiction, no matter what process you used to create it.

BTW, all of those things have happened on teams I was on in my career :-). Incidentally, not having a firing pin in a weapon is not considered evidence that it was "just a joke", strangely enough...

Re: I Don’t Believe in Full-Stack Engineering

#125
post #88

Earlier quoted context omitted.

> I laughed a bit when I read that you use Oracle and don't have the budget for more people. Why? Because you believe the former causes the latter? There are many valid criticisms to be levied against Oracle the company, enteprise software in general, and especially its pricing. However, it's important to remember that, for many businesses, it's either impractical or downright impossible to hire enough engineers to m…

for many businesses, it's either impractical or downright impossible to [...] make up for [...] features of replacing Oracle I would have granted you this if you'd said "for a few specialized businesses", but you're waaay overselling it. 99.9% of businesses using Oracle would do just fine with a "lesser database".

> would do just fine with a "lesser database"

And I would grant you that if you could make the credible argument that a "lesser" [1] database could be a suitable replacement on a drop-in basis, without significant engineering effort.

As I pointed out in a downthread comment, a very useful feature is that existing stored procedure that encode business logic already work.

Are you really saying that only 0.1% of business database users fall into even that category? My second-hand (DBA I know) experience contradicts this, but if you have a better source, I'm certainly interested.

[1] I don't actually intend to make any overall value judgment, since my point isn't that Oracle has feature/performance superiority over any other database. Instead, I'm saying that it has specific features that the business needed at the time it was chosen that may not be offered by a different one.

Re: I Don’t Believe in Full-Stack Engineering

#127
post #39

I disagree with the article. It's a 1,000 word false dichotomy between Full Stack vs. Insert Specialist Here. Sure, if you're a Fortune 500 company, go ahead and hire a DBA, Cloud Architect, Backend Engineer, UI/UX Designer, Graphic Artist, Social Media Marketer, etc. You'll have a few million $ in salary overhead. It may take longer to produce a final product. BUT, it will probably be way better than a product that…

Unless your numbers are completely random just for the example, deciding to run an 1,000 hour project with 10 people is a disaster by itself. How would you involve 10 people in a short 3-4 weeks project?

One validator, six testers, three developers. Not at all uncommon in certain industries.

Re: I Don’t Believe in Full-Stack Engineering

#128
There are full stack engineers, lots of them. This article is extremely narrow minded. It's like saying that there are no nuclear scientists because you've never met one personally.

I remember the last big company I worked for, they asked me "What are you: Front end or Back end?" and when I said that I could do either equally well, they said something like "Lots of people claim to be both but you can be honest with us, which one are you really?“.

I ended up doing only front end at that company for a while then got bored and quit. My next company I did full stack and they actually got to see the benefits of letting engineers use ALL of their skills.

Re: I Don’t Believe in Full-Stack Engineering

#129
post #125

Earlier quoted context omitted.

for many businesses, it's either impractical or downright impossible to [...] make up for [...] features of replacing Oracle I would have granted you this if you'd said "for a few specialized businesses", but you're waaay overselling it. 99.9% of businesses using Oracle would do just fine with a "lesser database".

> would do just fine with a "lesser database" And I would grant you that if you could make the credible argument that a "lesser" [1] database could be a suitable replacement on a drop-in basis, without significant engineering effort. As I pointed out in a downthread comment, a very useful feature is that existing stored procedure that encode business logic already work. Are you really saying that only 0.1% of busines…

Of course once you already have application an built around a platform, the switching costs can be high. See also: IE6. No argument from me there.

But Oracle doesn't sell their product with the pitch "hahaha too bad you're stuck with us". They try to convince the next generation of ill-informed technology leaders that it would be a mistake to choose anything else. I've heard the pitch, and by the third time I heard "invest in Oracle RAC" I was consciously suppressing the urge to punch the salesman.

I'm saying that 99.9% of Oracle customers would have been significantly better off from a cost, flexibility, and support perspective going with an alternative like Postgres when they started building their product. And most of the remaining 0.1% would have been better off with MSSQL.

Re: I Don’t Believe in Full-Stack Engineering

#130
post #76
post #23

This article is conflating junior developers with full-stack engineering. I work on the entire stack. Can I work with databases and write queries? Sure. Can I do it as well as a data architect? No. That's not what's expected of a full stack engineer. We can have meaningful, productive discussions with everyone on all parts of the stack. We'll talk with the data architect, write/tweak a query if we need to, we'll talk…

Agreed. I would also add, I don't think frontend vs backend accurately describes how skillsets are clustered anymore -- especially with JavaScript's increasing ubiquity. I would cluster skillsets into: ops, development, and design. Ops: making things highly available, logging, performance monitoring, reliability, deployment scripts Development: Writing code on both frontend and backend. Design: Visual design and CSS/…

I think the crossover between frontend and backend is less effective than you imagine. Generally a backend dev writes horrible frontend code and viceversa.

A very senior backend person will probably know many things about ops and frontend, but probably not about design.

A very senior frontend person will probably know a lot about design, UX and have a good enough experience with backend, but is probably not going to implement good ops practices.

Post reply on HN