1、UNIT3 To Be A Good Software Engineer 3-1 Sample Job3-2 Words&Expressions3-3 Reading Material3-4 Exercises O vervi ew The definition of software engineer What does a computer programmer do What kind of qualification do you need to be a computer programmer What do you need to study to become a compute
2、r programmer K ey Poi nts Understanding the fundamental concepts of computer programmer Mastering the job duties of computer programmer Knowing what do you need to study to become a computer programmer K ey w ords:computer programmer,qualification,job duties 3-1 Sample Job J Jo ob b T Ti it tl le e
3、S So of ft tw wa ar re e E En ng gi in ne ee er r D De es sc cr ri ip pt ti io on n The Software Developer will configure and customize client solutions to meet the specifications outlined by internal team members and client feedback.The Software Developer will communicate and build relationship wit
4、h development divisions in US and UK,resolve technical issues directly or find solutions via good discussion with global development teams.R Re es sp po on ns si ib bi il li it ti ie es s 1 1.E En ng gi in ne ee er r s so ol lu ut ti io on ns s w wo or rk ki in ng g i in n a an n S SQ QL L S Se er r
5、v ve er r e en nv vi ir ro on nmme en nt t i in nc cl lu ud di in ng g d de es si ig gn ni in ng g r re ep po or rt ts s a an nd d q qu ue er ri ie es s,i immp po or rt ti in ng g a an nd d e ex xp po or rt ti in ng g d da at ta a,d da at ta a mma an ni ip pu ul la at ti io on n,a an nd d w wr ri it
6、 ti in ng g s st to or re ed d p pr ro oc ce ed du ur re es s.2 2.A As ss si is st t i in n t th he e d de ev ve el lo op pmme en nt t o of f n ne ew w t to oo ol ls s t to o e en nh ha an nc ce e t th he e s so of ft tw wa ar re e o of ff fe er ri in ng g.3 3.WWo or rk ks s w wi it th h s so of ft
7、tw wa ar re e t te es st ti in ng g t te ea amm t to o c cr re ea at te e t te es st t c ca as se es s a an nd d t te es st t d da at ta a.4 4.R Re es sp po on nd ds s t to o i in nq qu ui ir ri ie es s f fr ro omm p pr ro oj je ec ct t t te ea amm a an nd d t te ec ch hn ni ic ca al l s su up pp po
8、 or rt t r re eg ga ar rd di in ng g f fu un nc ct ti io on ns s a an nd d o op pe er ra at ti io on ns s o of f s so of ft tw wa ar re e p pr ro og gr ra amms s.5 5.C Co on nt tr ri ib bu ut te es s t to o e es st ta ab bl li is sh hmme en nt t o of f s st ta an nd da ar rd ds s a an nd d p pr ro o
9、c ce ed du ur re es s f fo or r p pr ro og gr ra amm d de es si ig gn n a an nd d t te es st ti in ng g.R Re ec co ommmme en nd ds s p pr ro og gr ra amm i immp pr ro ov ve emme en nt ts s o or r r re ev vi is si io on ns s.6 6.R Re ev vi ie ew ws s c co ommp pu ut te er r l lo og gs s a an nd d r r
10、e ep po or rt ts s t to o i id de en nt ti if fy y p pr ro og gr ra amm p pr ro oc ce es ss si in ng g e er rr ro or rs s a an nd d p po os ss si ib bl le e i immp pr ro ov ve emme en nt ts s.S Su up pp po or rt ts s u us se er r a ac cc ce ep pt ta an nc ce e t te es st ti in ng g.7 7.R Re ev vi ie
11、 ew ws s a an nd d c co on nt tr ri ib bu ut te es s t to o s so of ft tw wa ar re e p pr ro og gr ra amm d do oc cu umme en nt ta at ti io on n.R Re eq qu ui ir re emme en nt ts s The ideal candidate will possess 2 years of web application development experience with ASP.net and excellent spoken En
12、glish skills.Must have:1.Experience of working with English speaking development team;2.2-3 years of experience engineering Web-based applications and an understanding of the software development lifecycle.Knowledge of SQL Server 2005,ASP,HTML JavaScript,and ASP.net is required.3.Helpful to have exp
13、erience with the following tools:VBScript,Microsoft VB or VB.net.4.Overseas education or working experience is preferred.Education:Bachelors Degree(B.A.)from four-year College or University.Software Engineer(C+)Key Responsibilities 1.Design and code,often for the complex units/modules/products that
14、meet functional and business requirements on schedule and within budget.2.Fix bugs,add enhancements.Perform unit/module testing of software to find errors and confirm programs meet specifications.3.Write automation and unit testing codes for newly created programming features and functions.Assist qu
15、ality assurance team by providing assistance to testers and support personnel as needed to determine system problems.1.Collaborate with quality assurance in creation of their test plans and participate in reviews.2.Evaluate impact of software performance,and recommend changes to software design team
16、.3.Write and maintain documentation to describe program development,logic,coding,testing,changes,and corrections.4.Set up software conFigureuration control and software development environments including program source control to ensure reliable backups and source code integrity.Participate in desig
17、n and code reviews with other developers.Skills and Experience 1.Strong programming experience in C/C+.2.Strong knowledge on Windows programming.3.Strong object-oriented programming experience.4.Strong sense of quality.5.Excellent written and verbal communication skills in English.6.Excellent troubl
18、eshooting skills.7.Has passion for solving complex problems.Working smart and good learning ability.8.Storage software development experience is a big plus.9.Agile process experience is a plus.10.Java programming experience is a plus.11.Experience with database and SQL queries is a plus.12.Prior aut
19、omation experience using QTP,VBScripts,Python,or Ant is desirable.Preferred Education Bachelors Degree or global equivalent in Computer Science or related discipline.Masters degree or global equivalent is a plus.Work Experience Typically 2 or more years of experience in software development.3-2 Word
20、s&Expressions programmer n.计 程序设计者;程序设计器;节目编排者;订计划者 project vt.放映;计划;发射;展现,使突出 program n.程序;节目,节目单;计划,安排software engineer 软件工程师systems analyst 系统分析员eyestrain n.眼睛疲劳;眼过劳back pain背痛carpal tunnel syndrome腕管综合征implement vt.实施,执行;使生效,实现;落实(政策);把填满 application n.应用程序 procedure n.程序,手续;工序,过程,步骤retrieve vt.
21、取回;恢复;计检索;重新得到 discrete mathematics 离散数学 3-3 Reading Material To Be A Good Software EngineerWhat Is the Definition of A Computer Programmer?Computer programmers generally work in a traditional office setting.While overall employment in the computer software field is projected to increase by 21 perce
22、nt before 2018,according to the Bureau of Labor Statistics,job opportunities for computer programmers are expected to decline slowly over that same time period.Job DutiesComputer programmers write,update,repair,modify and expand software programs.Computer software engineers and systems analysts prov
23、ide them with the design overview and program requirements,which the programmers translate into coded instructions that a computer can follow.Programmers work in a variety of programming languages,such as C+,Java and Python.Education and TrainingMost computer programmers have a bachelors or masters
24、degree in computer science or information systems,although a two-year degree or certification may suffice.As technology changes and new systems and programming languages are developed,computer programmers often take continuing education classes or development seminars to keep their skills up to date
25、.Work EnvironmentProgrammers generally work 40 hours or more per week in an office or laboratory setting.The safe environment means few on-the-job injuries,but eyestrain,back pain and carpal tunnel syndrome frequently occur as a result of constant computer use.What Does A Computer Programmer Do?A co
26、mputer programmer or software developer is a person who designs,tests,analyzes and implements applications.There are several types of computer programmers.Some programmers develop web applications,some develop desktop applications,and other developers focus on database development.Computer programme
27、rs work with project managers and company owners to ensure the application is productive for clients and meets the business needs.Web DevelopmentA web programming is responsible for the companys website development.A web programmer needs to know a web language like PHP,VB.NET or Java.Additional clie
28、nt languages like JavaScript and Ajax may be necessary.The developer can benefit from knowing database applications like MySQL and SQL Server since these are necessary for dynamic websites.Desktop ApplicationsA programmer who develops desktop applications is responsible for providing employees with
29、software that provides tools for customer service and sales.Many large corporations have internal,proprietary applications that are necessary for customer relations.These applications also produce reports and help sales people keep track of clients.A desktop application developer may also need exper
30、ience with database applications.Database DeveloperA database developer creates stored procedures that interface with a corporate database server.Stored procedures are coded scripts that retrieve,update or delete records in tables.These tables hold the data that is used to create reports and other a
31、pplications.These programmers work closely with other application and web developers.A database developer also works closely with the administrator to ensure the security and maintenance of the server.AnalystA programmer can also become a software analyst.An analyst is a person who normally has many
32、 years of software development experience.The analyst is a programmer who evaluates a large corporate network for issues or bottlenecks in the software code.An analysts needs good troubleshooting skills and the ability and experience to identify problems in software and the answers for how to fix th
33、em.Report DeveloperA report developer is responsible for creating reports necessary for financial and sales Figures.This type of programmer retrieves the numbers from the database and creates layouts that give owners and managers the reports for daily,yearly or quarterly finances and sales numbers.R
34、eport requirements vary by department,so a report developer needs a good mathematical and analytical background and education.What Kind of Qualifications Do You Need to Be A Computer Programmer?Computer programmers write instructions for computer applications.A computer programmer writes the instruc
35、tions computers use to execute a program in a language the machine can translate.Software designers create the overall design of a program,which the programmer uses to develop the set of instructions he will write.A programmer may work in a group,writing programming code for a portion of a larger pr
36、ogram.Updating and repairing code written by others is also part of the programmers job.EducationEmployers may require a bachelors degree in computer science,information systems or mathematics to qualify for a position.A computer programmer may qualify for a position with a two-year degree or the co
37、mpletion of a certificate program.The coursework for a degree in computer science includes programming,computer systems and mathematics.For example,the University of Pittsburgh requires students to complete a sequence in programming,discrete mathematics,theoretical computer science and computer syst
38、ems.The computer field is constantly changing,which often requires the programmer to complete continuing education courses to remain current in the field.Employers may provide a programmer with an opportunity to attend seminars and workshops to maintain his skills in the latest technologies.Experien
39、ceExperience is an important qualification for a computer programmer.A computer programming student can gain experience in the field while attending a degree program by working for an organization in an internship program.The computer programmer may also gain experience through a training program of
40、fered by the employer.CertificationsSoftware companies offer certification for individuals who demonstrate proficiency in using a product.The programmer can complete certification programs to enhance job opportunities and add to his resume.A computer programmer can complete certification programs vo
41、luntarily by passing an examination offered by a software company.The examination tests the candidates knowledge of the program.SkillsA computer programmer has analytical skills and the ability to solve problems on his own.A programmer must have communication skills to work in a team environment and
42、 to explain the technical information in a computer program to nontechnical users.What Do You Need to Study to Become A Computer Programmer?Computer programmers work in programming languages like C+.Programmers write computer programs and repair,maintain and update existing programs using computer p
43、rogramming languages.The United States Bureau of Labor Statistics classifies computer programmers and computer software engineers in the same category because a lot of computer programming is standardized and automated.This allows programmers to be more involved with the software design and applicat
44、ions areas that were previously the responsibility of software engineers.Preparation to become a computer programmer includes an associate or bachelors degree in computer information or science.High SchoolHigh school preparation for computer careers includes math and science courses.Computer summer
45、camps and workshops give teenagers the opportunity to learn basic programming and learn about career paths in computer sciences.Vocational courses at community colleges offer opportunities to learn about computer hardware and software.Computer DegreesStandard preparation for a career in computer pro
46、gramming includes a bachelors or associate degree in computer science,mathematics,software engineering or information systems.Advancement or management positions may require a graduate degree.Ongoing education to keep up to date with the latest technology and certification through professional compu
47、ting societies and associations provides a competitive advantage.Business and EngineeringMany programmers work on business systems and benefit from business,accounting and finance training.Programmers for large financial institutions,insurance vendors and global management firms need an understandin
48、g of those industries to work on their information systems.Employers with scientific or engineering systems prefer programmers with degrees in engineering as well.AdvancementAdvancement for programmers includes lead programmer and supervisory positions,systems programming opportunities,and systems a
49、nalyst work.Experience in specialized computing languages or operating systems may lead to computer software engineering assignments.Programmers with teaching aspirations may have the opportunity to train programmers or teach college and university programming courses.Job OutlookThe U.S.Bureau of La
50、bor Statistics reports excellent job prospects for computer programmers and software engineers,with employment expected to increase much faster than average.Employment in these occupations is projected to increase 21 percent between 2008 and 2018.Programmers with a bachelors degree and computer expe