Principal Software Engineer/Developer
Fidelity
Job Description:
Position Description:
Develops applications on cloud platforms using Amazon Web Services (AWS) Managed Services, ECS, EC2, EKS, Serverless Framework/Lambda, API Gateway, Step Function, and S3. Develops applications using multiple technologies – Aurora Postgres, Oracle, DynamoDB, Python, Snowflake, and Unix scripting. Develops and builds Application Programming Interfaces (APIs) with frameworks — REST by using Java and Python. Deploys applications using Continuous Integration/Deployment (CI/CD) tools — Jenkins, Maven and uDeploy. Develops data processes pipelines using Extract, Load and Transfer (ETL) tools – Snaplogic and Informatica. Transforms data using Snowflake and AWS native services. Performs data migration by using AWS DMS and Oracle GoldenGate.
Primary Responsibilities:
-
Reviews architectural design & deployment patterns and designates appropriate pattern based on application use case.
-
Defines and implements application-level database architecture.
-
Develops applications on complex projects, components, and subsystems for the division.
-
Recommends development testing tools and methodologies and reviews and validates test plans.
-
Responsible for QA readiness of software deliverables.
-
Develops comprehensive documentation for multiple applications or subsystems.
-
Establishes full project life cycle plans for complex projects across multiple platforms.
-
Responsible for meeting project goals on-time and on-budget.
-
Advises on risk assessment and risk management strategies for projects.
-
Plans and coordinates project schedules and assignments for multiple projects.
-
Acts as a primary liaison for business units to resolve various project/technology issues.
-
Provides technology solutions to daily issues and technical evaluation estimates on technology initiatives.
-
Advises senior management on technical strategy.
-
Mentors junior team members.
-
Performs independent and complex technical and functional analysis for multiple projects supporting several divisional initiatives.
-
Develops original and creative technical solutions to on-going development efforts.
Education and Experience:
Bachelor’s degree (or foreign education equivalent) in Computer Science, Engineering, Information Technology, Information Systems, Mathematics, Physics, or a closely related field and five (5) years of experience as a Principal Software Engineer/Developer (or closely related occupation) performing Salesforce or Oracle development within a CRM or ODS environment.
Or, alternatively, Master’s degree (or foreign education equivalent) in Computer Science, Engineering, Information Technology, Information Systems, Mathematics, Physics, or a closely related field and three (3) years of experience as a Principal Software Engineer/Developer (or closely related occupation) performing Salesforce or Oracle development within a CRM or ODS environment.
Skills and Knowledge:
Candidate must also possess:
-
Demonstrated Expertise (“DE”) designing and developing back-end applications for CRM products (Salesforce) using Oracle database, and Python, Perl, Unix shell, or Oracle PL/SQL programming languages; and moving and bulking load data into Snowflake or operational data stores using Control-M or AWS services to automate and schedule the end-to-end processes.
-
DE designing and developing ETL/ELT pipelines on AWS Cloud platform using serverless architecture (Java, Python, and Lambda coding) and AWS services – S3 buckets, EMRs, SQS, or Amazon Elastic Kubernetes Service (EKS); and building and designing Continuous Integration/Continuous Deployment (CI/CD) using Terraform or CloudFormation infrastructures (Docker, Jenkins Core, or uDeploy), and Blue/Green deployment.
-
DE performing data profiling, mining, specification, extraction, cleansing, and analysis for large (50+ TB in size) data warehouses, using Snowflake; and designing conceptual and physical data models using ER/Studio, and generating visual insights using Oracle SQL reports.
-
DE implementing all aspects of the Software Development Lifecycle (SDLC) – participating in architecture and business discussions, delivering innovative solutions from release-to-release and sprint-to-sprint following security requirements and software development best practices, and performing unit and integration testing in a Cloud computing environment using Insomnia or Postman — according to Agile methodologies and using JIRA.
#PE1M2
Certifications: