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. This role is specifically responsible for the engineering of the AWM data lake environment.
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.
Bachelors degree or equivalent in Computer Science, Engineering, or related field; or equivalent work experience.
5-7 years of relevant work experience required.
5-7+ years of experience coding and/or designing in relevant programming languages (specific required languages will vary by position).
5+ years of practical experience and proven success with the design and build of complex software applications.
Demonstrated experience coding and/or designing in multiple environments.
Proven ability to successfully translate client/business needs into software designs.
Proven analytical and business skills to reconcile conflicting objectives and find/design acceptable compromises within existing limitations.
Understand and apply both current technical solution elements (specific tools, components, and frameworks) and abstract elements (algorithms and
Effectively apply technology/engineering knowledge-base to multiple and evolving programs and languages.
1-2+ years experience with AWS cloud engineering and cloud based analytics development on platforms such as AWS/S3, EMR, Spark, Python
About Our Company
The Ameriprise Financial Technology team mission is to create innovative technology solutions and engaging digital experiences for our clients, advisors, and employees. We embrace an inclusive and collaborative culture that allows us to partner across the business and lend our expertise in the areas of corporate computing, network infrastructure and security. We celebrate the unique qualities and reward the contributions of our talented, passionate employees. If you're motivated and want to work for a strong, ethical company that cares about you and your community, take the next step with Ameriprise Technology.
Ameriprise Financial is an equal opportunity employer. We consider all qualified applicants without regard to race, color, religion, sex, national origin, genetic information, age, sexual orientation, citizenship, gender identity, disability, veteran status, marital status, family status or any other basis prohibited by law.