They'll learn so much more that won't transfer to as many job opportunities. For ex, say more about C++ and less about cutting edge CSS (because modern browser tech is an ocean). I suppose they might luck into other adjacent or unrelated roles with the same skills.
I have a hard time imagining anything where writing a browser wouldn't be an excellent transferable foundation. Even your example: writing css will never teach you as much as writing a css engine.
Sorry if I was unclear. I mean they'll never have enough time to learn a significant amount of modern web tech because they'll be working up to it from lower layers and basics.
Browsers from scratch are multi-year projects for multiple people. Even just skinning and minor tweaks to modern browsers is a deep well for one person.
Building a browser in the early web was actually a very achievable goal for exactly the reasons it isn’t now. There was not JS. No CSS. No SVG. In fact very few widely supported image formats (and graphical browsers weren’t around in the earliest days of the web anyway). TLS didn’t exist. HTML only had a subset of methods. And even POST was usually just managed by CGI/BIN calling an external process, often written in C++ or Perl.
They will also know the fundamental underpinnings of the web, you know - the thing that those html devs are actually using.
That’s like saying someone who fabricates cars doesn’t have the skills to drive them. Perhaps not, but they’re very well placed to pick it up quickly. They’ve also shown they can do something far more challenging, which is actually better than hiring for narrow immediate skills.
In other words: I’d hire that candidate in a heartbeat.
You'd hire an auto designer to be a limo driver? I think it's just two different skill sets. The auto designer is clearly smart but a limo driver also needs to have customer service skills, etc.
I think he's saying that building a browser is not a transferrable skill, like making a generic web page is. Employers don't like specialists. I used to build display drivers for graphics cards. Wonderful learning opportunity but other employers not in the graphics card manufacturing business didn't give a shit--those three years were essentially treated as an employment gap. "Well that's nice, but we really wish you had general experience writing CRUD apps..."
I would argue that in a post-LLM world, becoming as specialized as possible is the only way to survive. If you have the serious systems programming skills required to write graphics drivers, your talent would be wasted writing CRUD apps anyway. I hope you eventually found/will find something more appropriate for your skillset!
I'd argue the exact opposite. If I want a graphics driver, I'll ask the clanker for one. But if I don't know enough to even know what I want, there's no path forward.
People keep talking about a browser in the modern context but the GP specifically said “early days of the internet” (which, in fairness, would mean pre-web. But I think it’s safe to assume they meant “web” not Internet).
In those days, it was actually a much simpler exercise to write a browser than it is today. I even wrote one! And writing a browser absolutely teaches you how HTTP and HTML worked. Plus a lot of backed development was forms data sent to CGI and thus written in languages we wouldn’t even dream of using for web development nowadays, including C++.
So in the early web, writing a browser absolutely was a transferable skill. It might not be now, but in the context defined by the GP, it was.
> I think he's saying that building a browser is not a transferrable skill, like making a generic web page is. Employers don't like specialists.
I recently switched roles, and among the seven places I interviewed, none of them seemed to see my then-current browser job as a problem, even though they were not related to browsers. (The closest one was a company implementing a HTTP reverse proxy, and I did not work on the browser's HTTP stack.)
This is like saying writing a compiler doesn't give you transferable skills. The surrounding competencies required to do this grant a pretty large amount of broad domain awareness
[Blake Ross] worked as an intern at Netscape at the age of 16 ... Ross became disenchanted with the browser he was working on and the direction given to it by America Online, which had recently purchased Netscape. Ross and Hyatt envisioned a smaller, easy-to-use browser that could have mass appeal, and Firefox was born from that idea ... in 2003 all of Mozilla's resources were devoted to the Firefox and Thunderbird projects. Released in November 2004, when Ross was 19, Firefox quickly grabbed market share ... with 100 million downloads in less than a year
In the meantime Mozilla was mocked on slashdot.org and elsewhere relentlessly after the first two years of the project when nobody believed there would be any value in the effort. Hats off to the team that took around five years to get to Firefox 1.0 (and released Mozilla browser in the interim). It took a lot of conviction to see it through.
For this example, if you built a browser in 2000 it would put you in a great position to launch android in 2008. I think this is pg’s point. You spend all this time learning the interesting bits and when an inflection comes along that makes a new product or service possible you could be the one to likely launch it
FWIW I built browsers from 1999 for a long time. (But I was never a wunderkind, just somewhat tenaciously curious).
And I guess I am doing fine, but not amazingly rich or so.
Browsers were always a project closer to research/charity. I think Marc Andreessen said something similar - that he would never do that again. B2B is where you can make money.
That’s like saying if you can dunk in 8th grade you could be the next LeBron James. A LOT more things have to fall perfectly in place at the perfect time for that end result to materialize.
I am talking from the perspective of the individual developer.
You don't need your impressive product to succeed to land a good career.
If Alice is doing LLM-from-scratch work today, and Bob is doing agent harness work today, Bob's project is far more likely than Alice's to become useful/popular/profitable.
But if neither project survives, in 5 years, Alice will be more employable/at a higher market rate than Bob.
Neither one has even gone to college yet. I’d expect Alice’s project to be more likely to interest professors, get some undergrad research experience, maybe that can turn into something.
There is a confounding variable, however -- the person is most likely a good dev. It stands to reason that they've had a decent career at least since then.
Yup like you go far enought you will pick lots of transferable skills like data cleaning in the case of LLM, DOM parsing case of web browser or welding case of rocket.
That may have worked at the time, but no companies are interested in learning projects today. If you didn’t do the reqs list for the last 5-10 years with the same title, forget about it. Because there are dozens of folks who have, lined up. No one is indulging career changers (and most fresh grads) for the time being.
Early internet let me create the best personal web page in my city that I knew of with 2 weeks experience as a 12 year old. I imagine that same 12 year old could be more knowledgeable about LLMs than 99% of people in the same period.
I doubt it. Creating a website can be done by copy pasting a few snippets together and checking if it visually looks like expected.
Good luck with that approach when trying to toy around with models and their training/inference.
There is also a lot of math basics missing that a 12 year old may be able to grasp, but I would bet they are at least 13 by the time the knowledge is deep enough to understand what operations are happening.
Really? The latter was immediately useful to lots of people which is motivating, and it had a nice smooth learning curve (html -> js -> php -> databases -> apps -> backend). Learning HTML is the first step to learning how to make full blown apps. Making a browser at 17 is like trying to climb Everest as your first hike. The expected outcome is burnout and demotivating failure. At best you'll learn some C++ or Rust.
17 is an interesting age. There are way too many comments here saying things like, 17 year olds should just do whatever seems interesting or bum around the world or focus on getting into university. But historically most kids were expected to be productive adults at 16 or 18. 17 is about the right time to be thinking seriously about what kind of work you'll do, how you'll make a living. University won't help and will just delay this decision.
I contributed to a browser engine around that age (KHTML, which later became WebKit and Blink), and while I don't work in browsers right now, much of that knowledge, mindset and of course the professional network have done much to shape my life. And a fairly successful career, for that matter.
Contributing to an open source project is fine, but the original analogy was "it's like telling teenagers to build browsers".
If teenagers could make small contributions to LLMs via open source then sure, go for it. Optimizing llama.cpp or similar would be a good learning project that might later get you good work via social networks. Contributing to open source is how I got started too.
Unfortunately, training LLMs isn't something that fits well to open source open collaboration. Inferencing codebases are better.
Excellent point, and I agree. Much of the benefit I saw was from working within a like-minded, smart team, not going it alone. And also specifically working on software with a real user audience to learn what providing value to them actually constitutes.
In that sense it's more a "seek out the open source community and real projects when young" rather than "do web browsers", with a bit of "look for ambitious types of projects few get to work on".
Early web didn’t have JS. Nor PHP. In fact a lot of early web pages were written using static HTML with C++ invoked via CGI/bin for processing form data. So writing a browser would teach you the HTML plus C++ too.
The early Internet (which the GP mentioned) didn’t even have the web. But that’s nitpicking.
17 is a weird age but ymmv. I left home at 16 alone to study abroad. I had tons of free time due to dorm curfews and such. Unfortunately, I was too poor to have a computer and the computers we had access to were completely locked up. (Naturally we waltzed past the locks to play some games but it was also under surveillance)
Paradoxically I coded way more between ages 12-14, I regret my wasted late teens.
I mean... that's actually amazing advice. Not because they would grow up to create browser startups. But because they would grow up to create web startups that succeed because of very fundamental of how the web is rendered.
This site exists because paulg created a webshop in a niche language (Lisp) and got a prototype bought out (and discarded) in the gold rush. No browser internals needed to make a fortune on the platform. Just rapid development of an application with natural monetization, and being in a place to do so way at the beginning.
Jeff Bezos did similar, but he did his own fulfillment and hired out the coding.