Logo
Utah Staffing

Principal Software Engineer/Developer

Utah Staffing, Salt Lake City, Utah, United States, 84193

Save Job

Job Title

Builds, tests, and engineers web applications using tools such as Node, Angular, NestJS, REST Application Programming Interfaces (APIs), and both containers and cloud-native patterns. Builds and deploys Amazon Web Services (AWS) cloud enabled applications leveraging 12 factor design. Develops and implements APIs and Cloud Solutions, using Cloud infrastructure and container technologies such as AWS, EKS, Lambda, EC2, S3, and Cloud Front. Builds and deploys applications leveraging Continuous Integration/Deployment (CI/CD) tools such as Jenkins, Maven, uDeploy, Stash, and Docker. Performs code reviews, unit testing, and integrations using Open Source frameworks. Provides technology solutions to daily issues and technical evaluation estimates on technology initiatives. 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. Primary 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. 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

Bachelors 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 architecture design and development of enterprise scale, Cloud enabled, distributed applications within an investment or brokerage services environment. Or, alternatively, Masters 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 architecture design and development of enterprise scale, Cloud enabled, distributed applications within an investment or brokerage services environment. Skills and Knowledge

Candidate must also possess: Demonstrated expertise designing and developing scalable, resilient, and distributed systems, using REST APIs, Java/J2EE, Spring frameworks (Spring Boot, Spring MVC, Spring Data REST), and JavaScript on cloud platforms; coordinating end-to-end software development, including requirement analysis, estimation, architectural design, and reviews; and coordinating the development, testing and deployment of business-critical applications in cloud environments. Demonstrated expertise designing and developing high-volume transaction systems based on microservices and event-driven architecture using Spring Boot, Spring Cloud Vault, GoLang, asynchronous messaging frameworks (RabbitMQ and Apache Pulsar), databases (Postgres and NoSQL), BigTable, and Redis cache solutions; and supports scalable and security across distributed systems, using cloud services -- AWS S3, EC2, Lambda, Kinesis and Identity and Access Management (IAM). Demonstrated expertise developing and deploying applications within a Continuous Integration and Continuous Deployment (CI/CD) pipeline, utilizing Git, Maven and Jenkins to streamline build and deployment; implements Infrastructure-as-Code (IAC) tools (Terraform) and container orchestration technologies (Docker and Kubernetes) for scalable deployment; and implementing logging, tracing and monitoring with advanced telemetry tools (Splunk, Elasticsearch, Grafana, and New Relic) to ensure security, visibility, and performance optimization across distributed systems. Demonstrated expertise implementing unit testing with Junit, Mockito, Spring Test, and Serenity BDD for Behavior Driven Development (BDD), and using test containers for isolated, repeatable test environments; performing performance testing with K6 and Apache JMeter; designing tests to validate functionality, scalability and performance ensuring high-quality, resilient distributed systems; and planning production go-live implementations and post-production implementation support as per the committed SLAs.