Be responsible for designing, coding, testing, implementing, maintaining, and supporting application software that is delivered on time and within budget. Work closely with customers, business analysts, technology, and project teams to understand business requirements, drive the analysis and design of quality technical solutions that are aligned with business and technology strategies, and comply with the organization's architectural standards. Provide technical guidance to the development team through the full software life cycle. Key Responsibilities Create low level design documents (including code samples/outlines) and detailed engineering specifications based on complex business, user, and non-functional (e.g., performance, reliability, balance, and controls) requirements. Write code that adheres to coding standards, procedures, and techniques. Maintain the integrity of existing program logic according to specifications. Actively participate in the code review process to ensure development work adheres to standards and specifications (including peer review and code review external to team). Ensure the quality of work completed by vendor partners. Write and/or revise system design documentation and operations documentation to include providing required input into operation support manuals. Unit test all code and programs prior to releasing them to quality assurance. Quickly resolve all unit test issues. Assist quality assurance in identifying test cases and creating/mining test data to enable a thorough test of all development deliverables. Respond to all inquiries and issues in a timely manner as developed code/program moves through the testing process. Provide mentoring and direction to more junior members of the application development team. Influence the shaping of standards and tools. Provide governance oversight to ensure project adherence to development strategy, standards, policies, tools, and procedures. Guide the development team to consistently apply appropriate development principles and standards during all phases. Work in partnership with the project team and business to fully understand project goals and requirements and use this knowledge to effectively plan and execute the development process. Participate in project design walkthroughs. Evaluate interrelationships between applications to determine whether a change in one part of the project would impact or cause undesirable results in related applications and design for effective interfaces between interrelated applications. Improve the health of system assets by identifying enhancements to improve performance, reliability, and resource consumption. Track exceptions to standards (e.g. security gaps) to ensure they are addressed in a planful and timely fashion. Evaluate and troubleshoot root-cause analysis for production issues and system failures; determine corrective action(s) and propose improvements to prevent their recurrence. Maintain up-to-date business domain knowledge and technical skills in software development technologies and methodologies. Provide input in the selection, implementation and use of development tools and best practices. Work effectively in a team environment to ensure that solution delivery is on time, within cost estimates and meets business needs. Write code that adheres to coding standards, procedures, and techniques. Maintain the integrity of existing program logic according to specifications. Ability to code in Microsoft BI stack including SSRS/SSIS/Power BI and familiarity with Quicksight on AWS. Support the application development process by providing backend database object creation and migration to production environments in Oracle and SQL server. Analyze database requirements, perform logical and physical database design and manage installation tasks. Work in conjunction with developers and other DBAs to resolve database problems during application testing and implementation. Ensure design and implementation meet architectural standards, company guidelines and client requirements.