Luke: Development starts from the foundations
Why did you choose to become a developer? Luke Needham didn't have to think twice about that. He sees development as the foundation of an application: indispensable if you want to continuously develop the app. And he’s happy to tell you his views on the field of development.
Imagine you’re building a house. Your designer provides the blueprints, and passes them onto a building company who immediately start development. 6 months later, you’re sitting upstairs in your shiny new bedroom and decide you want to install a new power socket. You ring up the building company, and they tell you, yes, of course, we can do this for you. But first, we’ll have to install a steel support beam directly underneath, straight through the middle of your kitchen, skewering your solid mahogany dining table. The issue is, they explain, the whole house was built to be perfectly balanced, based on the original blueprints. Simply adding this new socket will cause the whole thing to collapse.
Turns out, the visual design of a project is only half the story. Within the actual development process itself is a hidden layer of design and architecture. In app development projects this is an intricate structure of code, invisible to most, but hugely impactful on how the product can grow.
This is what inspired me to become a developer: the hidden world of algorithms and data, the tantalising secrets under the hood of those shiny user interfaces. Whether I’m working in my specialist subject of Android, or dabbling in Unity games and websites, it is always the same question which drives me: What is the best way to build this? It’s a question which forces me build software which is adaptable to change, resilient to bugs, and clear to others.
In other words, how can I build this such that I can avoid destroying any mahogany tables 6 months from now?