Академический Документы
Профессиональный Документы
Культура Документы
Quick Facts
Your chances of getting a job as a computer programmer will be better if you earn a bachelor's
degree in computer science, mathematics, or information systems. Some employers will hire you
if you have a degree in another subject such as accounting, finance and business, as long as you
have taken computer science classes.
You may even be able to find work with an associate degree in computer science.
Since experience is as important as a degree is in this field, you should do internships while you
are in school. Once you are working in the field, you will have to keep your skills up-to-date by
learning new programming languages.
In addition to the technical skills you will acquire through formal training and experience, you
will also need the following soft skills to succeed in this field:
Reading Comprehension: You must be able to understand written instructions.
Critical Thinking: When solving problems and making decisions, you should know how
to weigh all your options so you can choose the best one.
Active Listening: This ability allows you to understand instructions from members of
your team.
Attention to Detail and Troubleshooting: You must be able to find small mistakes in code
and fix them.
Are you wondering what a computer programmer does at work? These are some typical job
duties taken from online ads for computer programmer positions found on Indeed.com:
"Perform all activities necessary for the definition, design, construction, testing and
implementation of automated computer systems"
"Review programs on a frequent basis and make adjustments as are necessary to ensure
proper working of the program"
Here are some requirements from actual job announcements found on Indeed.com. Most
employers also require proficiency in particular programming languages:
"Able to work under pressure to meet timelines and handle multiple tasks and changing
priorities."
By the end of this reading you should be able to answer the following questions:
What is Programming?
In the most basic sense, programming means creating a set of instructions for completing some
specific task. In this sense, many of our daily activities can be described as programmaticthey
involve specific steps that often follow a set order. For instance, if you get home from school and
want to make yourself a peanut butter and jelly sandwich, you know that you will have to get
two slices of bread, butter each piece, spread peanut butter on one slice and jelly on the other,
and finally put the two together. If you leave out a step you might end up with something other
than a PB&J sandwich. If you do things out of ordersay, you put the slices of bread together
before you spread the peanut butteryou'll end up with a mess.
In this general sense, our lives are filled with programs and programming. When you make your
bed you follow certain steps in a programmatic fashion. The steps must be the correct ones and
they must be in the correct order. If you want to make your grandmother's favorite apple pie, you
would ask her how to do it, and she most likely would send you a programa recipe. A program
is therefore also useful for replicating a product even if you are far removed from the original
creator of the product.
But programs are not only useful for reproducing products. Humanseven young children
have a remarkable capacity for mastering programmatic processes and behaviors. Take the
familiar children's game, One Potato, Two Potato. This chant is a common way for children to
choose who is going to be "it" in a game. The children will all stand in a circle around the
counter and hold their fists out in front of them. The counter recites the rhyme, striking each fist
in the circle in turn for each word of the rhyme. When the counter strikes a fist on the last word
of the rhyme"...seven potato, more."that fist is knocked out of the game. The counter then
repeats the rhyme, each time knocking out another fist. The last person with a fist remaining
raised is "it". This simple game has all of the elements of a programa set sequence of events,
actions performed based on the outcome of a process, and repetition.
In the context of computing, programming means creating a set of instructions not for a person
but for a computer, in order to accomplish a specific task. To do so you use a set of directivesa
programming languageknown to both the programmer and the computer operating system.
The kind of things we program computers to do is different from what we program ourselves
to do. Usually a set of instructions, or program, for a computer is intended to complete a task
that:
It is important not only to give the right commands or stepsthey must also be given in
the correct sequence. We can easily see in some of our mundane examplesmaking a
sandwich, tying one's shoes, following a recipethat proper order is essential to our
success. We might call such obvious sequences task order, because the proper sequence is
dictated by the nature of the task.
But there are also procedures in which the order of steps is unimportant. Often in such
procedures, a conventional order emerges to avoid confusion. An excellent example in
the U.S. context is addressing letters for mailing. Every school child knows that you do it
in this order:
Oddly enough, this conventional order is exactly the reverse of how the address is
examined at the various postal distribution points in the mail system. The post office at
the point of origin would look at the country and put the letter in a pile for international
mail. The distribution center in the destination country would look at the zip code and
perhaps state. The local post office would examine the street address and place it in the
proper mail carrier's route, and the mail carrier, upon arriving on that street, would place
it into the mailbox bearing that address. Finally, whoever checked the mail at the house
would look at the name and give the letter to the person it was addressed to.
In some countries the conventional order follows the logical task order in addressing
envelopes. In Russia, for example, letters are addressed in exactly the opposite order to
the U.S. convention.
Example: You want to clear your screen of all buttons and fields, show a field with text,
wait for the user to click, then hide the field and show the former ones.
To work correctly, not only do all the commands have to be there, they have to be in the
right order.
II. Conditional structures (Do certain things based on a true or false, yes or no decision.)
These provide for one outcome or sequence of events to be executed if a statement is
true, and another outcome or sequence of events to be triggered if the statement is false.
In most programming languages these structures take the form if . . . then . . . else.
The One Potato, Two Potato game uses lots of conditional decisions.
If the counter lands on your fist on the word "more" then you must remove your fist from
the circle.
If both of your fists are knocked out of the circle then you are out of the game.
Computing examples:
Example 1:
If a word exists in a list, then print it out,
Else tell the user that the word does not exist.
Example 2:
If a sentence contains the word "silly" then put that sentence into the silly list.
Else if it doesn't contain the word "silly" then put it into the serious list.
Again, the One Potato game provides an obvious example of a looping structure. The
rhyme is repeated and fists counted for as many times as needed until just one person is
left.
Another Example:
Given a list of party guests, assign everyone to one of three groups for "ice-breaker"
games.
Programming Strategies
Programming can range in complexity from solving small problemslike setting an alarm time
on your watch or cell phoneto very sophisticated instructional or business applications. For
more complex tasks, you can use these strategies to help you think through the logic of your
program before starting to write code.
(Click to enlarge.)
Top-down design
Top-down design is a way of approaching a complex programming task by first mapping out the
entire program and identifying the major components that it will require. Then the programmer
would use flowcharts and general statements to represent the logical flow of your program. Once
the major components are identified, the programmer then focuses on each component in greater
detail, finally culminating in writing the actual program code for creating each component.
In the example at right, we have represented the program for playing One Potato, Two Potato
using a top-down approach. Each shape in the flowchart represents a major step in the game.
Combinations of shapes and arrows show conditional if-then decision points, as well as
looping structures in which segments of the program are repeated, perhaps with slight variations
in each iteration.
(Click to enlarge.)
Pseudocode
This term, from the prefix pseudo-, 'false' and the root word code, 'programming instructions',
describes a way of representing the detailed steps your program must perform without having to
worry about the specific vocabulary or syntax of a specific programming language. You use your
knowledge of the basic control structures, common sense and logic to write plain-English
statements to explain in detail how you will accomplish each main step. All of the examples
shown here and used in class could be considered forms of pseudocode.
Here is an example of pseudocode that describes our One Potato, Two Potato program. Notice
how it attempts to detail all of the steps, conditional statements and looping segments using
simple statements, indents and minimal punctuation brackets.
Is This Occupation a Good Fit for You?
Related Occupations
Median
Annual Minimum Required
Description
Wage Education/Training
(2014)
Sources:
Bureau of Labor Statistics, U.S. Department of Labor, Occupational Outlook Handbook, 2016-
17 (visited February 3, 2016).
Employment and Training Administration, U.S. Department of Labor, O*NET Online (visited
February 3, 2016).
A computer systems analyst helps a company or other organization use computer technology
effectively and efficiently. He or she incorporates new technology into a company's current
system after doing a cost-benefit analysis to determine whether doing so is financially sound and
will serve the entity well.
There are three types of computer systems analysts. Systems designers or architects find
technical solutions that match a company's or organization's long term goals.
Software quality assurance (QA) analysts test and diagnose problems in computer systems.
Programmer analysts develop and write code for software that meets their employers' or clients'
needs.
Quick Facts
They work directly for organizations in a variety of industries or as consultants who are
on the payrolls of information technology (IT) firms.
Most computer systems analysts work full-time and many work more than 40 hours a
week.
Those who work as consultants often have to travel to their clients' offices.
The U.S. Bureau of Labor Statistics classifies it as a "Bright Outlook" occupation because
of its excellent job outlook. This government agency expects it to grow much more
quickly than the average for all occupations through 2024.
These are some typical job duties taken from online ads for computer systems analyst positions
found on Indeed.com:
"Research, evaluate and recommend new technologies for service delivery and
improvement"
"Identify and recommend new design tools for use in communications projects"
"Design, develop, program, install, implement, conduct research for, and maintain
internal data processing computer systems and utilities for customers on a contract basis"
"Publish weekly reports that identify progress made towards implementing monitoring by
application and by environment"
You will most likely need a bachelor's degree in computer science or a related field to work in
this occupation, but some employers will hire applicants who don't have a college degree. You
may also need a background in the industry in which you want to work, for example insurance or
health. Because this occupation integrates business and technology, some employers prefer to
hire job candidates who have a master's degree in business administration (MBA) with a
concentration in computer systems. You will have to earn a master's degree in computer science
if you want a more technical job. Regardless of where you work, you must keep up with trends in
the tech industry.
A computer systems analyst must have certain soft skills, or personal qualities, in addition to
their technical skills:
Problem Solving and Critical Thinking: These abilities will let you readily identify
problems and then evaluate alternative solutions to determine which one is best.
Communication Skills: Excellent listening skills will allow you understand your clients'
or colleagues' needs. Strong verbal communication skills will permit you to convey
information effectively.
Reading Comprehension: You will have to read manuals and technical reports to keep
up with advances and implement new technology that meets your employer or clients
needs.
Analytical Skills: You will need the ability to analyze large amounts of data.
We again perused job announcements on Indeed.com to see what qualifications, other than
technical skills and experience, employers expect applicants to have. Here's what we found:
"Ability to analyze complex problems and work both alone and as part of a team to find
solutions"
"Strong organizational skills and ability to stay focused while managing multiple tasks
concurrently"
"The ability to establish and maintain harmonious working relationships with teams,
client/user base, and others is required"
MBTI Personality Types: ISFP, ENTP, ENTJ, INTJ, INTP, ESTJ (Tieger, Paul D.,
Barron, Barbara, and Tieger, Kelly. (2014) Do What You Are. NY: Hatchette Book
Group.)
Find out if you have what it takes to succeed in this career. Take the Should You Become a
Computer Systems Analyst? quiz.
Annual
Description Salary Educational Requirements
(2015)
Oversees all aspects of the
Software Bachelor's degree in computer
development of systems and $105,570
Developer science
applications software
Web Developer Creates websites, tending to $64,970 Associate degree in web design
their design and technical
aspects
Software Developer
When you use a computer, cell phone, tablet, video game system, or e-reader, or use a software
program, game, or app on any of these devices, you have a software developer to thank for
making it possible. These computer science professionals oversee everything involved in
creating the software that makes these devices functional and useful.
There are two types of software developers. Systems software developers create the software that
makes computers and other devices run.
This includes the operating system your computer or other device uses. Applications software
developers design software programs like word processors, databases, spreadsheets, and games.
These applications may be mass marketed or developed for businesses, organizations, and other
entities according to their needs and specifications.
Quick Facts
In 2015, systems software developers earned a median annual salary of $105,570 while
application software developers earned $98,260.
396,000 people worked as systems software developers and 718,000 people were
application software developers in 2014.
The computer systems design and related services industry employed most of them, with
others commonly working for computer and electronic product manufacturers, finance
and insurance companies, and software publishers.
Software developers usually have full-time jobs with many working more than 40 hours
each week. Some developers telecommute.
The U.S. Bureau of Labor Statistics classifies this as a bright outlook occupation. The
government agency predicts employment will grow much faster than the average for all
occupations through 2024.
These are some typical job duties taken from online ads for software developer positions found
on Indeed.com:
"Code and test software based upon software specifications and design"
"Analyze user needs and software requirements to determine feasibility of design within
time and cost constraints"
Are you interested in this career? While you are not required to have a bachelor's degree, most
people working in this field do. Majoring in computer science with a focus on building software
can prepare you for your first job. Some employers even prefer job candidates who have a
masters degree.
Software developers who work in some industries must have skills related to it. If, for example,
you want to develop software for an insurance company, you need to have a good understanding
of how that industry operates. This knowledge will allow you to develop software that suits the
needs of those who will use it.
What Soft Skills Do You Need?
Communication Skills: You will need effective listening and speaking skills in order to
convey instructions to colleagues who are working on projects you are overseeing.
Interpersonal Skills: Since software developers are often part of a team, they must be
able to get along and work well with others. This skill set, which includes social
perceptiveness and the ability to coordinate your actions with others' actions, is also
essential when dealing with clients.
Analytical and Problem Solving Skills: The former will allow you to determine users'
needs and the latter to troubleshoot problems that develop during the development
process.
Detail-oriented: You must be able to pay careful attention to multiple parts of the
systems and applications on which you are working.
Creativity: As a developer, you will have to come up with ideas for new applications and
systems.
We again looked at job announcements listed on Indeed.com to find out what qualifications
employers are seeking:
MBTI Personality Types: INFJ, INFP, INTJ, INTP, ISTP (Tieger, Paul D., Barron,
Barbara, and Tieger, Kelly. (2014) Do What You Are. NY: Hatchette Book Group.)
Take the Software Developer Quiz to see if you have what it takes to succeed in this career.
Occupations With Related Activities and Tasks
Annual
Description Salary Educational Requirements
(2015)
Bachelor's degree in computer science for
Helps companies most jobs; more technical jobs require a
Computer effectively and master's in computer science; some
$85,800
Systems Analyst efficiently use employers prefer applicants who have a
computer technology master's in business administration with a
concentration in computer systems.
Writes code that
converts a software
Computer Bachelor's degree in computer science,
developer's design into $79,530
Programmer mathematics, or information systems
a set of instructions a
computer can follow.
Software Quality
Develops and executes
Assurance
test plans to identify $85,240 Bachelor's degree in computer science
Engineers and
problems with software
Testers
Those who provide help over the phone, via online chat or email, are called help desk
technicians.
Employment Facts
There was a total of approximately 723,000 computer support specialists employed in 2012.
548,000 were computer user support specialists and 175,000 were computer network support
specialists. A variety of industries employ these technology workers. Some work for companies
that provide technical support to many different companies on a contract basis. Technical support
specialists sometimes work from home, but others travel to clients' offices.
Most people in this field work full time but not always during typical daytime hours. Computer
users need support 24/7 and therefore support specialists can have schedules that include
evenings, nights, weekends and holidays.
Educational Requirements
All employers require that those they hire have computer expertise but many are flexible
regarding how they get it.
While some will only hire computer support specialists who have a bachelor's degree, that is not
usually the case. Some employers prefer job candidates who have an associate degree in
computer science, but many others will hire workers who have just taken some computer classes.
Why Do You Need to Know About Educational Requirements?
Other Requirements
In addition to their technical skills, a computer support specialist must have certain soft skills, or
personal qualities, to succeed in this field. Strong active listening skills are a must. Without them,
he or she won't be able to understand peoples' needs. Good speaking skills allow a computer
support specialist to convey information to those he or she is trying to help. Also required are
good critical thinking and problem-solving skills.
Advancement Opportunities
After spending time helping customers or in-house users, some customer support specialists are
promoted into positions where they help improve the design and efficiency of future products.
Those who work for software and hardware companies often advance very quickly. Some people
who begin in this position later become software developers and network and computer systems
administrators.
Why Do You Need to Know About Advancement?
Job Outlook
The Bureau of Labor Statistics predicts that employment of computer support specialists will
increase about as fast as the average for all occupations through 2022.
Why Do You Need to Know About Job Outlook?
Earnings
Computer user support specialists earned a median annual salary of $47,610 and median hourly
wages of $22.89 in 2013 (US).
The median annual salary for computer network support specialists was $61,830 and hourly
wages were $29.72 for the same year.
Use the Salary Wizard at Salary.com to find out how much a computer support specialist
currently earns in your city.
These are some typical job duties taken from online ads for computer support positions found on
Indeed.com:
Assist callers with requests for information technology services, repair or support
requests, complaints, and inquiries and direct to appropriate IT personnel via computer
tracking system.
Document user calls, issue resolution, and related processes and procedures.
Answer questions or resolve computer problems for clients in person, via telephone or
from a remote location.
Are you wondering what a desktop publisher does? Take a look at your favorite restaurant's
menu, the brochure of that city on your bucket list of places to visit and that magazine on your
coffee table (or on your e-reader). Whether you saw those items in print or online, it's likely a
desktop publisher played a role in their creation. He or she used publishing software to produce
them and also is responsible for creating other materials like financial reports, business
proposals, books, newspapers, newsletters, packaging, tickets and business cards.
A desktop publisher formats and combines text, numerical data, photographs, illustrations, charts
and other visual graphic elements.
Employment Facts
There were about 16,000 people employed as desktop publishers in 2012. Most work in the
publishing and printing industries. Others have jobs in in-house printing departments of
advertising and public relations firms. Hours are typically full-time and overtime is often
required to meet deadlines.
Educational Requirements
You don't need a college degree to work as a desktop publisheryou will learn many skills on-
the-jobbut an associate degree or certificate will allow you to take advantage of the best job
opportunities. Make sure to develop strong computer skills particularly with publishing
programs. You should be proficient with all desktop publishing software such as InDesign,
PageMaker, Illustrator, and Photoshop. Some employers prefer to hire those who have a
bachelor's degree in graphic design or graphic arts.
Why Do You Need to Know About Educational Requirements?
Other Requirements
In addition to technical skills, you will need certain soft skills, or personal qualities, to succeed in
this occupation. For example, you should have artistic aptitude. You also need strong critical
thinking skills in order to weigh the pros and cons of alternative solutions to problems.
Active listening and good speaking skills will let you receive information from, and convey it to,
colleagues and clients. You must also be detail-oriented, well organized, and have good time
management skills.
Advancement Opportunities
Workers with limited training and experience may start as helpers receiving instruction from
experienced desktop publishers. As one masters more skills, keeps up with new software and
gains experience, he or she can advance to positions with greater responsibility. This can include
supervisory or management positions. Some desktop publishers may start their own companies.
Those who are more artistic and who have furthered their education may find opportunities in
graphic design or commercial art.
Why Do You Need to Know About Advancement?
Job Outlook
The US Bureau of Labor Statistics forecasts an employment decline in this occupation through
2022. A college degree or experience will increase your chances of finding a job.
Why Do You Need to Know About Job Outlook?
Earnings
Desktop publishers earned a median annual salary of $38,200 and median hourly earnings of
$18.37 in 2014 (US).
Use the Salary Wizard at Salary.com to find out how much desktop publishers currently earn in
your city.
These are some typical job duties taken from online ads for desktop publisher positions found on
Indeed.com:
Create and format placemats, flyers and newsletters/brochures using both company
templates and custom designed PowerPoint layouts and Word templates to meet
requirements.
Import and format copy and graphics into existing design templates.
Complete all document creation and modifications accurately and within the expected
timelines.
Design graphics for traditional and online advertising, social media, promotions, etc.
Troubleshoot and problem-solve document or file issues such as fonts, artwork or other
depictions, graphs, tables, etc., and determine best course of action.
Utilize a variety of software programs to produce projects.
Annual
Educational
Description Salary
Requirements
(2014)
Word Processors Types letters and other printed High school or equivalency
$36,700
and Typist materials using a computer diploma
Performs clerical functions in an
Secretary or Many employers prefer to
office such as filing, making
Administrative $33,240 hire job candidates who
appointments and writing
Assistant have an associate degree
correspondence
Checks transcripts for
Proofreader typographical, spelling and $34,980 B
grammatical errors
Web Developer: Career Information
A web developer tends to the technical aspects of creating websites. He or she creates
applications for the web using software languages and tools.
There were 209,000 people working in this and related jobs in 2008.
Many employers prefer to hire web developers who have earned a bachelor's degree in a
computer-related field, but experience and certification may suffice for some jobs.
Job growth for web developers is expected to be much faster than the average for all occupations
through 2018.
Computer network, systems and database administrators, including web developers, earned a
median annual salary of $77,010 in 2009.
Use the Salary Wizard at Salary.com to find out how much a Web Developer currently earns in
your city.