This post is a follow up to Derick’s great post. I could not agree with his view point
any more., but it struck a chord with me. There is more to it. To
actually call yourself a software engineer you need to take into account a few
aspects of what an engineer should do.
You’re
Not Paid To Type
Typing
code into a code editor or text editor is not what a Software Engineer is paid
to do. At least, it is not the primary reason this profession
exists. Yes, part of the job is to write code in any number of languages
and platforms. As Derick pointed out, it is more then writing code, it is about
writing tests, and making sure the code you do type works as designed and can be
easily maintained.
All that
being said, the actual act of typing is simple and quick. There is
training in keyboard typing and methods to increase how many words per minute
one can type. So, does typing more code constructs per minute mean you should
to get paid more money? If you turn out more code then the engineer
sitting next to you, have you created more value? See where I am going
with this. Typing is easy, and typing the wrong code is really
easy. I have seen organizations that are fearful of missing deadlines and
dates. Its so unhealthy that the developers think they need to start writing
code NOW, but they don’t really know what they are supposed to be creating.
They do know what to create in the general sense, but they rush intp writing
software without knowing most of the details.
You are
paid to THINK, so start doing that
So, my
main point of this post is that Software Engineers are paid to Think. You
are paid to think about what is the correct code to create, how is should be
constructed to lower the total cost of ownership.
If you
only change one thing about the way you work this year try this.
If you normally get your requirements verbally, trying writing them down.
Write
down your requirements or technical plan in the easiest manner possible. That
could be on a whiteboard, you could annotate a screenshot of an existing
screen, you could use pencil and draw the changes to a print out of a screen
shot. Just do something in terms of thinking about what needs to be done
before you start typing. If you do write down what you plan to do, you
can actually communicate it to other developers. You can have someone else
review it and think through the problem. You can also show it to the
person who will decide if you created the correct software, imagine getting
some feedback on what you want to build before you mess it up?
The two
most valuable ways I have found to write down what needs to be created are
Screen Mockups and Sequence Diagrams. Now, I have been in the web space for a
long time, so if you are not creating websites, or web applications, you may
find that there are better ways to write down what you need for your particular
design problem. Either way , try to write it down. If you are writing
mockups today, then add a sequence diagram for the more complicated problems
and see if it helps. I know it helps me and the developers I work with.
0 comments:
Post a Comment