Think of yourself as an architect and a tester, not a coder.

As a software engineer, it’s easy to spend most of your mental energy thinking about coding.  But truthfully, anybody can slap together some code and get it to work… just keep pounding the keyboard and adding lines until it does.  The real skill in engineering is what you do before and after writing each line of code.

The great blessing of software is that it’s malleable (thus soft).  It’s also the biggest curse.  For example, if you are building a house, it’s important to design the whole house before pouring the foundation.  That’s obvious.  But since you can and should change code as you build it’s easy to fall into the trap of avoiding architectural forethought.  Every single development task, large or small, requires this level of thinking.  While I would NEVER argue for writing specifications for every project, taking the time to sketch things down on a scrap of paper and building a mental picture of the finished result is a must.

As long as the architectural thoughts are complete, it is safe to go ahead and “type it up.”  Code like the wind.  That’s the easy part.  If you are doing things well, it’s also the least time consuming portion of development.  And gear up for the fun part which is testing.  You visualized solution, you implemented it, and now you can enjoy the fruits of your labor.  Pound away on your new house and poke holes in your solution.  Nobody in the entire world is as capable as the inventor in finding flaws in the solution.

As you get good at this, it’ll all become a single process.  You’ll be doing architecture, coding, and testing almost simultaneously.  You’ll be an incredible engineer capable of taking big ideas and turning them into working solutions.

Advertisement

Leave a Comment

Filed under Uncategorized

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s