Today I sat with Russell Ward, technical director at The Unit. We talked about how I can get involved in the development team as part of my internship. This quickly turned into a discussion about programming languages and the Web.
I was introduced to a lot of topics, including:
- SOLID principles - see video
- 1KB challenge - see example project
- Domain-driven design theory
- Functional, procedural, and object oriented programming
Throughout, Russell explained how he got into programming and what he enjoys about it. He likes to solve problems but also likes pulling problems apart and figuring out why they exist in the first place. It may be an issue today that new developers only do the former.
I explained the premise of my upcoming conference talk I'll be doing in Iceland at Material and in Cologne at Nightly Build:
I want to give people some inspiration to look back on where the Web came from, and get insight into what another discipline is doing. Other professions may have hundreds of years behind them - the Web is barely a quarter of a century old, yet most of its technologies are already outdated. What insights could we gain from architects, psychologists, engineers? Many established Web developers have grown up with and spent many years immersed in technology and therefore know its history and have a solid intuition about Web development. However, most new developers have almost no clue about how Web development got to where it is today. They are woodworkers with no idea of how the wood was grown, how heavy it is, or how to build something sturdy from it.
Russell explained how many new developers got into Web development for different reasons to more seasoned developers. In the past, to learn programming languages, it was a necessity to be motivated and focused. There were no university courses, bootcamps, video tutorials, CDs, or coding meetups. You learned through typing code, solving novel problems, and finding the smartest person you could in the hopes they'd mentor you. You learned what worked, what didn't and why. Today, there are still ways to learn programming in creative ways, but there are also other, faster routes that don't give so much of a solid, theoretical grounding.
I asked Russell if he thought mentorships or apprenticeships are a good idea. He explained that he has found various mentors over the years to be extremely helpful. Even the blunt, grumpy ones taught him a lot. I got the impression that Web development as a profession is no different to that of any other - it's best to learn it from the 'masters' - those who have been around long enough to have a grip on why things are done the way they are. I think it can help get people excited about solving problems in new and creative ways, which can only be good for the Web.