From rules to skills
Becoming a better software engineer means you need to go beyond just following rules. That means learning principles, like the fact you only have a limited ability to keep details in your head. But you also need to learn new skills. Some of these skills are tied to particular technologies: applying new tools, learning new languages. But there are other, less obvious skills you will need to learn.
One that I’ve already talked about is knowing when to ask for help, part of the larger skill of learning. And if you read that post closely you’ll notice the reliance on other skills, like estimation and planning.
Another critical skill for any programmer is writing: taking a vague notion and turning into a reasoned argument. Writing, as William Zinsser said, is thinking on paper, though these days it’s much more likely to be on a computer. There are many books on writing, so to kick off what I hope to be a series of book reviews I’m going to be reviewing a particularly excellent one next week.