Tag Archives: software development

What’s the secret to going from good to great?

Every summer I take a week off of work to spend time with my wife’s family to just relax and play. The week also gives me time to catch up on whatever it is that I haven’t fitted into my normal, yet seemingly busy, life.

This year, I had the opportunity to read the The Big Short, a book by Michael Lewis. It is well-written tale on the real estate bubble of 2008 and the ensuing financial market meltdown. The entire book is amazing — one that was tough to put down — but there was one quote in it that jumped out at me:

If you’re in a business where you can do only one thing and it doesn’t work out, it’s hard for your bosses to be mad at you.

I can easily relate to this quote because I’ve tended to have multiple roles in each one of my jobs. While some roles weren’t right, these experiences validated my initial assumption that I have a passion for technology. And it is passion that has allowed me to go from good to great.

So what are the two things that hold us back from finding our passion?

The first thing is a lack of motivation. We’re such creatures of habit that we tend to fight change. That is why it is critical to experience new things, like getting out of your comfort zone, and to test (and retest) your limits every so often. You never know when you finally understand that one programming concept or overcome that one physically impossible challenge.

The second thing is a lack of curiosity. Ignorance is bliss! We simply don’t know what we should know.

At the end, if you don’t find either motivation or curiosity you’ll need to accept the fact that reaching your full potential is no one’s fault but your own.

PS If you’re a finance geek, this book is definitely for you!

The traits of modern web developers

One of my favorite blogs on software development is Jeff Atwood’s Coding Horrors. Jeff is a programmer turned blogger that has a unique (and real) perspective on the psyche of developers. His blog posts are based on a topic that he’s researching for work or fun, which is something that I also do regularly.

In a recent search, I came across a blog posts from 2006 on “modern software development” (source) where Jeff he explains that development really hasn’t changed much in the past ten years. Based on my experience of working with developers both on client and agency side, I think that he’s spot on. Looking at his list, I came up with only a single addition (which appears in red/bold) for traits of modern developers:

  • Store code in a source control repository. The beauty of using source control solutions, such as SVN/subversion, Git, or Visual Source Safe (VSS), is that a team of developers can develop code without overwriting each the changes made by each other.
  • Deploy code using scripts. With a script, developers can automate the launch of a website, this ensuring that nothing is missed in the process.
  • Develop using TDD or Test-driven development. Instead of writing code first, developers focus on writing tests for their code. This provides a solution to limit the number of bugs as a unit test can also serve as a low-level regression test as new code is introduced.
  • Reuses code when possible. Modern developers know that they don’t need to re-invent the wheel. Instead of rewriting code, they tend to reuse code that’s already working. This translates to saving development time, plus it allows developers to focus their energy on learning something new.
  • Apply the Model–View–Controller (MVC) architectural pattern. Since code is logically separated into 3 tiers (data layer, presentation layer, and business layer which connects the other two), developers can more easily maintain their code.

The good news is that the barrier to become a modern developer is low. Old school developers only need to adopt the MVC pattern to be new again.


NOTE: Stonehenge photo was provided by Danny Sullivan.