Sr Software Engineer

Top level technical expert in application architecture, design and development.  Acts independently under general direction and provides technical consulting on complex projects.  Devises or modifies procedures to solve complex business problems.  Responsible for program design, coding, testing, debugging, and documentation.  Provides significant input into creation, maintenance and adherence to coding standards.  Has full technical knowledge of all phases of applications programming. May have duties instructing, directing, and checking the work of other applications programming personnel. Will have quality assurance review responsibilities. 

Essential Functions:

-Work with IT and Business management to evaluate complex user requests, large projects and strategies. 
-Lead efforts to assess feasibility, cost and time required, compatibility with all corporate platforms/systems and related capabilities.
-Formulate and influence detailed program specifications using structured analysis and design methodology.
-Prepare project definition documentation. 
-Work with functional architects to determine application roadmaps, architecture strategy and to define and implement application architecture.
-Independently code new or modified computer programs into existing systems and test program effectiveness.
-Provide specifications and detailed physical designs for applications programs and solutions to complex requirements and multi-platform integration needs. 
-Evaluate error messages, modify code, troubleshoot programming problems, and conduct performance tuning on computer programs. 
-Create, maintain, and help assure adherence to coding and unit testing best practices and standards. 
-Keep current with industry trends and developments for technologies in assigned area, and assist in evaluating and developing plans for keeping applications current.
-Perform analysis of large-scale, complex, cross-system, cross-platform  changes or issues, may aid in determining feasibility of future anticipated business impact.
-Provide assistance to IT team members with issues needing technical expertise or complex systems, programming knowledge, and industry trends. 
-Mentor team to improve their understanding and skill and ensure they are familiar with resource materials including manuals and system¿s documentation.
-Work on special projects as assigned.
-Has clear alignment to IT strategy and provide input and influence the IT strategy.