Wouldn't it be nice if there really were a "Program for the Future" -- a foolproof, sure-fire procedure for navigating the maze of getting a higher education and career in information technology? Its computer "source code" might read something like this:
END /* graduate
GET all_the_money_you_need FROM grants AND scholarships
END /* graduate
FIND the_perfect_job_for_you IN your_field
GET everything_you_need_and_more FROM paychecks AND benefits
Unfortunately, there are no hard-and-fast rules that work the same way for everybody to produce the best results every time. And if you don't put any effort into your school search, your studies, or job search...have you heard the famous saying about the results computers will produce if they have bad input: "Garbage in, garbage out"?
But good schools, money for tuition, experience, and good IT jobs aren't really very hard to find; any human can do it, especially with computers and the Internet to help.
You can improve your chances of getting into a good computer school, and of doing well there, if you prepare for it in high school or while you're studying for your GED.
Mr. Leigh Weber, Principal of Weber Consulting Services, LLC and Vice-President of the Independent Computer Consultants Association (ICCA), advocates a skill set including the hard and "soft" skills.
"The computer science and technology fields are very broad. A student may have an idea of their interest, but it may change significantly once they attend college or enter the work force. Some obvious choices are logic, reasoning, and math skills. Less looked at, but critical, skills to learn include communication skills (writing and speaking); how to work as part of a team; and how to lead a team. No technology should be built in a vacuum, so detailed understanding of the area the technology supports is very important to one's success; for example, if you want to help schools use technology, then you need to learn how schools operate and function and learn how people learn, then see how technology helps in the learning process."
Many, many different schools offer programs in information technology and computer science because employers have a high demand for graduates with technical skills. These programs can often be taught online, which means schools can reach many people for less cost.
Jetton has this to say on choosing what type of school to attend:
"[E]ach [option] has pros and cons. Technical [career] schools concentrate courses in a short period of time and many offer certifications or certificates as well as job-placement assistance. Community colleges offer both one-year certificates with concentrated studies [and] two-year associate degrees which provide a more rounded education with some non-technical courses required. Limited job-placement assistance is also available. Universities offer four-year degree programs which require more investments of time and money for a totally well-rounded education suited for many fields. In fact, many employers still require a four-year degree for all professional jobs; however, for technical-support positions - in many cases - a certificate or associates degree is fine."
Weber suggests making sure that what you'll learn is school is what you will really need out in the real world. What do computer-industry professionals think you should be learning? Check out nonprofit associations like the Association of Computing Machinery (ACM), which has model computer-science curricula, and the Institute of Electrical and Electronics Engineers (IEEE), which, with the ACM, endorses a model computer-science curriculum.
Many professional associations can help you in your computer-school studies and your computer-industry career. Besides the aforementioned ACM and IEEE (in particular, the IEEE Computer Society), you might want to investigate such groups as the American E-Commerce Association™ (AEA™), Black Data Processing Associates (BDPA), Chinese Software Professionals Association (CSPA), Computer Technology Industry Association (CompTIA) [requires certification], The Data Management Association (DAMA) International, Information Systems Audit and Control Association (ISACA®), Institution of Analysts and Programmers (IAP), National Association of Communication Systems Engineers (NASCE), Programmers Guild, Service & Support Professionals Association (SSPA), and World Organization of Webmasters (WOW); there are dozens or even hundreds more.
Many professional organizations, as well as a large number of companies in the computer industry, offer scholarships for computer students. Jetton remarks, "Many professional associations with regional or local chapters offer scholarships, many of which go unawarded due to lack of applicants. Additionally, many national organizations offer scholarship programs; you just need to locate them and, more importantly, apply! AITP is one of many organizations that offer scholarships at the national, regional, and local levels, and [it] partners with other high-profile firms in the technology industry to bring even more opportunities to information-technology students and members!"
The computer-related subjects that you'll learn in a computer school will change over time, as the nature of computing devices and software changes. What computer and non-computer subjects should you try to master? Jetton responds, "Basically, the same [subjects I recommended that people study] while in high school - only more advanced. Still focusing on courses in communications (again both oral and written); psychology to learn how to understand, deal with, and work with others; mathematics for the logical problem solving components; and a host of computer-related courses to master topics like the history of computing, various programming languages, network and database administration, and systems analysis & design. Additionally, it never hurts to have good business skills (accounting, marketing, finance, management, and quantitative analysis) to understand the needs of the users that you are developing information systems for in the first place."
And here are Weber's choices of subjects and skills that you should master during a computer education: "Clearly the core competencies of programming, system design, data handling, networking, and system integration. In addition, an in-depth understanding of some aspects of the world, especially building teams; dealing with people; negotiations; business accounting principles; and multicultural understanding. IT teams are often made up of people from many parts of the world."
Weber also addresses the variety of computer careers paths you may want to pursue:
"Many of the high-school students that I've met or worked with all want to be either 'webmasters' or 'game creators.' Most students do not know the breadth and depth of the jobs in the IT field. The jobs range from hardware specialists who design computer chips, to people who build, assemble, and maintain the computers, networks, and other equipment that makes it all work.
Then there are the software jobs where people design solutions that include computer-programming languages, database design and implementation, graphics design, user-interface design, testing and usability, and so forth.
Additional jobs include those who monitor existing systems [to make sure they] are running smoothly, can grow to meet demand, and continue to work for all. For larger, worldwide systems, linguists and cultural experts are needed to build systems that work for each user around the world. We don't want to build systems that in English mean 'something new' or 'bright star,' but in Spanish mean 'it doesn't work.'"
(Weber is referring to the infamous case of the Chevrolet Nova brand automobile; it failed to sell in Latin America because U.S. executives and marketers didn't know -- and didn't bother to find out until it was too late -- that "no va" means "it doesn't go" in Spanish. Though the Nova was a car, similar examples abound of poorly translated and marketed computer hardware and software products.)
While you're in school, internships are a good way to get experience in the computer field before you graduate and have to start "pounding the pavement." A good school will be able to help you find internships; beyond that, Weber says, "Some computer vendors have internships, more often than not in the help desk and support areas, building and upgrading existing computer systems. There may be others."
Jetton adds, "Some organizations provide internships, but generally they are limited to the larger organizations that can provide an intern [with a] sponsor to work side-by-side. Smaller organizations that take interns basically put them straight to [work] with little supervision, which is not always a positive thing. The school placement office and job recruitment fairs [are] excellent sources of information regarding internships."
The school's placement office is also a good place to start looking for a paying job, even before you graduate.
Jetton urges students to work on their resumé while they're still in school so they can have it ready, both for internships and for prospective employers. He recommends that students attend meetings and networking events with potential employers as well:
"The key is start networking through active participation in school clubs, chapters, and/or organizations as soon as possible," so you can familiarize yourself with firms that might emply you and get comfortable with those you like.
When asked whether a student who hopes to get into software development should build a portfolio of code they've written, Jetton says, "Portfolios of code are not really necessary, but being able to talk intelligently about your skills, goals, and objectives is."
Weber largely agrees. "A portfolio can only help, but most school projects would be of little value to a prospective employer. School projects are often one-time implementations that are not designed to be used in production or maintained. When I interview new graduates, I look for people who have an inkling of how differently you have to build code for a business production situation; also, [I look for people] that are willing to receive feedback about how to improve their programming. When we hire a permanent employee, their current programming skills aren't as critical as their ability to learn, communicate, and grow. It is unlikely that the specific technical skill they have today will still be important to them in five to ten years. They'll need to continually learn new skills."
Many IT professionals work as independent contractors, but Weber urges caution:
"Personally, I don't recommend that a student become an independent computer contractor. I usually recommend that a person have at least five (and more often ten) years of experience, with specialization of some kind, before they even attempt to become an independent."
If and when you do, Jetton notes that "Thanks to the web, it is even easier to showcase one's work, especially if it involves websites. Doing projects for associations, clubs, charitable organizations, and so forth, [even if it's] for free or in exchange for other services or recognition, is also a great way to get exposure and showcase your work and talents. Additionally, seeking out other consultants and doing small projects for them and/or their clients is a way to become exposed to this form of work and gain confidence, experience, and a name for yourself."
One thing that can help you land a job is a meaningful professional computer certification.
The fields in demand for certification change constantly, so certification shows your adaptability and willingness to learn the latest tools. But be aware that "cramming" for the certification exams is not a smart idea; if you're hired with the expectation that you can do something in real life that a certification is supposed to prepare you to do, and you're not up to the task, you'll get a reputation as being merely "certified on paper," which is not good for your short-term job prospects or your career.
Whether it involves getting certifications or not, it's important for your career to keep studying new technologies and new developments long after your initial computer education is over, and to be adaptable enough that fluctuations in your job requirements and the industry as a whole won't faze you.
"The information-technology industry continues to be in a state of flux, and due to the rapid rate of change, will pretty much remain so. Today's hot programming or development languages and tools won't necessarily stand the test of time, but no one has a crystal ball either. What will always be in demand are individuals with solid business, communication, logic, and organizational skills, [because they adapt] to changes in the industry more readily than those with very narrow and/or technical skill sets,"says Jettson.
Which computer skills and positions will be in high demand by the time you graduate, and which will be obsolete?
Weber concludes: "Impossible to say. As long as there are systems being used by people, then the administration, tracking, and updating of those systems will exist. The number of people required should decrease as better management hardware and software become available. On the other hand, the entire anti-virus and anti-spyware fields are new in the past ten years and have exploded in need and importance. We just don't know what will happen in five years. Ten years ago the World Wide Web was just starting to have use to the public. Can you imagine the U.S. economy without the Web today?"
When people discuss the differences between the computers of the 1940s and the computers of today, they often make size and power comparisons: Once as big as a house and useful mainly to compute artillery trajectories, computers are now small enough to fit in a pocket and able to do sophisticated data manipulation of almost any kind.
But another difference might be even more meaningful for people thinking about studying and working with computers, and that's presence.
When they were introduced, computers were found only in the laboratories of defense contractors and large universities; now they're in virtually every home and office, and are built into every new car, airplane, phone, camera, and other appliance. As computers continue to become integral parts of almost everything we use, the need for people who can design, build, maintain, direct, protect, and troubleshoot them will only grow.
The future might not have a program, but it does carry the promise of tremendous growth and returns, and as someone who knows computers, that's a promise you'll be able to both help keep and help reap.
W. Randy Hoffman is not a professional developer, but in his younger days he programmed a compiler in COBOL and a text adventure in FORTRAN. Even you young whippersnappers might be able to guess what a sick person that makes him.