and most serve me well No images? Click here People ask me what to focus onMy getting started with PETAL blog post has had a very decent bit of ongoing attention. I've recently expanded my Wisps feature on the site to allow clicking the number and seeing which pages are being visited. I like it, you should try it out, maybe discover something. I also published Part 2 of my series on 10 years in the vertical. A post-mortem on a series of products I was part in building. Beyond that Sophie DeBenedetto can't keep her mouth shut ;) Focus on all of it?I've mentioned in a previous newsletter how in software development we work with a fractal of complex systems. Zoom in on any part and a complex system emerges. This is sort of in line with Gall's law which state:
Complex systems that work tend to be made up of a multitude of simple systems, depending a bit on how you slice it. So when learning I have generally not intentionally gone "okay, time to learn Linux servers" or "time to tackle SQL". I've learnt shallowly and wide and then gone deeper as required. I've started as a generalist. But your generalist skills just end up being your foundation after a few years. I know enough about databases and SQL to not spend much time thinking actively about it. I don't ask myself how I will manage to stand up a virtual server instance and run my application. Instead, the foundational knowledge of a generalist means I know that I can use these tools and do these things. What I'm concerned about is mostly how to remove pain from the process. How to scale it. How to remove demands on human intervention or how to structure it for particular scaling requirements. When I've internalized know-how in something, it generally stops being particularly interesting to think about for me. And that's when it gets easy to use it for building things. I'm not learning the thing, I'm just using it. I'm always learning in some part of a project and I still go both wide and deep. I don't know if breadth first is a good way to learn if you are making the move into development as a grown-up via bootcamps or self-study. I think it can make sense to tackle a specialist stack first there, constrain the scope. But there is immense benefit to learning widely in the long term, so expanding your scope is likely to pay off. I went wide, and deep, and wide, and deep while I was still in my teens. Time was infinite and I could screw around with computers constantly. The stakes were very low. This is not necessarily an attitude you can have about your livelihood. I do try to give actionable advice when people ask me what to learn next. And when someone knows how to program I think building the capacity to do things yourself, end-to-end can be powerful. Can you deploy your stuff on your own? Can you set up Postgres? Even as a frontend-focused dev these things allow you a lot of autonomy. If you know Linux decently you have a ludicrous amount of options available to you for doing personal projects and as a platform for further learning. So yeah, foundations, they are important. But be kind to inexperienced devs, this stuff takes time to build up. If you have thoughts, please reply or email lars@underjord.io. I'm also on Twitter as @lawik. Happy to hear from you all. As always, thank you for your attention in reading this, I appreciate it. - Lars Wikman |