My LinkedIn Profile: https://www.linkedin.com/in/philip-adler-45100b81/ Reader: What is this? Phil: This is my homepage. Reader: Plaintext. Really? Phil: Yep. Reader: But why, post-web-2.0 would you do that? Phil: Because everything else is subject to a large dose of You Ain't Gonna Need It. Reader: ...but isn't your website your opportunity to make a big first impression? To show off your technical capabilities. Shouldn’t there be at least some HTML and CSS, and some whizzy javascript bits just to show you can. Phil: Yes, but I don't need to. And the fact that you’re still reading at this point is a good piece of evidence to that effect. About a year ago I got into reading about Agile techniques in a big way, and devoured a library’s worth of books on Lean, XP, TDD, The economics of refactoring code, Kanban. I’m still reading. It turns out there’s been a lot written on this subject. I’m actually slightly annoyed I never did it sooner. Because these things are not just a theoretical science but a practical one, I set about conducting some experiments in some virtual environments, and some in real life. One of the key things I’ve learned from the exercises, is that a lot of the time in development, we are building a lot of things we don’t really need, in ways which are overly complicated, to solve problems we don’t imminently face (even if we imagine we might do soon). Or worse, we are building things that actually don’t solve the problems our target users have, and create new problems that they didn’t have otherwise. All of this has cost of overheads, maintenance, and cognitive load on the people who work of our companies, and it’s all waste. A full write up of some of my experiments is TBD, but to illustrate, some of these might sound familiar: • Buying licenses for a system like Gitlab, of which you use about 10% of the features, and which would be entirely Git. • Buying a licence for a system like Jira, which locks you into a set of assumptions that may not hold for your space, and with which your developers may not agree, where a (possibly virtual) whiteboard might do? • Setting up a ticketing system for teams to “Collaborate” on a project, where an Inverse Conway Manoeuvre might be a cheaper way to solve the communications issues you have. • A platforms team building a software development platform for your internal dev team without getting regular feedback from them and so building systems which hinder development (with all the expensive bad feeling that goes therewith). • Building a solution to a complex problem without having solved the issue of regular releases, such that after months of non-delivery the customer cans the project. • Building an autoscaling cloud-based solution, possibly using something like Bigquery or Redshift when the data scale of the problem has a reasonable (possibly even hard) limit and could be done with a standard SQL database or (gasp) a flat file? • Spending weeks estimating a project and having no working software rather than getting on and building something which improves the situation. • Building a website designed to attract the attention of prospective employers to demonstrate my technical skills, but without showing them that I have a proper concept of value and priority. If at this point, you’re just preparing to click away and do something else with your time because you think this is all a bit pretentious, and that you don’t want to work with me, that’s completely ok. Please permit me this parting note that you and I will have both derived value from that decision, which this design helped propel you towards. And if any of this sounds like someone who has some interesting ideas about how to do software development, please ping me on LinkedIn, or drop an email to phil at dler.works.