How I Did Agile Long Before It Was A Thing Sometimes when I talk with younger developers they think that all anyone did before Agile was Waterfall. In reality the process of developing software was never just one thing. My first job in 1981 started with a project that operated basically what you might consider waterfall, though of course that
Lessons in Leadership From the Battle of Gettysburg One of my hobbies is studying military history, and one of my favorite people is Joshua Chamberlain. He was essentially a school teacher thrust into war who found himself at the most critical point during the battle of Gettysburg in the midst of the American Civil War 150 years ago
Interview Programmers Like Your Pants Were On Fire Reading about the layoffs at Zynga, people pointed out how great the laid off workers would be to hire, because they had a very rigorous hiring process. I had to laugh. What a waste of time and energy to spend long hours interviewing people trying to find "rock stars&
The Programming Steamroller Waits For No One Of all the things I do or use today, the only thing I have in common with my first job is that I still write code. Everything else has changed and changed and changed again. If you don't keep learning, keep reading, keep improving your skills eventually that
Bug Story - The Lost Cars of Branson I love to read other people's tales of finding and fixing weird bugs, so here is one of my own. I did one earlier that people found interesting: Fixing a Nasty Physically Modeled Engine Bug in an FPS Game. I work for a travel company, and our iPad
The Programmer Skill People Rarely Ask About In Interviews When I started programming in the early 80's there was no Internet, no StackOverflow, no blogs, no easy way to get help on a programming problem. You either figured it out for yourself or went to a library or asked a coworker. Today the entire programming world is
What the Hell Is Really Agile? The Agile Manifesto is one of my favorite things in software development, because it just makes sense. What Agile has become since then is another story. Over the years (and long before the Manifesto) people have tried to come up with many ways to try to make software development more
Fixing Customer Service Costs Money, But Not As Much As Angry Customers Our apps and mobile website allow people to leave feedback. I see the comments every day, and they can be quite interesting, occasionally useless and sometimes irritating. But the ones that make me cringe the most are the ones that have no issue with the app or website, but with
How Flight Reservations Work - Part 1 After my post How Hotel Reservations Work did so well I want to follow up with the Flight version. Flight reservations are such a complicated mess it will take at least 2 or even 3 posts, the first more high level and the last will have to wait until I
My Job As A Programmer Is To Make Testers Miserable It's not what you think. When I deliver something to a tester or QA person, I want them to suffer terribly, to fear coming to work, to wish they had never become a tester, to be drained by the end of the day. Yes, I want them to
My First Programming Job in 1981, and How It Shaped My Career A little more than 31 years ago I got my first programming job at a defense contractor, General Dynamics, in an IT division that supported the F-16 division (now Lockheed). I had no work experience and no education in programming. Unlike today, it was possible to get a programming job
Programmers Should Not Test Their Own Code I should just leave the title as the whole post, as it's a mantra I've had since I started programming as a job, but what would be the fun in that? Now I am not talking about unit testing, or small testing, or whatever you consider
Life is Too Short to Work For Stupid People After reading an article on The Worst Employer in the Country I couldn't help but wonder why people would work there. Of course I've worked for some boneheaded employers as well. Sometimes you can't tell until you've been there for a while.
Ever Take a Minute And Realize How Freaking Amazing Programming Is? Recovering from a bout of gastritis working at home last week, I had a moment of wonder when I finished a bit of code that seemed elegant and thought "how amazing is it I can write a few words and symbols and all sorts of wondrous behavior happens"
How Hotel Reservations Work A recent complaint from a small hotel operator which was posted on hacker news made me decide to talk about the whole process of reserving a room in a hotel. I work for an OTA (which stands for online travel aggregator) which provides flight, hotel and car and cruise reservations.
Copy and Pasting Code Should Be Illegal I don't know how many times in my 3 decades of coding that I have been bitten by someone's copying and pasting of code. Sometimes it's even been me. Copy and paste is such a wonderful idea, you take a little something and duplicate
Quality is Not Job 0xff: There is No Good Enough Anyone who's worked with me knows I hate bugs, crappy design, crashes, lousy performance and other broken stuff. Sometimes I think it's a disease, but if I'm around things that don't work right, I pathologically have to find a way to make
What Programmers Want Is Less Stupid And More Programming After reading this overly long tome: What Programmers Want I thought a bit about programmer motivation. I've been a working programmer for 31 years now, in all sorts of environments from my own startup, big companies to small, even Apple for a bit when they sucked, from defense
Yes I Still Want To Be Doing This at 56 Do You Really Want To Be Doing This at 50? "But large scale, high stress coding? I may have to admit that's a young man's game." No, it's a stupid person's game (sure it's mostly men, but not
How To Succeed At a Job Interview Without Really Trying First thing that you should do is show up late; never look at one of the many fine maps on the internet showing traffic and construction. This would demonstrate common sense which is something no employer ever wants to see. Also make sure that you dress more casual than even
How a Fox, a Chicken, a Teacher and a Lame VP Made Me A Programmer I've been programming professionally for 31 years this October. During that time there have been few periods greater than 2 weeks that I haven't written some kind of code. I never expected to be a programmer, but today it seems inevitable that I would be. It
Coding Under the Watchful Eye of a Lawyer is Not My Cup Of Tea Should developers be sued for security holes. Some university professor is calling for software makers to be made liable for damage resulting from avoidable security flaws in their apps such as sloppy coding leading to hackers emptying users' bank accounts. Ivory tower ideas like this are never possible in
Bad Software, Worse Solutions: Programming Will Always Be Hard Software Runs the World: How Scared Should We Be That So Much of It Is So Bad? The article is not a big deal but the comments were really interesting, especially all the PhD's in Computer Science who said following formal methods would make it all better, plus
Sometimes Programming Is Like Building Your Car While Driving Down the Road Our executive team decided we needed to jump into a related new market and build a new iPhone app in essentially 2 weeks. So we jumped right in with both feet and 3.5 folks and two product people. Needless to say that was impossible and I am sure we
Interviews Can Be a Terrible Way to Identify Good Programmers After reading this article and comments, I really really wanted to laugh. Or maybe cry. Or even throw up. In a nutshell the author of the article seemed to think you should hire a programmer on the spot if they went way overboard on the coding tests and other challenges,