comp 2903 a10 – software engineers and computer programmers danny silver jsocs, acadia university
TRANSCRIPT
COMP 2903A10 – Software Engineers and
Computer ProgrammersDanny Silver
JSOCS, Acadia University
Quiz
• What is the difference between a software engineer and a computer programmer?
US Dept of LabourOccupational Outlook Handbook, 2010/11
• Computer Software Engineers and Computer Programmers - 2010/11 edition
• http://www.bls.gov/oco/ocos303.htm
Overview
• Software engineer jobs projected to grow 32% over next decade
• Computer programming jobs projected to decline by 3% through 2018
• Jobs prospects best for university grads
• SMILE .. http://www.youtube.com/watch?v=meojjJXcdNI&feature=related
Software Engineers
• Apply the principles of computer science and mathematical analysis to the design, development, evaluation of various software and systems
• Tasks evolve quickly, reflecting new areas of specialization - changes in tech and practices of employers
• Emphasis on analysis and design, theory of computing systems, structure of software, nature and limitations of hardware and OS
• Must have strong problem-solving and analytical skills versus strictly program coding
Software Engineers
• Two categories:– Computer Applications SE:• Analysis and design specialists• Construct, deploy and maintain systems
– Computer System SE:• Construction, maintenance and expansion of an
organization’s computing needs• Set up intranets and associated computers• Concerned about security and data integrity• May be contracted to do the above for other orgs
Software Engineers
• Undergraduate degree commonly required• Masters degree preferred in some positions• Employers favour experience as well as
degrees• Human communications and business skills
valued -- http://www.youtube.com/watch?v=Df57F1CKK6k&feature=related
• Certification is becoming more important– CIPS ISP - http://www.cips.ca/isp
Programmers
• Write, test, and maintain computer programs• Usually according to the specifications given by
software engineers/analysts• Update, repair, modify, and expand existing
programs• Advances in programming tools and languages have
redefined the role of a programmer– Advanced IDEs allow them to perform SE functions
Programmers
• University degree, but a two-year degree or certificate may be adequate for some jobs
• Certification is becoming more important– .NET certification– CISCO certification
Work Environment
• Offices, often on the road• Telecommuting is common• 40-50 hours / week in 2008• Major work related complaints are:– Eyestrain, back problems, hand/wrist complaints
(carpal tunnel syndrome)
Software Engineers
• 394,800 SE in US in 2008• Projected to increase by 32% 2008-18 in US• Much faster than average for all occupations• Will generate about 295,000 new jobs in US• Internet, web, mobile, security main drivers• 2008 median annual earnings– Computer Applications SE - $85,000– Computer Systems SE - $92,000
Programmers
• 426,700 programmers in US in 200• Projected to decrease by 3% 2008-18 in US• Why? .. See next slide• Variety of programming language skills and
business knowledge will be important for survival
• 2008 median annual earnings - $69,600
Programmers
• Why the reduction in programming jobs?– Consolidation/centralization of systems and apps– Advances in packaged software– Advances in programming languages and tools– Ability of users to design, write, and implement
more of their own programs– Offshore outsourcing of programming jobs– Requires little localized or specialized knowledge –
it can be done from anywhere
Think, Pair, Share
• What do you feel will be most important ICT knowledge skills for your future?
• List three and describe why?
Key Skills• Core CS skills (fundamental programming concepts – syntax/semantics,
logic, math)• Learning how to learn new computer languages quickly• Computer architecture and hardware • Databases• Human communications – communicating complex concepts/designs to
less technical people• Project management, team work skills, • Personal entrepreneurism, self motivation• Mobile computing and data comm• Human computer interaction • AI
What does this say about CS Education?
• An appropriate ending http://www.youtube.com/watch?v=tsM9GaKXdP0