Life lessons for the aspiring software engineer
There’s a lot more to the craft of software engineering than just the ability to code. In fact, I would say that the ability to write programs accounts for less than half of the skills that a good engineer needs to have.
What are these other skills? Some of them are personal skills, like the ability to build consensus among diverse stakeholders. Others are architectural skills, the ability to see the big picture and distinguish a good design from a bad one. And one of the most important skills is risk assessment — the ability to evaluate a course of action and think of all of the possible things that could go wrong.
Over the years, I’ve collected a number of stories and lessons which I often tell to junior engineers that I am mentoring. I’ve decided to write down the best of these in a series of essays that I call “Engineering Insights”.
The essays are aimed at people who are starting or considering a career in software engineering, and talk about the kinds of non-coding skills that they will need to acquire if they want to succeed:
The Rise and Fall of Object Oriented Programming
No, object-oriented programming (OOP) is not dead. But it is significantly less ubiquitous than it used to be.
(More articles on the way!)
Got a question for Talin about software engineering? Email firstname.lastname@example.org.