Apply Now »

Principal Software Development Engineer - Server Side Engineering

« Back to results

James Power Principal Full-Time Recruiter

Phone Work (928) 460-0232
Phone Fax

Job Info

Category Server Side Engineering
Employment Type Full-Time Employment
Compensation $0.00 - $0.00
Location United States, CA - 92602

Client Introduction

Since 1996, Our client has continued its mission to provide a wide selection of health and wellness products to individuals around the globe. They consider themselves the "Amazon" of Health & Beauty. Operating from a 360,000 sqft., fully automated distribution center in Southern California, our client is a 2 billion dollar organization that is moving from a monolithic design to a micro-services architecture. We are currently seeking a FULLY REMOTE Principal Software Engineer to be a Mentor and individual Contributor for a team of 12 people state-side and off-shore. The team is comprised of Sr. SWD, all the way to Jr. SWE's. If you are looking to accelerate your career with a company who is taking over the E-commerce arena (think Amazon when they were worth 2 billion dollars) we want to hear from you!

Job Description

The Principal Software Engineer will be part of an agile development team, building enterprise-grade Applications with different platforms. The Principal Software Engineer is responsible for and owns the architecture and design of projects; the PE is also responsible for coaching, and mentorship of the teams he/she works with. The PE is a key member of the Architecture Review Board in shaping the technical road map and standards for Supply Chain Solutions applications.

Job Responsibilities

- Responsible for the ownership (architecture/design/implementation and deployments) of complex software components and systems

- Follow secure programming and web application security best practices

- Regular practice of CI/CD

- Coach the team on software best practices (design, coding, troubleshooting, work breakdown, work estimation, refactor strategies, automated testing, etc.)

- Must be able to mentor all levels

- Work closely with the other teams to optimize system architecture and project efficiency

- Partner with our Product Owner to plan work and prioritization

- Provide technical leadership to teammates through coaching and mentorship

- Maintain high standards of software quality within the team by establishing good practices and habits

- Provide regular updates on projects and team performance

- Adhere to high-quality development principles while delivering solutions on-time and on-budget

- Identify and encourage areas for growth and improvement within the team

- Assist in the collection and documentation of user's requirements, development of user stories, estimates and work plans

- Collaborate and add value through participation in peer code reviews, providing comments and suggestions

- Ensure the software implementation is in line with the proposed software architecture and recommended design patterns

- Analyze and resolve technical and application problems

- Research and evaluate a variety of software products


- Solid communication skills

- Must be able to coach the team on software best practices (design, coding, troubleshooting, work breakdown, work estimation, refactor strategies, automated testing, etc.)

- Ability to inspire a team and a strong salesman of ideas

- Experience leading a team

- Expert knowledge and experience in Distributed systems, MicroServices, SOA and n-tier architectures

- Expert in Object-oriented Design and Analysis (OOA and OOD)

- Strong knowledge of C# .NET, Java or Go

- Solid knowledge of Relational and non-relational DBs

- In-depth knowledge of REST API, event-driven architecture applications, caching, scaling, security, etc.

- Solid knowledge of CI/CD pipelines, automated testing and deployment

- Expert in debugging, performance profiling and optimization

- Production experience with Docker, Kubernetes is a plus

- Experience with DDD, Event-Sourcing and CQRS is a plus

- Team player with a get it done attitude

- Knowledge of the agile development process and Continuous Integration practices and tools

Required Experience

Requires a minimum of eight years to ten years of experience with software development, design patterns, software architecture

Required Education

Bachelor’s Degree in Computer Science/Engineering or related fields

Previous MonthNext Month