160 likes | 179 Views
Discover the differences and roles of software engineers and programmers, their job outlook, skills required, and the evolution of their professions in the tech industry.
E N D
COMP 2903A10 – Software Engineers and Computer Programmers Danny 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