Responsibilities

Quality Is THE Goal

The software engineering field has a depth of disciplines and practices that are dizzying. The technology, difficulty and complexity are a form of catnip to smart folks. Adding up all of the great work and innovation falls to insignificance if the applications we build fail to meet the requirement. Quality cannot be negotiable.

Nonfunctional Requirements Focus

If Quality hinges on the functional requirements that define the job the application does, non-functional requirements covers all of the areas that a business does not know if covered by the black magic of information technology. Engineers must follow the non-functional directives as closely.

Ethics: A Key Responsibility

A software engineer writes code that can be executed millions upon millions of times. There can be cases where an engineer works on sensitive data, or calculates precise finances. It goes beyond staring into a monitor and modifying source code. It is the impact of what that code is intended to do that requires an ethical standard.

Estimation: Never Accurate

If I were asked to estimate how long it would take to put together my kid’s swing set, I would give you an honest number after looking at all of the parts and bags of nuts and bolts. Even with that information, I would take a lot longer that I thought at first. So, when building an application with murky or preliminary requirements, how accurate can a software engineer be?

Accounting for Time

When I went into the software engineering field, I heard that the way to the top was not done in 40 hours a week. It was customary to work the extra time, even when that work was in an exempt position. Here is the interesting part. When I work lots of hours, and succeed, do I actually report those hours? Encouraging engineers to do this is the only way to help in future estimation.

Education: Ignorance Costs a Lot

My brother in law has continuing education as a physician, and it is hard. Yet I joke at his studies. I have a far harder continuing education because his human bodies and wiring are not changing constantly. I have a new language and environment every few years. To be a computer doctor, I have to re-learn lots more. Education that continues is important for the career engineer.