Wednesday, March 28, 2007

Why I hate software development (warning: non-aviation topic)

I hate software development. This is a weird thing for me to say because I love programming, I love creating software; I even enjoy solving bugs and fixing crappy code. However, more and more I’ve found myself getting increasingly depressed and frustrated with the business of software development.

My best friend is rapidly approaching burnout; he’s working in an extremely high stress environment, putting in long hours, striving to meet an impossible deadline, and gradually losing his health. Can you guess what industry the company he works for sells their software too? Must be pretty important right? I guess so, if you’re into eCommerce solutions for window and door manufacturers.

The company isn’t really doing well; the software they produced is usually so buggy and slow that a lot of their biggest customers have threatened to sue multiple times. This results in a heroic effort by the already overworked developers to fix the problems and save the company. I know because I used to work there to, and I left along with half of the development team because I kept seeing the same damn cyclical pattern.

FUZZY REQUIREMENTS + SCOPE CREEP + UNFLEXIBLE DEADLINES = CRUNCH TIME = BAD SOFTWARE

BAD SOFTWARE + ANGRY CUSTOMER = EVEN MORE CRUNCH TIME

HEROIC EFFORT = BARELY SATISFIYING THE CUSTOMER TO GET THEM TO AGREE TO A NEW VERSION

REPEAT

I left that company thinking that surely this was the exception, not the rule. How could you be smart enough to start a company, bring in brilliant people, and then just totally mismanage it to the point where your customers sue you, and you lose your brightest staff? Not only that, but keep repeating the same goddamn mistakes year after year?

Fast forward a year and I’m working for one of the largest banks in the world. This employer is one of the top three largest employers in Columbus, my team works with the Auto Finance division and this was our goal as described by our team lead.

Fix a failed offshore project (bad software) so we can limp it into production, so we can immediately start on a total rewrite/upgraded version (since the original only delivered a tenth of what was needed) of the software in house.

The internal team (us) made our goal; we got the project into production and totally exceeded everyone’s expectations. A handful of developers fixed a failed project that took sixty offshore developers to make. Considering our success you’d think the business we’re supporting would be jumping up and down to proceed to a new version.

You’d be wrong.

Over the past four months we’ve been mostly sitting on our hands, our team has tried and tried again stressing the case for getting a new version up and running quickly, only to be faced with collective silence and stone-walling from our business.

Today things changed; there were some new people in the office today, people in suits, meeting with our team lead and his boss. A VP for Auto Finance flew in from NY, something was up. I joked to a team member that they’re going to offshore PDS again for version 2; we had a pretty good laugh about that.

Until another team member came by and told us that’s exactly what the business is considering doing. The meetings are with another offshore company, the business wants them to look over the code for our project and come up with an evaluation of how long it would take them to come out with a rewrite.

See the pattern? Yup, despite the fact the internal team completely turned around the project, despite the fact they tried to offshore and failed, the business is hell bent on making the same mistake again.

Its all about cost, the original offshore company quoted a price $3 million below the competition, and they delivered a product that met a tenth of the requested functionality. The business wants to throw the dice again and hope that this time another low-bid offshore company will do better.

It’s this kind of insane thinking that has made me sick of software development. This isn’t atypical, what’s atypical in the field are companies like 37signals, Fog Creek, Source Gear, Microsoft, and Google. Everyday I read online at how awesome these places are for developers to work in, and how successful their products are, it makes me physically ill to think how rare those companies are in this field. It’s not like there are any secrets to creating a successful software company, Joel Splosky and Eric Sink's blog basically spell it out to everyone for free!

I’ve been feeling this way for a while, everyplace I’ve worked at as a developer so far has been met with huge disappointment. I hate this industry and my hatred of the stupidity the companies I work for grows with every passing day.

I’m desperate to escape; NOTAMAce.com is an attempt, at least with my own website I’m in control. I can craft my own ads on Google AdWords, I can come up with the design and the copy of the home page. I can decide on the hosting provider and I can control what features go into the site, and which features are cut.

Of course, I’ve thought about giving up software development all together, just change career paths completely. A friend of mine recently suggested building airplanes (laying down carbon fiber for composites), I was pretty surprised how tempting that sounded. Another option is to get my commercial and CFI, start taking up students, maybe ferry some airplanes for the flying club.

I apologize if this post deviates a little; I try to keep this blog aviation oriented, but this was something I had to get off my chest. Almost like last weeks “Designing for the Passenger” post/rant, by the way I was playing around with a new writing style, I don’t usually run around screaming at the top of my lungs about corporate jet jockeys.

Til next time, clear skies!

Saturday, March 17, 2007

Designing for the Passenger (Not the Pilot)

In the eighty-plus years of general aviation, there is one simple fact that I believe GA has ignored (or at least paid little attention too). That most people are terrified of small airplanes.

Scariest thing in the world to a passenger

“BUT PATRICK,” you feverishly type in the comments of this blog, “STATISTICS FOR OVER HALF A CENTURY HAVE PROVEN THAT GA IS SAFER THAN ANY OTHER FORM OF PERSONAL TRAVEL!”

Its not about the actual safety record of general aviation aircraft, its the PERCEPTION of safety. Why do we assume that people can override thousands of years of honed evolutionary traits that have developed the practical fear of falling just like that?

“SEE THE STATS PROVE THAT IF YOU FLY WITH ME YOU PROBABLY WON’T DIE! LET’S GO FLYING!”

