Be An Engineer, Not A User

John Oerter
4 min readOct 21, 2015

It’s a wonderful time to be a software developer. The opportunities are abundant and the languages, frameworks, and tooling we use to do our jobs are amazing thanks in large part to our collaborative efforts in the open source world.

One negative aspect I see of this proliferation of excellent libraries and frameworks is the consumer mindset it can bring forth in developers. I think we all struggle with it, and my own struggles in this area are what inspired me to write this post.

The point of this post is not to divide all developers into either “engineer” or “user”. I believe everyone experiences moments on each side. The point is to recognize when we’re acting like users, and to change to the engineer mindset instead.

I also tried to keep the technology of this post as general as possible. I believe these characteristics apply to small things like languages, frameworks, and databases all the way up to larger concepts such as patterns and architectures.

User:
Follows the trends and always picks their technology stack based on what’s hot and popular.
Engineer:
Looks at all the factors when choosing a stack, and isn’t afraid to pick something old or uncool.

This is one I find myself struggling with the most. Take JavaScript for example. We all know there’s a new hot framework or trend emerging every day. This is great because we’re driving the web forward, but we also need to be careful to not just simply be a trend follower.

--

--