It would be easy to think, like most people apparently do, that stress and the computing (and especially programming) industry were unlikely bedfellows. The habitual image of long-haired young “geek” programmers churning out ‘software’ from their teenage bedrooms is one that many still associate with mainstream programmers. Stereotype or not, this image is still commonly held, and the armies of deadline-bound, overworked and stressed-out programmers in the real World are all but forgotten in the melee that is the result of the technological age.Stress is widespread within the computer industry, perhaps even endemic. From the assembly-line manufacturers forever looking to increase throughput to the debuggers whose time requirements weren’t in the original production schedule, pressure on those who work in the industry is at an all-time high and it is only going to increase as margins drop and further efficiencies are required.Even getting into the industry can be stressful – like private companies, many educational institutions are now usurping control of the code written on their campuses via “ownership” clauses which leave the originators of ground-breaking code with nothing to show for their efforts. Having something to show at interview is becoming increasingly difficult not just for existing programmers, but for the “new wave” just emerging from colleges and universities with excellent qualifications, but nothing they “own” to demonstrate.Once the elusive job does come along, things rarely improve. Our “immediate” society is a result of the computer age and effortless sourcing of products and services via the internet. How many programmers have faced the challenge of meeting impossible deadlines with the threat that the next job will go to cheaper labour overseas that can do it in half the time? This leads to longer working hours, less rest, exhaustion, errors and then the cycle starts again – is that really what we expected when we entered the industry? So how can you reduce the stress put upon you by this relentless march of “progress”.First of all, an ounce of prevention is better than a pound (or should that be a ton?) of cure. By ensuring that your contracts are fair and considerate to both sides, you could remove a lot of stress later on. Here are five easy steps to help prevent stress in you next contract:1. Be HonestIf a deadline is too short – say so. If it seems short now, it will only seem much shorter later.2. Be RealisticWhen you are assessing the requirements of a job, make sure you’ve got some wiggle-room. Nine times out of ten, you’ll need it (or at least appreciate it!)3. Be CertainCheck your facts, figures, requirements and timings. If you have made an error, you want to find out now, not later when you’ll be held to what you quoted.4. Be FlexibleIt helps to have an ace up your sleeve. If things really go wrong, where can you get extra help. Build contingency arrangements with others in your field and help each other out when you need it.5. BewareStress creeps up on you unexpectedly. Do routine reviews against your plan and make sure you’re still on course. If not, DO something about it and always, ALWAYS let the client know.
Being diverse, and able to do something besides just write code, is a key to success in the computer industry. Especially in this current phase of the industry. With many of the programming projects being handled by offshore developers, those of us in the U.S. have to be more creative when it comes to seeking projects and staying employed in the industry. So, how can a industry professional stay busy? Well, first you have to keep in mind what type of jobs are being done offshore. It’s mostly the programming jobs. Hard core bit twiddling! So what does that leave? Lots! In order to write good code, you have to have good specifications. In order to have good specifications, you have to have good analysis skills. There is a lot of demand for folks that have the ability to wrap their arms around a projects, spec it out, and then manage the process. This takes a special talent. You can’t just sit in a cube all day and crank out code. You have to go out and face people. Find out how they do their jobs. Analyze what tools they are utilizing to get the work done. Ask questions. Determine the areas where the tools are lacking. Then “design” a way to either make the tools better or replace the tools with better tools. The job? Project and/or Product Manager!I’m constantly amazed at the number of poorly written applications on the market. I’m not talking about the generic productivity products like Microsoft Office, or cool utilities (virus protection, etc.). But I’m talking about the market where 80% of the work gets done. Small businesses. I’m always getting calls from friends who are involved with some type of a small business. Pool cleaning, pest control (pardon the puns about chasing down bugs), computer repairs, and the list goes on. In all these cases, my friends are complaining about the products they are using. And when I take a look at these products, it becomes obvious that the individual(s) behind those products don’t have a clue about software development. Most of these product were done by folks with industry expertise, but no software experience.For example: Someone who provides termite control services has been struggling with customer data, worker data, and financials. Then this person finds out about Microsoft Access. After purchasing a couple books, they decide to “automate” their business. Then they decide that they would rather be in the software business instead of the termite business. Then you end up with a bunch of termite businesses with poorly written software. The point I’m trying to make? There’s a lot of opportunity for experienced programmers to create and market high quality, vertical market, applications. True, it takes some work, some good analysis up front, and some savvy with marketing, but the potential market is huge. The Job? Entrepreneur/CEO of your own software company.Another huge market for software developers is in entertainment. The console and handheld gaming market is HUGE! Got a good game idea? Spec it out and then write the code. You’ll either have a good game or a demo for showing off your skills. A lot of companies are looking for game developers for the Sony PlayStation and the Microsoft XBox platforms. And if you’re not into working on 10 to 30 person development teams, then go for the PDA and/or smartphone market. The smartphone industry is still growing and there’s a huge demand for entertainment products on these devices. And it’s one of the last areas of the industry where a solo game developer can make a big impact. The Job? Game developer!Is there a product or industry that you’re a big fan of? Say for example that there’s a new massive multiplayer online game coming out and you’re just chomping at the bit to get involved with it. Then why not set up a web based fan site? Get some ad art from the publisher, add a good discussion forum, and presto! You’ve got a cool fan site! If it turns out to be hugely successful, you could be looking at a very nice advertising revenue stream by signing up with AdWords. The more traffic you bring to your site, the more advertising income. And this doesn’t have to be the brash, flash animation, popups that everyone is learning to hate. Just a little sidebar space with a link. You’ll be amazed at what you can make if you’ve got a hot web site running. The Job? Web Wizard!And then if you’re like me, and have to find a way to get your opinions, ideas, and commentary out to the world, then just be a writer. Write about things that you know. Like Star Wars? Cool, then write some stories. Are you a great C# programmer? Then put together a proposal for a book that you think is needed. Or just write some articles and content for any of the many web sites on the topic of your choice.Just because a lot of the programming jobs are being done elsewhere, is no reason to give up on the computer industry. There’s still a lot of exciting things taking place and there’s a lot of room for those of us with a creative streak to make an impact. Find your specialty and go for it!