lubujackson
Joined 16 years ago
Joined 16 years ago
You can paste any 16 Colors link and it will render, including packs. I mean to improve on it someday, but it has some fun features like setting the baud rate for display, adjust the blending blocks, keeps any text selectable, etc.
What works: - Empowering engineers. Giving engineers more trust, ownership and product decision-making leads to more engaged engineers vs. micromanaged tickets. Engineers who are treated like owners tend to notice cross-cutting problems and push to get them cleaned up. - Hire for diversity. Not race or gender, but diversity of thought. Different ages, backgrounds, approaches to AI, focus on frontend/backend, etc. Race/gender diversity tends to come along for free. This is a huge edge because every LLM is spinning up the same next token prediction, so approaching problems from different perspectives gives more robust coverage across your codebase. - Flat org structure, low ego. Interns and 20 year vets work side-by-side and teach each other things - hire for openmindedness. - Communicate about product. What should it do? How do we want a feature to work, and how to handle certain edge cases? If the product is well understood, the code follows. In-person/hybrid is valuable. - Architecture matters more than ever, but it is easier than ever to fix. Listen when engineers mention tech debt. Notice when a simple change touches 27 files. Senior engineers shine for this, because they tend to have a better nose for code smell. - Reviewing still matters. Anthropic may throw tokens at reviewing, but it is a great way to share ambient product/code knowledge across the team. 200 engineers throwing code against the wall is chaos and leads to YOLO codebases. You can move fast AND keep a rough mental model of the codebase intact.
Watching the movie again, I am amazed at how precisely Miyazaki captures the exact feeling of the sky and sea of the Adriatic in summer.
Find an easy to understand product, like a step above a todo list app. Share a spec and have them code it in their own IDE using LLM. Focus on speed. Then have them extended it, adding some features. Then ask them to show you where certain functionality exists in the code and to explain the architecture of how it is built. Ask them where it is weak and could be improved.
That's it, that's the interview. SWEs are getting quite good at the prompting, but fast navigation and understanding of the code is the key.
Anyone that can effectively translate a spec to code with minimal handholding shows product awareness. Anyone who can produce a working app can prompt AI reasonably. Anyone who can revise their design on the fly to support new features is someone with flexible thinking and some humility. Anyone who can navigate and explain what AI built is someone that understands how to build a mental map of a codebase. Anyone who can do all of this in an interview is someone who can handle pressure, work quickly and communicate.
You are welcome to keep trotting out linked list traversals and sliding window problems if you like, but leetcode is now (and maybe always has been) about culture fit more than an ability to build software.
Rapid technological advancement is always painful. Extrapolating that to "death of the industry" is awfully reductive and I haven't seen any signs of that. As others have pointed out, Big Tech layoffs have only reverted the shotgun-blast hiring of ~2020-2022.
We remember museum-quality painting, but there was a whole economy built around people getting portraits done. It was time-consuming and expensive. Then the camera came along and completely met that need with a far superior result (an accurate portrait) while being much cheaper and faster. So too has the listicle writer all but gone extinct.
But what about art? Painting went in a wild new direction, exploring the medium in a direct counter-trend from portraiture. In the same way, I expect "literary" and "experimental" writing become more outlandish while those middle of the road beach romance novel authors will shrivel up completely or flatten the market into a endless flood of options, possibly self-guided by readers.
The most interesting is what happened to photography, which quickly became its own art. Just as preposterous as saying prompting LLMs could be a form of artistic expression, photography was totally dismissed at first. But photography requires a much different skill set and type of discipline, while relying on the same visual concepts as painting.
If entire novels are going to be generated by AI, someone needs to write that prompt. What will it say? What concept will lead to a bestseller? This may seem reductive in extreme, but it puts a similar focus on the remaining human choices. If photos or prompts are relatively cheap, the expression of art becomes one of curation, instead of creation. Flower arranging and DJing are both curation and both expressive.
AI can take us from 0 to MVP in a prompt. It can fill in gaps of knowledge and allows someone who knows half of the stack to build the whole thing nearly seamlessly. These are superpowers but don't by themselves lead to new products.
What AI cannot do is remove the world of complications that happen after the MVP - product feature tradeoffs and choices, how to handle integrations and customizations, how to serve multiple types of users, how to communicate and market the app, how to handle security and data storage, how to deal with customers and bugs, etc. All of these need to be considered and acted on by a human in some fashion. AI can help with each concern but can't solve them without understanding the concern and determining how to frame it in a prompt.
This is why we have a glut of amazing demos that go nowhere while we figure out how to build software differently. This will take some time and I imagine the result will be software heavily-structured with a bit of AI reasoning woven throughout, not an army of agents and sub-agents burning infinite tokens.
The game keeps advancing and the systems continue to harden, but the risks are also increasing as the tech becomes more and more embedded into our daily lives. The European fridges getting turned off was a warning.
We are firmly in the "ebb" cycle now. Technology is so deeply embedded in our lives that it is just a matter of time before a large scale loss of human life occurs from a targetted attack (or worse, a Huggingface-style "oopsie").
I am not a doomsdayer and I think things will balance out eventually, but how that balancing occurs is another concern - maybe the only solution is to meter and regulate AI access to the web through some "policing" architecture. This could become a privacy nightmare, but it is clear to me that AI needs to have guardrails around it, not inside it.
Things that are easy for humans, like remembering a character is holding a gun during a conversation, gets forgotten, because there is no clear architectural/spacial understanding of how the words are describing an underlying reality. And if the LLM gets this right it might instead forget which character has a Southern drawl, or make an illogical metaphor.
This is all more clear with programming, but the problem is the same - a lack of interwoven semantic understanding and friction between the real world and the self-contained world of the LLM's context.
We have known the exact problem for 50 years. Our dipshit president is still forcing open coal plants that no one wants or needs. We aren't even close to solving any of this, except by pure chance through technical advancement. But I fully expect parts of the world to hit 135 degrees within a decade, killing every human in the area. Then comes endless refugee waves, closed borders and a deep discount on human life.
Maybe then we can start to talk solutions. But not before.
Worth noting this feeling of calm comes solely as relief from spastic thoughts. Your body still responds in every other way as you would from taking a stimulant, and yet people feel calmer and more orderly because their baseline thoughts are so frenetic.