Principal Software Engineer/Developer

Fidelity InvestmentsDurham, NC
1dHybrid

About The Position

Position Description: Performs technical analysis of sophisticated software applications using Java, Jenkins and Continuous Integration/Continuous Delivery (CI/CD) pipelines. Designs and builds large-scale, highly available, resilient, secure, scalable, Cloud-native (Azure) enterprise applications on micro-services, and event-driven architectures using domain driven design and 12-factor app patterns. Ensures successful delivery of robust and hard-working software solution features and functions, including design, development, quality assurance, and production release. Collaborates with business and technology partners to develop solutions and overall strategies that address sophisticated business needs and opportunities. Modernizes legacy applications and platforms to real-time running on cloud-ready stack. Delivers mid to large-scale initiatives by identifying and removing impediments. Uses business knowledge to translate the vision for divisional initiatives into business solutions by developing complex or multiple software applications and conducting studies of alternatives. Analyzes and recommends changes in project development policies, procedures, standards, and strategies to development experts and management.

Requirements

  • Bachelor’s degree in Computer Science, Engineering, Information Technology, Information Systems, or a closely related field (or foreign education equivalent) and five (5) years of experience as a Principal Software Engineer/Developer (or closely related occupation) architecting, designing, and building secure, reliable, and resilient On-premise applications.
  • Or, alternatively, Master’s degree in Computer Science, Engineering, Information Technology, Information Systems, or a closely related field (or foreign education equivalent) and three (3) years of experience as a Principal Software Engineer/Developer (or closely related occupation) architecting, designing, and building secure, reliable, and resilient On-premise applications.
  • Demonstrated Expertise (“DE”) building and formulating data intensive streaming design patterns for data enrichment, validation, and persistence using streaming platforms (Azure Event Hubs); processing data streams on microservice architecture using Spring, Spring Boot, Spring Cloud, or WI Development Toolkit; designing and developing event driven triggers to consume data from messaging services (Azure Service Bus, Azure Event Hubs, Logic apps, and Blob Storage); and performance tuning developed applications using caching technologies (Caffeine, Pivotal Gemfire Cache, and Redis).
  • DE designing, architecting, and developing batch processing using Java/J2EE and Spring Frameworks (Spring Boot, Spring Data, Spring Batch, and Spring Cloud); developing event driven applications using Messaging technologies (Azure Service Bus) or Java Integration Frameworks (Apache Camel); developing Web applications using JavaScript or jQuery; and writing unit and integration tests using Junit, Mockito, and Cucumber.
  • DE implementing deployment strategies and management patterns -- blue/green, canary, and serverless architectures -- using Azure, Kubernetes framework, and Stratum API Gateway; implementing monitoring using Application Performance Monitoring tools – Datadog or AppDynamics; and integrating logging tools – using Splunk or Azure Monitor with the microservices -- for debugging performance issues and troubleshooting during deployments.
  • DE developing and deploying enterprise applications on container orchestration systems (Docker, Kubernetes, and Pivotal Cloud Foundry); building security and monitoring systems for analytics platforms using Splunk; and automating business processes and deployments according to Continuous Integration/Continuous Deployment (CI/CD) pipelines, using Jenkins, Maven, Bitbucket, and GIT Hub.

Responsibilities

  • Participates in architecture design teams.
  • Defines and implements application level 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.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service