Senior Software Engineer
The Senior Software Engineer will work closely with teams to deliver commercial enterprise software for advanced and complex requirements.? Candidates for this position are expected to be advanced professionals with broad software development knowledge.? This position is responsible for the successful design, development, QA, and documentation for software products with a broad range of complexity. This position requires an experienced resource who can partner effectively with multiple levels of the organization, lead others, drive results, proactively identify and resolve problems, and make challenging decisions.? ?
Principal Accountabilities: 50% – Development:
Write high quality testable code that meets
defined customer requirements.
Develop advanced and complex applications
according to development standards.
Performs unit testing when necessary.
Communicates risks/benefits of development
approach when necessary.
Aligns with technical architecture.
Analyzes and provides feedback on existing code
in order to improve the overall product.
Contribute and provide support to QA testing.
Contribute and provide support for BA
20% – Technical Leadership:
Lead and mentor less experienced staff and 3rd
Provide guidance to software engineers regarding
agile best practices.
Assist in the selection of employees and provide
input on future workforce needs.
Provide ownership and subject matter expertise.
Lead process improvement initiatives within
Work across functional areas to
identify and resolve issues
Keep up to date on new technologies and
techniques and clearly communication recommendations to the team.
20% – Design and Architecture:
Architect solutions that meet functional
Analyzes and clearly communicate? Risks/Issues/Benefits on
design/architecture in order to improve the overall product.
Influence architectural direction of product to
align with industry best practices while balancing customer needs.
Contribute to or prepare high and detailed level
estimations of effort in order to achieve a preferred solution.
Provide alternatives in order to provide team
with clear options.
Determine, implement and provide governance for
standardized application and development processes.
Accountable to ensure standards and quality of
the solution are achieved.
10% – Provide Support:
Prepare and execute training of support team
Provide level 3 production support (incident and
Provide post-implementation support to support
team through transition period.
Required:University degree in Business, IT or equivalent experience?5 years software development experience5 years experience in large software development project, working with architecture, analysis, technical design and/or development5 years experience with C# or java1 year of experience working with Relational DatabasesExcellent verbal and written communication skills.
Ability to influence technical solutionsDemonstrated ability to coach and mentor software engineersExperience setting and implementing architectural standardsAbility to handle multiple priorities and meet deadlinesFamiliar with standard application software design concepts, practices, and proceduresAbility to perform duties with nominal directionPreferred:Microsoft Professional certificationsExperience working on a product that utilized automated tests to validate qualityExperience working on a commercial software productExperience working with SQL ServerExperience working in an agile setting