Anyway, this post is another slight deviation from software engineering, but I still feel it's important to software engineers and it technically is an "answer I couldn't find anywhere else" so I think I'm covered here. I'm going to discuss (read: preach to you) what it means to be a software engineer.
As a software engineer your main, and possibly only, job is to make people's lives easier and/or better. That's it. That's the full meaning. But it usually isn't so clear cut when you're actually working, especially when you're working for someone else.
At various points in my career I've come across some people-who-shall-remain-nameless-but-who-signed-the-check who wanted me and my team to focus on changes that make their lives easier while ignoring changes that would make a lot of other peoples' lives a lot easier and better.
It got me thinking, though. When we're out there in the world coding away like happy little software simians we need to always be mindful of what we're doing and what kind of value we're providing. It's really easy (for me at least) to start to slip down the this-could-be-more-elegant hole and the I-should-make-this-reusable-now-to-plan-for-the-future path while coding. I like to ask myself one thing: who will this help?
Answering honestly, I can say that usually when I'm starting down one of the aforementioned roads I can easily pull myself back to what is important. And what is important? Haven't you been paying attention? The only important thing in software engineering is making people's lives easier. While you're coding, ask yourself these questions:
- Whose job will be easier by using this feature?
- Who will no longer get calls at 3 AM when something breaks because of this feature?
- When this feature is released who will say "THANK YOU SO MUCH!!!!"?
No comments:
Post a Comment