Industry Overview: Computer Software
Even though it's only a few decades old, by now the computer software industry has a much-storied past. We've all heard the tales of iconoclastic young entrepreneurs who started companies in their garages and went on to become among the most rich and powerful businesspeople in the world. Indeed, names like Bill Gates and Steve Jobs are better known in many circles than the names of the latest pop music stars.
Today, programming's adventurous and maverick past is still alive; all over Silicon Valley, as well as in other tech hot spots like Boston and Austin, visionary software developers are trying to come up with the next "killer app."
Computer software products accomplish discrete tasks and are sold as complete packages. Categories include applications, such as word processors and Web browsers; operating systems, such as Windows and Linux; and utilities.
Most software purchases are made by businesses seeking better tools to manage the complexities of running operations, record keeping, and controlling the flow of money in and out of an enterprise. It's not always the quality of the code that determines the most successful software, but how well that software meets an actual business need. Probably the quickest way to talk yourself out of a job in this segment is to make the technology seem more important than the end user.
Marketing is critical to the success of any software product, partly because there are so many companies competing in the software market and partly because computers are still new to a lot of people and business processes. In fact, in many companies that produce software, the marketing department calls the shots.
At the other end of the totem pole, technical writers are employed at most computer software companies to write user documentation, either as manuals or, increasingly, as online help. The industry also employs-in descending order of technical expertise-software testers, customer service reps, sales personnel, and staff for the usual array of business functions, from HR to accounting.
In the old days, software developers had to develop products for just a few different types of devices: PCs, servers, supercomputers, and the like-all of them variations on the computer. These days, with each passing year there are more varied types of devices that contain computer chips and need software to tell them how to operate-everything from in-car global positioning systems (GPS), to cell phones that allow users to play video games, to personal digital assistants (PDAs) that can send and receive email, to "smart" household appliances. This increasing variety means a need for more and more new software programs. Meanwhile, the growing use of wireless networking technologies means an even greater variety of software types. The result of all this: Plenty of work for good software developers.
Shipping Jobs Overseas
Dampening the jobs picture a bit is the trend among software developers to outsource work to cheaper labor overseas-to India, for instance, which has a large population of educated, tech-savvy folks willing to work at a fraction of what passes for an acceptable salary in the United States. In general, most exported tech jobs have been at the lower, more grunt work-focused levels, though there's an increasing trend towards sending more skilled tech jobs overseas. Still, at least for the time being, if you're good at what you do, the explosion in software development means software folks should continue to have plenty of job opportunities here in the States.
Software as Service
In the really old days, software was sold in a box, which the buyer would take home (or to his or her office) and install on a computer. More recently, software consumers have been able to forgo the trip to the store and download the software they want directly to their computer systems. Today, more and more, software is being sold as a service; in other words, the software is hosted on the software company's server, and accessed via the Internet by the user, who pays a periodic subscription fee for that access. Software companies of all kinds are experimenting with this model; indeed, these days this new model is even being used with such software as word processing and spreadsheet programs. One of its advantages is that improvements can be made to existing software programs on an ongoing basis; if there's a bug in the program, you can fix it now-today-rather than having to wait until your next official release to give users the benefit of the improvement.
Linux system software, the centerpiece of the open-source movement (which champions free software for all and welcomes and encourages developer contributions to the software), is finally making a splash in the business world. More companies, such as Credit Suisse First Boston and Merrill Lynch, are seeing the benefits of not having to pay for software and upgrades and beginning to adopt Linux environments. What's more, many organizations and even countries feel Linux adoption is a way to curb Microsoft's monopolistic power. Computer makers such as Dell and Hewlett-Packard are responding by shipping PCs and servers loaded with Linux. And big business-software providers such as BEA Systems, SAP, and Veritas are making products that run on Linux.
Meanwhile, the use of other types of open-source software is growing. The Firefox browser, for instance, which is an alternative to proprietary-software browsers like Internet Explorer and Safari, is being downloaded and used by Web surfers with increasing regularity.
Video games now take in more of Americans' money than movies on the big screen, which are themselves less products of photography and more shifting digital displays rendered with extremely powerful animation software. Video game giant Electronic Arts had revenue in excess of $3 billion in 2005, and lots of other players in this space are making a pretty penny. Meanwhile, sales of professional animation software, which can cost thousands of dollars, continue to climb. And the growth in demand for gaming software for non-computer platforms (such as cell phones) is giving a further boost to this sector. Creative types who want to apply their talents to make games can find plenty of opportunities with companies making software meant to entertain.
The computer software market is most commonly segmented according to the type of work a product does. A few of the major market segments are listed below, along with the names of a few companies that are active in each.
Microsoft Windows is by far the dominant example in this category-but not the only one. Apple's Mac OS X is still alive and well, while Linux is gaining a reputation as a reliable alternative in business settings. Red Hat has actually made a business out of packaging and providing support for a version of Linux, which itself is available free on the Internet.
Productivity includes word processing, spreadsheets, presentations, database management, graphic design, and other applications that help people do their jobs. Key players: Adobe (Photoshop, Illustrator, InDesign), Microsoft (Word, PowerPoint, Excel), Autodesk (computer-aided design applications).
The term denotes the large and expensive software packages sold by the likes of Oracle, SAP, and IBM that enable companies to organize the complex flow of materials, payments, and data necessary for the vast cast of global operations that keep the modern corporation working, as well as less expensive niche software packages sold by smaller, niche players in the enterprise software space.
Educational software helps your kids learn to read, teaches you geography or a foreign language, stimulates logical thinking, and so on. This category also comprises children's educational games, the so-far slow-to-catch-on electronic-book industry, teaching resources, and music instruction. Key players: Disney, Microsoft, Scholastic.
A highly competitive and extremely broad market segment, this includes role-playing software, auto and flight simulation, sports, strategy games such as chess, and children's games. Key players: Electronic Arts, Activision, Take-Two, THQ. Also, note that there are many small, thriving studios that use the bigger players for distribution and marketing, as well as big-name individual designers who will work for game companies on a project-by-project basis.
Don't count on the high salaries that were typical of the industry in the late 1990s. Now that software development can be outsourced to many politically stable, English-proficient countries with advanced communications infrastructures, the expanded supply of technically skilled (and low-cost) workers has blunted demand. Still, don't underestimate the power of the local. It's hard to efficiently collaborate with workers many thousands of miles away; many software projects-especially those with tight deadlines, rapidly changing requirements, and applications specific to American regulations and culture-will stay in this country. Take heart from the Bureau of Labor Statistics, which predicts that occupations in the computer software industry will be one of the fastest growing between 2004 and 2014.
Much of the activity in computer software is happening in Silicon Valley, but you also might check out opportunities in other high-tech regions including Boston, Austin, Minneapolis, New York City, Denver, Dallas, Atlanta, Boca Raton, and the Research Triangle region of North Carolina.
Successful software businesses are of course built on more than technical talent. Sales, marketing, and customer service provide many jobs for those who prefer thinking and talking about software to actually writing it. On the technical side, high-level software architecture skills are likely to become more valuable as the nuts and bolts of software projects are outsourced overseas.
The Right Stuff
Consumer software attracts young and energetic people. Software company employees are quick to point out that they feel inspired and challenged by the intelligence and acumen of their peers. Also, there is a strong team ethic that infuses many software companies, with employees sharing a common passion for making a great product.
Your Opinion Counts
Because software development is less capital-intensive than many types of manufacturing, it's more likely that members of the development team will have a hand in making decisions about what goes into the product. Software workers enjoy the sense that they can have a direct impact on product features and cost. And often there is lots of room for creativity in determining how to position a product in the market.
Too Much of a Good Thing
Even software workers who are passionate about their work note that burnout is a real problem. As one industry veteran put it, "Companies feel that every extra day a product is in development is a day of lost market share." So 60- to 80-hour weeks can be the norm. And the short development cycles mean that you are almost always looking ahead to the next deadline-which may only be a few weeks or months away.
No Terra Firma
Some of the most exciting aspects of the industry-its dynamism and fast pace-also mean that there is very little stability in the field. Company priorities (and prosperity) change quickly, and this year's big hit doesn't guarantee a company's long-term independence. (Brøderbund was bought by The Learning Company despite the runaway success of Myst; Maxis, of SimCity fame, suffered the same fate with Electronic Arts.) Some attribute this to the fickle market; critics claim that software companies, big and small, often lack clear decision-making hierarchies and road maps for getting things done. (Some small companies, on the other hand, actually set their sights on being acquired; it can be a part of their business strategy from the outset.)
Watch Out for Gender Bias
The high-tech industry in general clearly needs to work on attracting a better gender balance to its ranks. Not that there hasn't been progress. In software companies' marketing and technical-support areas, women and men are present in about equal numbers. But engineers are almost always men, and women often note that the industry can still seem somewhat male-dominated.
Software engineers are programmers who write the code that makes the software products run. Tasks include implementing and debugging the software. Senior software engineers do some of these same things but also make higher-level design decisions. Software companies typically fill this position with individuals who have a computer science degree or equivalent programming experience. Salary range: $45,000 to $105,000.
As a product specialist you master a specific area within the software development process and attend to relevant projects. For instance, you might take on the area of customer service and help develop customer service procedures for titles published by your company. This is a common starting point for recent college grads. Salary range: $40,000 to $75,000.
Some of the happiest people in this business are the visual designers. The tools and techniques are constantly changing and improving-and though you have to report to the same project or product manager the programmers do, you're often given much more leeway and room for creativity. Customers also understand and pay a lot of attention to the graphics, and if they like yours, you have an enviable career ahead of you. It's not fine art, but many artists would agree it's the most interesting turn commercial design has taken in decades. Salary range: $35,000 to $65,000.
Designer or Content Engineer
This role has several titles and in the past was often shared by the project manager, senior programmers, and others on the development team. But now there is often one person in charge of the user experience and logic flow-how all the text, graphics, sound, and other information fit together. Like a magazine with a very good art director, well-designed content feels natural, inviting, and easily understandable. Software companies are increasingly willing to spend time and money finding just the right writer/artist/interface expert with significant technical experience for this slot. Salary range: $50,000 to $95,000.
Technical Support Specialist
Tech-support people staff the phones and answer questions from consumers who recently purchased the product. If you don't have a tech background, this is a great way to break into the industry, and recent college grads from various backgrounds (and with excellent people skills) can do very well in this area of the company. Salary range: $30,000 to $85,000.
If you have a strong writing background and an aptitude for technology, this could be the job for you. Computer science and economics majors with a flair for writing might also take a look at this position. Technical writers produce materials that support the software products, such as product documentation and marketing white papers. Salary range: $35,000 to $85,000.
Product Manager or Project Manager
Product managers take the software title from conception through development to the finished product. You define the features that the product will encompass and work with teams of designers, engineers, writers, and quality-assurance testers. Product managers typically hold MBAs or have extensive experience in the software field. Salary range: $65,000 to $95,000.
Software Architect or Designer
This senior-level position requires someone with a comprehensive grasp of software design and an understanding of industry trends. Software architects make key decisions about how to put together products and typically oversee a vast array of titles and a large staff. Salary range: $90,000 to $125,000.
As you embark on a job search in the software industry, you should decide first whether you prefer smaller companies or larger industry players. Small companies offer far less in the way of organizational structure and office systems, and you'll often be fending for yourself on the administrative front. You'll almost certainly have a smaller salary, but if you're lucky, a potentially much more generous stock package.
At larger software companies, your job will likely be more narrowly defined, but you'll also have a much greater sense of security that your company will be around in a year or two. If you need some degree of structure in your work, the larger firm is the better bet, though this also means a more settled and very possibly less dynamic work environment. Whatever your preference, here are some tips on landing a job:
- If you're applying for a technical position, you will almost certainly be asked to write some code as part of your interview. You'll also impress your interviewer if you can discuss previous programming you've done-especially if it relates to the type of application you'll likely be working on.
- Whether you're applying for a technical or a business position, you should know the products of the company to which you're applying. It's even better if you can offer suggestions about how you'd improve the product from a user's standpoint, and how that would give the product a stronger position against the competing products on the market.
- Be enthusiastic and energetic. Remember, this is an industry in which 10- to 12-hour days are the norm, and product launches kick off the next product-development cycle. Your interviewers know that their success on the job depends on dedicated work by all members of the team.