DHH: Make Software Simple Again
David Heinemeier Hansson emphasized simplicity in software development at the We Are Developers World Congress, criticizing profit-driven complexity and advocating for one-time purchases over SaaS, while promoting Ruby on Rails.
Read original articleDavid Heinemeier Hansson (DHH), co-founder of 37 Signals and creator of Ruby on Rails, recently spoke at the We Are Developers World Congress in Berlin, emphasizing the need for simplicity in software development. He criticized the software industry for prioritizing profit and complexity over innovation, noting that recent advancements often serve to maximize profits rather than enhance user experience. DHH's companies have decided to "leave the cloud," predicting annual savings of $1.5 million by owning their data centers instead of renting from cloud providers. He also expressed concerns about the prevalent Software-as-a-Service (SaaS) model, advocating for a one-time purchase model that offers transparency and reduces ongoing costs for users.
Reflecting on the resurgence of interest in Ruby on Rails, DHH highlighted its historical significance during economic downturns and the importance of making development accessible to small teams and solo developers. He pointed out that the current trend in web development, particularly with complex frameworks like React, often complicates rather than simplifies the development process. DHH called for a return to simplicity, arguing that the focus should be on enabling developers to build efficiently without the need for extensive resources. He believes that fostering an environment where small teams can thrive is crucial for innovation and the growth of new ideas in the tech industry.
Related
DHH – Programmers should stop celebrating incompetence (2021)
David Heinemeier Hansson criticizes celebrating incompetence in programming to combat imposter syndrome. He emphasizes deep understanding over surface-level knowledge, urging programmers to strive for mastery and competence through dedication and continuous learning.
For the Love of Linux
The REWORK podcast by 37signals promotes bootstrapping and slow growth in entrepreneurship. Co-founder David Heinemeier Hansson discusses shifting from Apple to Linux and Windows, praising Microsoft's support and recommending the Framework laptop. The episode explores multi-platform development and technology company evolution.
Radical Simplicity in Technology
Radical Simplicity in Technology promotes reducing complexity in software development for efficiency and developer satisfaction. It prioritizes deep business logic, streamlining components, and using fewer technologies for multiple purposes. This approach contrasts with overly complex architectures, aiming to enhance productivity and system stability.
Htmx: Simplicity in an Age of Complicated Solutions
Erik Heemskerk discusses the pursuit of a 'silver bullet' technology in software development, emphasizing simplicity over complexity. He critiques over-engineering in front-end development, highlighting trade-offs in code solutions for better user experiences.
My programming beliefs as of July 2024
Evan Hahn emphasizes tailored programming approaches, distinguishing "simple" from "easy," promoting testability through modularity, and advocating for ethical coding practices prioritizing societal impact and nuanced thinking in software development.
Extremely basic, context-less example; If I want to have my EC2 boot from an image, I build an AMI, then I put that ARN into a config file or similar and off we go. As a once off thing I would also need to configure some other basic stuff like a VPC, security groups, gateways etc but there's not necessarily any ongoing overheads from that. We're looking at a few config files in total without any specialist knowledge being necessary.
If I want my Supermicro/Quanta/Dell to boot from an image in a similar fashion I have to build the image, I have to host the image, I have to make it available on the network, I have to configure DHCP, I have to configure the BMC (and Redfish is probably not implemented quite right, lets be honest here), then I can boot from it.
Once that's done I've also got to maintain; the host, the BMC and it's firmware, credentials for said BMC (securely), other firmware on the system, the entire network (securely) and a bunch of other stuff I probably haven't even considered. All requiring at least one, arguably two additional domains of knowledge on top of what a normal developer would typically have + a significant up front and ongoing time commitment.
Related
DHH – Programmers should stop celebrating incompetence (2021)
David Heinemeier Hansson criticizes celebrating incompetence in programming to combat imposter syndrome. He emphasizes deep understanding over surface-level knowledge, urging programmers to strive for mastery and competence through dedication and continuous learning.
For the Love of Linux
The REWORK podcast by 37signals promotes bootstrapping and slow growth in entrepreneurship. Co-founder David Heinemeier Hansson discusses shifting from Apple to Linux and Windows, praising Microsoft's support and recommending the Framework laptop. The episode explores multi-platform development and technology company evolution.
Radical Simplicity in Technology
Radical Simplicity in Technology promotes reducing complexity in software development for efficiency and developer satisfaction. It prioritizes deep business logic, streamlining components, and using fewer technologies for multiple purposes. This approach contrasts with overly complex architectures, aiming to enhance productivity and system stability.
Htmx: Simplicity in an Age of Complicated Solutions
Erik Heemskerk discusses the pursuit of a 'silver bullet' technology in software development, emphasizing simplicity over complexity. He critiques over-engineering in front-end development, highlighting trade-offs in code solutions for better user experiences.
My programming beliefs as of July 2024
Evan Hahn emphasizes tailored programming approaches, distinguishing "simple" from "easy," promoting testability through modularity, and advocating for ethical coding practices prioritizing societal impact and nuanced thinking in software development.