It is possible to be a licensed software engineer, but almost no one has bothered. License or not, it’s still Engineering
Engineers all make estimates. Some are good, and some aren’t. That’s hardly unique to software engineering. Just another way software engineering IS engineering.
The primary job of an engineer is to balance competing constraints to provide value. This is done via a deep understanding of the problem space, the available tools, materials, technologies, and processes, and the requirements. That’s what engineering is.
Edgser Dijkstra is a giant in the field of software engineering. Over his career he’s said a lot about the way developers go about their business, including how developers need bugs. I don’t necessarily agree, but there’s a lot to think about there.
As leader of a Software Quality team, part of my job is to measure and report on code coverage. The thing is, code coverage, by itself, isn’t enough to prove correctness and provide confidence. But it is something that helps you along the way.
While software engineers are engineers, software development is NOT construction. There are however some similarities between the two. Especially when thinking about remodeling.
We think we want a one size fits all solution because it will be easier and save time. But it never does.
It happens to everyone. What happens next is what’s important. That’s where the blames post-mortem comes in
It’s important to distinguish the how from the what and the why.
You might need permission, but feedback is more valuable.
You can write bad code in any language. You can write good code in any language. The choice is yours.
Perhaps oddly, perhaps not, the traits of an effective software engineer have nothing to do with software