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

Classic.

By the way, the same applies to software: If any developer can say they're "full-stack" without further specification (i.e, they're full-stack everything) with a straight face, than they should be punished by being given $200 or less of electronic components and a processor of their choice, and asked to make a webapp. No external libraries, that's cheating. Maybe give them an assembler if you start feeling sorry for them.



I think you're misunderstanding the meaning of 'stack' in "full-stack".

The 'stack' in full-stack refers to a solution stack. You can read about them here: https://en.wikipedia.org/wiki/Solution_stack

The terminology full-stack is meaningful to discern between an expert at one part of the stack and someone who knows how to set up and manage all parts of the stack. For example, consider the LAMP stack:

Linux Apache MySql PHP

A Full-Stack developer is someone who knows enough Linux to set up an Apache server and MySql database, enough MySql to create a database, enough PHP to render a decent web page.

On the other hand, a frontend developer knows the gritty details about how to render a beautiful and performant webpage that works on IE6, iPhones on 2G and your 4k monitor.


I said if you say "full-stack" and don't qualify it, thus implying that you're a full-stack everything.


In order to feel smart, deliberately misinterpret what someone says.

This is easy if there are multiple possible interpretations. Just pick the one that makes the least sense.

That way, instead of having to address their statement you can just pick on their communication skills.


Erm. No. I just misread the post.

Oh well. Sorry.


Only if the listener is an idiot.


Cute. Short, witty, and to the point, with humourous undertones, but maintaining the barbs of the insult, as the implications rapidly become clear.

However, such a quick, "fuck that guy, amirite?" type insult is so common that it's become boring, especially amongst programmers, who have gotten a lot of practice insulting each other over the internet in the past however-many decades: our culture has adjusted accordingly, and the bar has been raised on effective insults. You can tell what is an ineffective insult, because the recipient will immediately turn around and mock you. You know, like I'm doing now.

Overall, I rank this insult a pitiful 3/10.


However the GP isn't trying to insult you. The GP is stating that most (non-idiot) people would interpret "full stack" to mean "all the software stuff"

This is simply a direct counter to your argument that "every non-idiot thinks full stack means everything since the stone age"

I appreciate your apology above.


Yeah. It wasn't quite that. I was exaggerating for comedic affect. But if you say "full-stack" and don't follow it with "web," there's an obvious connotation. So I took it.

Also, "all the software stuff" still means down to assembler. So that'll be fun.

Yes, I know that's not what you meant, but why stop the fun now, just because I couldn't keep my terminology straight?


I think the other distinction there is that a "full stack developer" might have a comfortable understanding of how all these things work in quite a bit of detail.

The understanding does not mean that they want to take the time investment of recreating all that work from scratch.

For instance,

I understand branch prediction, cache lines and inter-processor synchronization. But I'm no kernel developer.

I know what the assembler does, and its goals. But I haven't made one, and any I made would be sub-optimal

.. This proceeds through compilers, operating systems and up to the web stack.

I mean, writing a renderer that fully implements "HTML 5" along with ALL relevant standards - that's a massive software effort. I barely understand it, but I understand enough to get the job done.


That's fair enough. It's kind of like where I am, but I suck more.

But

No matter how much you know, there's always going to be a part of the stack that you can't develop for: you can't know everything.

that was my point.


I don't think anyone disagrees with that, and nobody argued otherwise. I'm a bit baffled as to what you're trying to achieve here...


>I'm a bit baffled as to what you're trying to achieve here...

Funnily enough, so am I. So I can't really help you with that.


Fair enough. My reason for inserting myself in this conversation was primarily boredom and/or a desire to have an opinion of some kind heard :-).


What do you mean exaggerating for comedic affect? What kind of horrible person would do that?


That's insane.

They should also have to manufacture the processor themselves and 'electrical components' themselves.

Don't forget all the material that goes in to the keyboard and screen.

And how are they going to generate an electricity to power it once they have it set up?


Am I allowed to reinvent my own protocols? How much time do I have? Will you cover my living expenses in the mean time? If so, sign me up.

Edit: I guess you said no external libraries, not no manuals/specs. That makes it less fun.


Yeah, it's got to be a webapp, so that means implementing actual TCP/IP and Ethernet. And you'll probably want to implement a compiler for an HLL (even a rudimentary) one, at some point, before you lose your mind. Then you'll have to implement at least some percentage of the HTTP spec, because you're writing a webapp, remember?

However, you don't have to implement an FS or a display module (but you'll probably want to implement a serial monitor).

But yeah, if I had the time, I might consider doing this (after I finish my Z80 SBC and actually learn more electronics (the Z80 SBC is a popular enough project that I don't have to do all the circuits myself. And I can do the bare minimum)). This probably doesn't reflect well on me.


Why stop at hardware, though? I can imagine the book title now: "FULL Stack: From Electrons to 'Electron'". The first chapter would review basic quantum mechanics and semiconductor physics, MOSFETs, and CMOS gates. The second chapter would review digital logic design and computer architecture. The third chapter would move into compiler and OS theory and design. The fourth chapter would briefly diverge to discuss microwave and fiber optic transmission lines, and the fifth chapter would return to discuss network architectures and communication protocols. The sixth and last chapter would tie it all together with a MVP implementation.


That would be awesome. I would absolutely write this, but I don't have the requisite knowledge. So unless you're willing to wait quite a long time, or for someone else (or, more likely, several someone elses) to pony up, you'll have to make do with NAND2Tetris.


If someone would pay me to, I would love to write it. I would definitely need several reference books, but there's nothing in there I couldn't handle given enough time. I could even imagine some people on this site being interested enough to purchase it.

I hadn't seen NAND2Tetris before, thanks for that.


Seriously, it would be enormously fun and educational to do this. A weeklong guided vacation where you start with a pile of electronics and end up with a basic web app.


Well, I would start by assembling a Z80 (or 6502)-based machine (because I know the toolchain, it's widely available, and something like an atmel's got so much built in that it almost defeats the point). Then, I would cheat (slightly), by speaking SLIP or PPP down a serial line to a router of some sort, thus avoiding the CAT5e problem. But no more cheating! From there on out, the chip will receive no external assistance of any sort.

Or you could just use a newer chip, and avoid this sort of problem altogether.


I have occasionally said this about myself as a joke, as I think I'm one of the few people that's actually worked on every element of that stack at some point in my career. Including a restricted subset of TCP/IP in Verilog.

I mean, if you really want to make it a challenge then don't give them a processor, give them some large sheets of acetate and some coloured tape.

(I was going to include a picture of the 6502 rubylith for that last para, but found this amazing anecdote instead: https://hardware.slashdot.org/comments.pl?sid=1939704&cid=34... )


$200? All they need is butterflies. http://xkcd.com/378/


But Butterflies have no IO support, which is mandatory in webapps.


I would call a hurricane a type of "output". And your house might be "input" to it.


But I'm pretty sure hurricanes aren't HTTP/1.1 compliant.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

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

Search: