What Andy is Excited About

Fascination is a gift

Archive for the ‘software engineering’ tag

The Bizarre Bazaar: Misconceptions of Open Source

Open source software is a strange thing. Often described as a bazaar-like marketplace of innovation, open source software has gained a lot of traction in the last decade. But with its success has come a lot of myths. Let’s settle some of those myths here.

Myth: Open source is just an academic pipe dream.

This was a more prevalent argument 10 years ago. Today, all I have to do is point out that open source software is everywhere. Mozilla Firefox is one of world’s most popular web browsers. A huge proportion of the Internet’s websites are run by products like Linux, Apache, MySQL, PHP, Perl, Tomcat, WordPress, and Java. Google’s Android platform is becoming one of the biggest platforms for mobile devices today. Software developers themselves use a plethora of open source software tools and libraries, the most famous is probably Eclipse. Open source is so ubiquitous, you’d be hard-pressed to argue it’s not relevant.

Read the rest of this entry »

Written by Andy

January 7th, 2011 at 8:00 am

with 2 comments

The Agile Manifesto, in Plain English

Imagine yourself on a team of programmers, and you’ve just finished a new feature. What should you do next? Do you write more code, or test what you have? In the world software engineering, the philosophy that dictates what you should do next is what we call “the process”.

Every software development team has a process, even if it’s not explicitly articulated anywhere. The process tells you what you should do, how much you should do it, when you should do it, and why. Sound boring and bureaucratic? It can be, but it doesn’t have to be.

Read the rest of this entry »

Written by Andy

November 12th, 2010 at 8:00 am

without comments

5 Reasons to Love Programming

Guy at a computerIt’s no secret that I love writing code. I’ve been writing software for over a decade, making programming not only my longest-running hobby, but the cornerstone of my career.

Why do I love it so much? Here’s my list.

Read the rest of this entry »

Written by Andy

October 1st, 2010 at 9:00 am

without comments

Reducing Paranoia with Unit Tests

The green bar is your friend.

Remember long division? Remember how confusing that process was to learn? With me, every long division problem was like a jigsaw puzzle wrapped in a Sudoku wrapped in a Ken-Ken.

Writing software is another activity that can be confusing and error-prone. Programming create lots of loose ends you need to keep track of. And with such a complex activity, how do you know you have arrived at the correct solution?

Enter the unit test: a software development practice designed to reduce bug paranoia and improve how well developers sleep at night.

Read the rest of this entry »

Written by Andy

September 10th, 2010 at 12:01 am

without comments