Re: comment char: I couldn't agree more, went in excited by static typed, and was immediately turned off by this seemingly arbitrary divergence. I kept looking for other uses of, for example, `#` in the language that might explain this quirky comment char, but got to the end of the guide w/o finding any. Maybe the author will reconsider :)
I love to code, as much as I loved math in college, but coding paid better and I'm pretty good at it. Those were my choices though b/c I want to do something I love. Sure, I keep my eye on the "Delivered Value" by making sure I engineer solutions to real problems, but I've never wanted to move out of coding and into managing engineers to build stuff. I want to code. It seems to me that the advice given here would be more applicable to someone who only coded long enough to move into engineering management -- anyway something about it bugs me and I don't think I'd follow it exclusively even if I was starting today.
I think it's more like telling a DJ in the 80s, "Don't worry that mixing vinyls won't be a thing forever. It's not about the tools but about the product, as a DJ your job is to mix good music and you can do that with vinyls, cassettes or with MP3s."
This is a pretty funny example because if you follow the DJ scene much, you know the barrier for entry is literally on the floor now.
A 10 year old with an iPad app can beat-match and “DJ” a 2h mix together in a way that 20 years ago required thousands of dollars of gear. The tragic part is that unless someone’s got some familiarity with what “good” mixing sounds like, they wouldn’t be able to tell they’re listening to an amateur.
Is this better? I donno. I play saxophone. But if there was an digital sax that let children sound as good as I can with no training, I’d definitely be feeling like some of the time I used learning good embouchure and breath control could have been better spent.
Truthfully, picking what song goes next feels like a job well suited for an AI, or even just a basic recommendation system based on up and down votes.
Of course there's a real time component to DJing as well. Paying attention to the crowd and how they're reacting to your mix. That's the magic that's harder to automate.
I'd like to see it. As someone who's DJ'd a fair amount for large crowds (1000+) my value always seemed to be in choosing tracks that lit up the audience and made the set progress to a satisfying peak.
The technical aspects were always not that important.
I’m in my 40s - one of my high school jobs was working at a photo lab and studio - I even became a photographer there, taking kids photos and whatnot. It was fun - I almost considered a career in photography.
The truth is, had I done so, I’d feel a lot like you described.
As things get easier, true craft and skill are less appreciated and lost as the application becomes more democratized. From the perspective of the expert/skilled individual, this is terrible. On the other hand, it’s amazing what happens when everyone has a mindblowingly good camera on them almost always. In the end, we are collectively better for it, but individuals absolutely do see their value diminished.
Photography's a great example. Experts like you could make the difference matter I'm sure, but these days I feel like the shots I get on my 14 Pro are close to the quality I'd get from a DSLR. Like with so many other hobbies, it seems like the barrier for entry to produce something "good enough" has quickly become almost non-existent.
> In the end, we are collectively better for it, but individuals absolutely do see their value diminished.
except that many DJ now are physically attractive people (mostly women) that don't have to know anything anymore as technology evolved to the point that all the hard stuff to learn on mixing with vinyls disapeared. I could be a DJ tomorrow with a 1hour tutorial on youtube. a few decades ago it required hard training for years and musicality.
That's a great analogy, and it makes me wonder just how closely did Carmack himself follow this advice early in his career. I suspect that he wouldn't have got where he is without an unusually deep interest in the nuts and bolts.
Well - I've read some about origin of Doom/Wolfenstein - it was definitely a mixed bag (as expected from young man), but there was definitely a focus on end result (smoother animation, better 3d), than coding just for the sake of coding.
I think in context "smoother animation" and "better 3d" might be the kind of things that in this hypothetical future would be driven by ai. I think we'd be talking more about understanding story and reward mechanisms.
There's a mention in the book from the sibling post that he thought that single text slide is enough for the story background in shooters. Not necessarily truth looking at modern games.
Still, even then he was far from "let's use new library, just because it's fun to play with".
If you have even a passing interest in this, you will enjoy the book Masters of Doom, which is about the early days of id software. I think that's what the GP is referring to.
I don't think the person in the dm would have liked this answer.
"if you build a career in developing plumbing and glue code, in the future you could have a successful Kickstarter where nostalgic developers buy your curiosities"
I think you mean nostalgic gamers, not developers. They're not getting that much money just from other developers.
But why not? There are quite a few businesses that basically run off of Kickstarter. Like 30% of the board game industry nowadays fund most or all of their prints runs off Kickstarter, including some of the largest board game publishers, like CMON, Awaken Realms, AEG, Eagle-Gryphon, Garphill, Greater Than Games, Renegade, Portal and Queen Games (lots more publishers than this too).
A career in developing plumbing and glue code has already been significantly in jeopardy from the consolidation at plumbing and glue code factories in the video game industry. There's still a number of large companies doing bespoke game engines but not like it used to be. Nevertheless, there is still work in understanding the market leader engines and providing more of a mechanics job.
Those Kickstarter opportunities are something you do once you already have a viable income in something else because in the end they don't pay particularly well I feel. It has to be a labor of love.
Well that's correct, but again you can't expect you'll stay relevant if you are into Romenian-Death-Disco-Country-Rap. Your technology of choice may become exactly that in a few years.
I think there is room for interpretation as to whether it equates to telling a musician to become a DJ, or a pianist to wear a jacket, or soldiers to strap a first aid kit on left thigh.
Sure, you can entertain doing hobby music by yourself out of passion and it can have 0 listens and thats great. Keep doing what you love!
The tweet however is in the context of a JOB or CAREER.
If you code and produce 0 value in either saving engineering hours, saving money, producing revenue - whats the point?
So the analogy is rather about having an understanding and skills of a full-stack product person that has the context to build valuable things, rather than typing on keyboard in isolation.
Musician is not only performing an instrument. The analogy is more like telling instruments players that only care about virtuosity the larger point is making music for people to enjoy, from being “a guitarist” to making music. The musical piece is the product in the professional context, and AI in that context is maybe recording, DAWs and realistic synths and sounds banks.
You couldn't make a decent living as a live musician well before Spotify came into existence.
Source: raised and largely surrounded by musicians who either complained to high heaven about the pay or did something else to supplement their income. Engineers were a particular target of vitriol which led to me becoming one.
The advice isn’t about coding vs managing. What John is saying is to deeply understand why you’re building something, so that you can build it better. If you over focus on the what — the implementation, the language, the approach — you won’t be as good, and your work may be increasingly replaced by AI.
Definitely. Carmack is no dummy, but I’d argue this comment section proves that he gave a pretty bad answer here (bad for the audience, not if you know Carmack and what he means).
I guess it’s the impostor syndrome, but many programmers have an out-of-place reductionist view of their work. It’s not simple, and crud boilerplate proves little about the future prospects.
Managers OTOH really are in the zone of GPT parity. At least a much larger subset of their day-to-day activities. So are many soft skills. In fact, soft communication is where LLMs shine above all other tasks, as we’ve seen over and over in the last few months. This is supported by how it performs on eg essay-style exams vs leetcode, where it breaks down entirely as it’s venturing into any territory with less training data.
Now, does that mean I think lowly of managers? No, managers have a crucial role, and the ones who are great are really really crucial, and the best can salvage a sinking ship. But most managers aren’t even good. That has a lot to do with poor leadership and outdated ideas of how to select for and train them.
> Definitely. Carmack is no dummy, but I’d argue this comment section proves that he gave a pretty bad answer here (bad for the audience, not if you know Carmack and what he means).
I dunno, I got what he meant from the start, and the same advice was given by many people in many forms, usually in variant of "well, the business doesn't give a shit about details but the end product".
> Now, does that mean I think lowly of managers? No, managers have a crucial role, and the ones who are great are really really crucial, and the best can salvage a sinking ship. But most managers aren’t even good. That has a lot to do with poor leadership and outdated ideas of how to select for and train them.
I joked some managers could be replaced by forward rule in mailing system, ChatGPT is an upgrade on that.
EDIT: Was the comment edited, or did my brain miss something? I think I perceived something else there when I wrote my response.
It's still "how". Only on a higher level. For example, instead of placing the form elements exactly and designing them you describe data flow and meta info about the data to be gathered via the form, and how it looks and where elements are placed on various screens happens automatically.
Writing code in a higher level vs. assembler still is coding, but you worry about very different things. Just compared with assembler, since looking back is easier than looking forward. Instead of worrying about (the few) registers and interrupts and in which RAM cells you place what you now think about very different things. It still is programming though, and you still tell the machine "how". Only on a different level.
When you lead a large company instead of working with a machine on the factory floor the work is very different, you still need precision and know "how", only on a different level. Even if you have "underlings" who can think, and you can let them execute the sub tasks you create, you still have to know what you are doing, only on a higher level.
> It seems to me that the advice given here would be more applicable to someone who only coded long enough to move into engineering management -- anyway something about it bugs me and I don't think I'd follow it exclusively even if I was starting today
The advice here is clearly meant for someone who wants to invest in themselves to provide food and shelter for themselves and/or a family in the future. (Ie “doing all this hard work for nothing… AI will make my future job obsolete”).
The advice is spot on. Soft skills are hard to learn, harder to teach, and allow for flexibility with regards to the tool used.
> anyway something about it bugs me and I don't think I'd follow it exclusively even if I was starting today.
I’d be you like the money but don’t seem to want it as much as you want to solve deterministic puzzles (“not interested in becoming a manager” ie “not interested in maximizing career/salary growth potential).
What bugs you seems to be that you can’t yet see the puzzle left for you to work on once GPT-12 makes coding obsolete and software architecturing obsolete.
A long time ago I got some good feedback, “You were hired because you typically know the right answers and/or know how to find them. You were promoted because you also seem to know how to ask the right questions, and that is significantly harder.”
I’m relatively certain it’s analogous to Carmak’s advice.
Delivered value sounds like consultant talk, but it’s as simple as wanting to make a game for people to play it. Or if you’re a carpenter caring about the roof you’re building instead of just cutting wood and hammering nails. Jobs exists to serve a purpose, otherwise it’s a hobby (which is fine). Coding as an expertise will still be needed, same as having an expertise in the methods of processing wood, but we might not need coders on the assembly line anymore that we need wood cutters there.
I ultimately decided to leave tech when I realized I didn't care much about delivering value and actually just wanted to write beautiful code. The former was a nice bonus for me, but the latter was profoundly captivating.
I'd unfortunately tried to make that mismatch work for too long, and as a result I completely destroyed all of my programming interest via severe burnout.
If this resonates with whoever reads this: please take your passion seriously and protect it. I don't know if I'll ever be able to enjoy coding again, unfortunately.
Where did you go? I’ve wanted out for years. I recognized the mistake almost immediately after going professional, but I just don’t really see anything else that looks appealing without spending years of my life and a stupid amount of money “retraining” by going back to school.
Currently in the process of figuring out my next way of making income that brings me real joy thanks to substantial savings from living frugally on FAANG comp.
Lately I've been getting very much into FPV drone videography and 3D printing/design, which are both incredibly gratifying in the way programming used to be for me, but somehow even more so because the process involves mastery of physical matter on top of navigating a high-dimensional abstraction space.
That being said: I don't plan on having kids and enjoy relatively low cost activities, so I don't need to make nearly as much as I did in software to support myself.
He said nothing about management. What I think he means by “guiding” is more related to prompt engineering, and how “coding” will evolve from exclusively using programming and scripting languages to a wider creative landscape of generative (guiding) techniques.
What bugs me about it personally is that he reduces the entire CS field to something that's there for building "products". Why the fuck does it have to all be inherently capitalistic?
But if you know who he is and what he does these days, it makes sense I suppose. Can't be in that business environment day after day without going slightly nuts eventually.
Python is easier to use if you come from almost any background, programming or not. I believe this is primarily b/c there isn't a lot of "special syntax" in Python, it's all very explicit and common. The same is not true with Ruby.