Commerical air travel has evolved to the level of use today because it focused on making the passengers FEEL SAFER. This involved practical safety measures (need examples), but a lot I believe had to do with the perception of safety. Jets were installed so airplanes could fly above turbulence, Flight attendants were registered nurses (to alleviate the passenger’s fear of being trapped in a tube in the sky while having a heart attack and no one to offer medical aid), aircraft seats double as floatation devices.

All of these innovations were messages to passengers saying “We care about how safe you feel, don’t be afraid, come fly with us!” They didn’t just tell passengers it was safer, they worked hard to demonstrate to passengers that it was. It still took a couple of decades, but eventually passengers finally relented and BOOM! Commercial aviation exploded and killed off its main competitor in long distance travel, the passenger train.


BIG JET = SAFE

This strategy has worked so well most people have it hardwired into their brains BIG JET = SAFE. This has worked so well it’s sort of come round to bite the airlines in the ass regarding regional carriers and turboprops. Ask a non-pilot relative or friend who has done some moderate air travel in the last few years, they will undoubtedly tell you how much they loath getting on a Dash 10.

Not a "real" airplane

WHY IN THE HELL DO I HAVE TO RID IN THIS LITTLE PUDDLE-JUMPER INSTEAD OF A REAL PLANE? WHAT ARE THOSE SPINNING THINGS UNDER THE WINGS? WHAT IS THIS, 1930? MAN IT’D BE REALLY EMBARRASING TO DIE IN THIS PIECE OF CRAP!

So what can GA as an industry, specifically aircraft manufacturers do to make passengers feel safer?...

Oh wait, were you expecting an answer? HA! Honestly I don’t know, if you’re expecting specific technological, marketing, or sales solution that’ll get your hot wife in the air instead with you instead of staying behind at the FBO lounge (WHERE YOU JUST KNOW THAT SOME MID-TWENTY NETJETS CITATION JOCKEY IS FLIRTING WITH HER RIGHT THIS MINUTE DAMNIT!), I don’t have it.

But a smart company would find out, because a smart aircraft company would realize that in GA we’ve just about reached an upper limit on what matters to the person in the left seat (avionics, performance, cost of ownership) and while we’ve got a person sitting on the right that we’ve completely ignored. A smart company will start take a Right Seat Design approach to building aircraft (and the company), because in the future that’s what will sell new airplanes.

I plan to start such a company.

Saturday, March 10, 2007

IFR Refresher

A while back I went into the simulator with Matt to just do some IFR stuff. To be honest I was a little nervous, I hadn't flown in nearly three months since I got my IFR ticket. So I was a little unsure how well the skills I've developed in the six months it took to get my IFR rating had held up.

To make a long story short, it was awesome!!

Seriously, it was like I had just taken the checkride. In the sim I did the VOR 28 at DLZ (hold at APE), GPS 27 at MRT, and finally the ILS 9R into OSU. Of course it was in the simulator, but the my tracking, procedures, and radio skills all came back to me and everything felt natural. The weather is getting a lot better, and there's starting to be more daylight in the evenings, so pretty soon I plan on doing some real life IFR in marginal VFR weather. Just to make sure.

I have some plans actually for the summer, an idea that I hope will help me fly to some interesting places and meet some interesting people. I'll update this blog when I actually get details worked out. But I'm pretty excited about it!

Clear Skies (or if Cloudy Skies for the IFR folks)!

Dropped from Google

One of the biggest challenges I've had to face in starting my own website hasn't been the actual code. Nope, I can write the software just fine, after all, that's what I do everyday (usually). My biggest challenge so far has been advertising, informing people that my site exists and what it can do for them. For public websites, there has to be some kind of strategy in getting a high rank on the search engines, Google being the #1 search engine to target.

There's some controversy about Search Engine Optimization (SEO), whether is it actually a legitimate practice or not. Unfortunately SEO usually gets a bad rap, there are a lot of people who consider SEO nothing more than "spamming" search engines in order to get a top rank (at the expense of actual meaningful content). In actuality, legitimate SEO practices stress an importance on creating meaningful content, and good website design practices.

Neverless, search engines, especially Google will take a firm hand when they suspect that a site has used unfair practices to gain a higher ranking in their listings. I experienced this first had on Friday when I realized my Google Page Rank for NOTAMAce.com dropped to zero. What this means is that it is practically impossible for NOTAMAce.com to show up on any search listings for "notam" or "notams" in Google (fortunately, my ads for those keywords are still up).

At first I was furious, I wasn't participating in any "link farming", "hidden text", or other dubious practices to gain a high rank. I found the reinclusion request page for Google, however I resented the fact I had to confess that I did anything wrong in what I felt (at the time) was Google's error.

Well, after I calmed down I rechecked the guidelines, and I realized I had inadvertently violated them. You see, it took me a while to come up with the name "NOTAM Ace", a year ago I first launched the site as "Preflight Pro" and placed it on the domains "preflightpro.com" and "notduats.com". Well it turns out Google frowns on the same page under different domains (can't blame them, spammers do that too), so when they found three domains that had the same content, they flagged me.

I had decided to keep the domains active, simply because there were links to some directories and in archives of newsgroups that still had a link to "notduats.com". But I'd rather have NOTAMAce.com reactivated, so I called my ISP and requested the domain pointers be removed, and filled a reinclusion request to Google, explaining my situation and informing them I had taken steps to correct the problem. The time it takes to be reincluded ranges anywhere from two to eight weeks. I hope I get reincluded soon! At the very least I still have my Adwords to help with the traffic.

In the end I don't really blame Google, they have to make sure the listings are legit. I do blame the spammers (not legit SEO guys), who've really poisoned the wells for the rest of us.

Till next time, clear skies!