IT CAREER TRACKS:
Software Engineer
A Software Engineer, also known as a lead software or application developer, software architect, or senior systems analyst, is an IT professional who oversees the creation of software products from initial specifications on down to final rollout and maintenance. These products are often sophisticated systems that run on the web, proprietary hardware or a combination of systems.
DUTIES
Duties of a software engineer typically involve managing the software development cycle associated with producing a resilient software application, including: specification, design, coding, testing and maintenance. With the complexity of modern systems, as well as with the prevalence of disparate technical teams, top notch interpersonal skills are required. A software engineer will generally do less hands-on programming than an application developer or a systems analyst. In many ways, this is a management role where the software engineer manages both a staff of developers, as well as performs project management on one or more software applications. To excel at this role, a candidate must have strong organizational skills, troubleshooting skills, and the ability to deal with customers, staff and upper management with tact, decisiveness and timeliness. A good candidate for this role will have the backbone to convince his or her coworkers and clients that the more time spent on specification and design will in fact save time in coding and testing. Moreover, a candidate should be comfortable with writing and using other design tools associated with the frequent document creation that occurs in all phases of the software development cycle.
PREREQUISITES
A person may consider entering this field after attaining a Computer Science or Computer Engineering university degree or a one or two year computer or engineering technologies diploma from a local technical institute. With the emphasis in engineering principles from a Computer Engineering degree or diploma, this in some ways is preferable to a Computer Science degree or diploma. In any event, the ability to understand a customer’s needs (specifications), and break that down into a coherent design is key to this job. As well, attention to detail is important when the project enters the coding and testing phase. Lastly, perseverance is necessary to complete a system and move it into maintenance mode.
ADVANCEMENT
A software engineer, as he or she gains experience, generally receives more advanced and interesting applications to oversee. Getting the right mix of training and hands on experience will accelerate the career growth of a software engineer. As time passes, the software engineer can continue to specialize in certain types of application development or move more into a management role, or become a full time project manager.
Certification Examples Include:
CIW Associate; CIW Professional; CIW Security Analyst; CIW Web Developer; Master CIW Enterprise Developer; MCAD .NET; MCDBA; MCSD .NET; Project+; RHCE; SCP J2SE
