joshuamoyers
Joined 1 year ago
Joined 1 year ago
An analog for you: I started in software pre-cloud, with a primary focus on web technologies, but at various times learned c/c++/asm/compilers/operating systems/algorithms. I audited many classes, but one instructive one was a course called nand2tetris (going from nand gates to hardware simulated CPU to peripherals to operating system to programming languages and compilers to application layer). Understanding the global through lines in computer science give you immense power.
Does my work as a CTO mean I use this information all the time? Absolutely not. Did I benefit from figuring out how computers work generally throughout literally my entire career? Absolutely yes.
I am actually relatively AI-pilled compared to the average Hacker News reader, but I am against outsourcing fundamental understanding to AI in all forms. Does that mean I write code by hand often anymore? Very infrequently.
buts its a refreshing that there is an initial list of half baked projects, i suppose meant to evoke horror at the untidiness and wasted time. but honestly each of those projects sound cool as hell. not necessarily durable - but who cares. i’d argue there is a skill, one that is different than traditional programming, that the author was building up over that period.
discipline is important. focus is hard. but allowing yourself to play is not a bad thing at all and i dont think building little interesting side projects should be a shameful act.
we are finding lots of value in self review. its the “imagine you are doing a synchronous paired review with someone - anything that is difficult to explain, has a code smell, doesnt fit the architecture of the system around you, write a comment.” then at the end, agents do a good job of looping over PR comments.
the second thing would be a guided, educational code review tool - there are a few attempts at this, but nothing that has a good enough interface to actually stick. organize hunks by semantic importance, spend some tokens exploring the surrounding systems, showing how new code, public apis and data model flow with the existing design, and allow a human to traverse larger PRs more quickly.
thank you to cloudflare for publishing this.
Occasionally I get this feeling for a large customer meeting or a public talk, because there are consequences and serious prep. But this is just trying to normalize extreme social anxiety and call it a management style.
One reason you get together to talk is so you can hash out details on potentially ambiguous topics, so you don't head in the wrong direction causing net negative contribution.
Another is that people are not automata. Humans require inspiration and motivation and you need to reinforce the vision of what you are building and why. Its also even sometimes a reasonable idea to ask about how their life is going and check up on their family and pets and career aspirations.
In general, some people should not be managers, and there is plenty of room in the world for super ICs.
Also, nice clever optimization here. Lots of low hanging fruit in harness land.