Software Engineer

 

Description:

The Software Engineer’s role is to design, execute, assess, and troubleshoot software programs and applications. This includes configuring, coding, developing, and documenting software specifications throughout the project life cycle. The Software Engineer will oversee system startups in a timely and accurate fashion, and provide support to other departments where required. The Software Engineer will also analyze and amend software errors in a timely and accurate fashion and provide status reports where required.

Description:

The Software Engineer’s role is to design, execute, assess, and troubleshoot software programs and applications. This includes configuring, coding, developing, and documenting software specifications throughout the project life cycle. The Software Engineer will oversee system startups in a timely and accurate fashion, and provide support to other departments where required. The Software Engineer will also analyze and amend software errors in a timely and accurate fashion and provide status reports where required.

Responsibilities:

Strategy & Planning
• Assist other developers, analysts, and designers in conceptualizing and developing new software programs and applications.
• Plan phases of the software development life cycle (SDLC) for a variety of projects.
• Review and analyze existing application effectiveness and efficiency, and then develop strategies for improving or leveraging these systems.
• Assist in the preparation and documentation of software requirements and specifications.
• Collaborate with analysts and designers in the development and initiation of new software programs and applications.
• Oversee the quality assurance of program logic, data processing, and error resolution.
• Develop an awareness of programming and design alternatives.
• Take an active role in cross-departmental projects when needed.

Acquisition & Deployment
• Direct research on emerging application development software products, languages, and standards in support of procurement and development efforts.
• Interact regularly with managers, clients, vendors, and agencies to field queries and questions.
• Recommend, schedule, and perform software improvements and upgrades.

Operational Management
• Research, document, and implement program requirements and specifications.
• Consistently write, translate, and code software programs and applications according to specifications.
• Run and monitor performance tests on new and existing software for the purposes of correcting mistakes, isolating areas for improvement, and general debugging.
• Administer diagnostic analysis of test results and deliver solutions to critical areas.
• Cultivate and disseminate knowledge of application development best practices.
• Develop plans and processes to support the building and release of software
• Perform software builds and release activities, document software build and release procedures
• Gather statistics and prepare and write reports on the status of the programming process for discussion with management and/or team members.
• Determine, develop, and maintain user manuals and guidelines.
• Liaise with company’s software and hardware suppliers for prompt rectification of any problems or emergencies.
• Write and/or delete programming scripts to enhance functionality and/or appearance of company Web site and Web applications as necessary.
• Liaise with network administrators, systems analysts, programmers, and other software engineers to resolve any defects in products or company systems.
• Recommend, schedule, and perform software improvements and upgrades for optimal performance of company workstations.
• Train, manage and provide guidance to junior software development staff.

Position Requirements

Formal Education & Certification
• Four-year college diploma or university degree in software engineering or computer science and 10 years work experience.
• Microsoft Certifications is a plus

Knowledge & Experience
• 5+ years of software development experience in designing, developing, implementing and maintaining solutions using the Microsoft technology stack.
• Technically fluent with five or more years’ experience in application development using Microsoft C#, VB .NET, ASP.NET, MVC, AJAX, Web Services/.NET Web API and related technologies
• Strong Object Oriented development skills
• XML development
• Extensive database experience using Microsoft SQL 2008/2012 and query tools, including stored procedures, DTS, Experience with  SQL Reporting Services (SSRS)
• Competent and proficient understanding of source versioning systems, including Microsoft Team Foundation Server (TFS) for source control
• Hands-on software troubleshooting experience.
• Solid working knowledge of current Internet technologies, including Microsoft IIS
• Experience at working both independently and in a team-oriented, collaborative environment is essential.
• Familiarity with the telematics industry is a plus.

Personal Attributes
• Ability to effectively prioritize and execute tasks in a high-pressure environment is crucial.
• Proven analytical and problem-solving abilities.
• Adept at conducting research into software-related issues and products.
• Must be able to learn, understand, and apply new technologies.
• Strong written and oral communication skills.
• Strong interpersonal skills.
• Customer service skills an asset.
• Highly logical.
• Highly self-motivated and directed.
• Keen attention to detail.
• Knowledge of applicable data privacy practices and laws.

Work Conditions

• Overtime hours may be required to meet project deadlines.
• Sitting for extended periods of time.
• Dexterity of hands and fingers to operate a computer keyboard, mouse, and other devices and objects.
• Physically able to participate in training sessions, presentations, and meetings.
• Some travel may be required for the purpose of off-site software installation and system startups.

  
New Call-to-action

Subscribe to our blog