RSS

What is a Software Engineer?

25 Jan

Have you ever programmed your DVR to record your favorite show? Congratulations, you’re a programmer! But you are likely not skimming the classifieds looking for a job that requires familiarity with Java, Python, or Ruby on Rails.

If you are an accountant by vocation, you may have written a spreadsheet macro or two to make your job easier by automating some repetitive task. Again, that’s programming, but you wouldn’t consider yourself a computer programmer.

A computer programmer (or software developer) makes a living writing programs — programs that are the difference between computers (or devices with embedded computers like cars, DVRs, and pacemakers) and simple mechanical things like toasters or eyeglasses. A programmer often has fairly narrow, well-defined responsibilities. He or she may follow designs or specifications created by someone else to create a program for one specific purpose.

On the other hand, a software engineer has somewhat broader responsibilities, such as creating those specifications with consideration for how the program will interact with other programs or with users. The difference is very much like the difference between a bookkeeper and an accountant. IBM wouldn’t have a bookkeeper set up its chart of accounts and neither would you task a programmer with designing a large software system.

Admittedly, there is a fuzzy continuum involving software development and software engineering. And it isn’t always clear based on a field of study that someone will make a good software engineer. One of the best software engineers I’ve ever had the pleasure to work with was a civil engineer by education, but he brought engineering discipline to writing code for control systems and it was a beautiful thing to behold. Other software engineers I’ve worked with have had degrees in computer science, electrical engineering, and even social work. (Well, maybe that last guy wasn’t such a great engineer.) Software engineering is part talent (perhaps even art) but it requires discipline and intelligence, too.

Many programmers produce fine work for many applications of limited scope. But a software system that your business relies on should be designed — should be engineered — and a software engineer is the person for the job.

 
1 Comment

Posted by on January 25, 2015 in Definitions

 

One response to “What is a Software Engineer?

Leave a Reply

 

Discover more from No Perfect Program

Subscribe now to keep reading and get access to the full archive.

Continue reading