2,042 karma · joined June 11, 2010
These days I liken it more to the idea of ‘surprise’ in information entropy which denotes an informative signal then to revealing any sort of objective truth.
Regarding some of the ‘layered architecture’ discussion from the OP, I’d argue that having many modules that are clearly defined is not as large a detriment to cognitive load when an LLM is interpreting it. This is dependent on two factors, each module being clearly defined enough that you can be confident the problem lies within the interactions between modules/components and not within them AND sharing proper/sufficient context with an LLM so that it is focused on the interactions between components so that it doesn’t try to force fit a solution into one of them or miss the problem space entirely.
The latter is a constant nagging issue but the former is completely doable (types and unit testing helps) but flies in the face of the mo’ files, mo’ problems issue that creates higher cognitive loads for humans.
I’ve done an extensive amount of LLM assisted coding and our heuristics need to change. Synthesis of a design still needs to be low cognitive load - e.g. how data flows between multiple modules - because you need to be able to verify the actual system or that the LLM suggestion matches the intended mental model. However, striving for simplicity inside a method/function matters way less. It’s relatively easy to verify that an LLM generated unit test is working as intended and the complexity of the code within the function doesn’t matter if its scope is sufficiently narrow.
IMO identifying the line between locations where “low cognitive load required” vs “low cognitive load is unnecessary” changes the game of software development and is not often discussed.
For me, optimism still provides a lot of value in my worldview. The beliefs that have changed the most for me in the last 25 years is the limits and boundaries of what tools can do for us.
Technology ‘fixing humanity’ (when that ‘fixing’ is based on your own personal value system) is certainly a fools errand. But that limitation shouldn’t get in the way of imagining a utopia which is worth having.
Sure, I miss my childhood feelings of the 90s. But I also never expected a techno utopia to be ‘easy’.
> Have 1516 cats for meow
instead of now
Both items above coalesce into a desire to 'rewind' back to the top of the process and try to get the context understood at the beginning, and have that clearly reflected to the user so that as you move through to details it gets easier to handle the nitty gritty without as much editing.
The interactions between Ants and Spiders gave me some associations with Butler's Xenogenesis trilogy (aka Lilith's Brood). Particularly, I loved how both were painting an alternative evolutionary path but 'grafting on' to existing notions and understandings of what we know to be true in species development. I wish there was more of this! I felt Children of Ruin was weaker in this regard, maybe because the conflict for the species was absent. The Spiders vs Ants and then Spiders vs Humans being conflicts which created a fanstatic narrative to explain alternative solutions to prisoner's dilemma (spiders choosing to co-opt their enemies' strengths or in Lilith's brood, Oankali being a hybrid of alien/human). I'd be curious to learn if there's more examples in zoology/ecology of species choosing this route instead of competition every time - and also, what factors might impact this.
> there are a few people with such force of will that they're going to get whatever they want.
We discussed nuclear power which was an industry I left but dreamed of building a successful startup in. Sam asked me why I wasn’t building a startup in nuclear power if I thought the technology was so powerful. What I realized in what he was conveying was that if he had the same conviction he would have no doubt about the ability to drive it to success. The more experienced I get the more I value that type of conviction and determination. The more I also see that behavior being rewarded with results.
I had the benefit of co-founding a startup with my partner so we had already cut our teeth on this. A child is like a type of startup. Identifying and managing problems/complexity is a daily activity. If you have a good working relationship there than you can have a blast being parents together.
Asana's mission is to enable all teams to collaborate effortlessly. We're taking on the work management space and I have a fundamental belief that technology can help us all self-organize more efficiently and in return allow us to work more in our genius, achieving a state of flow more often. Asana delivers on this with our product and our culture.
We're looking for Engineers who are passionate about creating a phenomenal culture that enables autonomy and responsibility while striving to building the best product possible because that's what we compete on.
Our tech stack: Typescript / React and our own version of GraphQL (we built it before GraphQL was open sourced). Our version of GraphQL executes all queries as "live" by default. This means you do not need to worry about data changes when designing a feature.
I joined because I was convinced that the incredible collaboration experiences I had in a small startup could be scaled up to big companies. Come work with us https://asana.com/jobs/apply/1163890/product-engineer
Asana's mission is to enable all teams to collaborate effortlessly. We're taking on the work management space and I have a fundamental belief that technology can help us all self-organize more efficiently and in return allow us to work more in our genius, achieving a state of flow more often. Asana delivers on this with our product and our culture.
We're looking for Engineers who are passionate about creating a phenomenal culture that enables autonomy and responsibility while striving to building the best product possible because that's what we compete on.
Our tech stack: Typescript / React and our own version of GraphQL (we built it before GraphQL was open sourced). Our version of GraphQL executes all queries as "live" by default. This means you do not need to worry about data changes when designing a feature.
I joined because I was convinced that the incredible collaboration experiences I had in a small startup could be scaled up to big companies. Come work with us https://asana.com/jobs/apply/1163890/product-engineer
Asana's mission is to enable all teams to collaborate effortlessly. We're taking on the work management space and I have a fundamental belief that technology can help us all self-organize more efficiently and in return allow us to work more in our genius, achieving a state of flow more often. Asana delivers on this with our product and our culture.
We're looking for Engineers who are passionate about creating a phenomenal culture that enables autonomy and responsibility while striving to building the best product possible because that's what we compete on.
Our tech stack: Typescript / React and our own version of GraphQL (we built it before GraphQL was open sourced). Our version of GraphQL executes all queries as "live" by default. This means you do not need to worry about data changes when designing a feature.
I joined because I was convinced that the incredible collaboration experiences I had in a small startup could be scaled up to big companies. Come work with me https://asana.com/jobs/apply/1163890/product-engineer