Principal Software Architect


Applying to this job will open a new window on the employer's web site to apply there.

Posted Date 4/27/2021

Location: Remote, USA

Reports to: SVP of Software Development

Job Summary:

By taking ownership of technical architecture, accuracy and code quality across the entire tech ecosystem, the Principal Software Architect oversees development across the DMS software suite. They are a contributing decision maker about what technologies to use, how software should be architected, and what the technical direction of certain platforms will be.

Responsibilities & Duties:

  • Provide application-wide leadership on decision making about technical application architecture with the viewpoint of meeting business requirements at the lowest total application life-cycle cost for the related business value added.
  • Perform detailed design and prototyping in accordance with the enterprise vision to move DMS’s application base forward
  • Advise an application team or set of application teams– providing guidance on development practices and technical designs.
  • Lead a team or set of teams directly focusing on architecture improvement projects for specific applications or enterprise architectural components.
  • Identify areas in applications for refactoring and improvement and work in collaboration with the SVP of Software Development to establish a roadmap of enterprise and application-specific architectural improvement.
  • Assist application Product Owners in prioritization of architectural work on the code base.
  • Work closely with the Product team and SVP of Software Development to estimate large efforts and guide long term decisions about how to implement new features and functionality.
  • Mentor and guide developers to improve their coding practices via code standards, unit testing, secure coding practices, design patterns, code reviews, pair programming and other best practice activities as necessary.
  • Conduct skills development efforts when new technologies are introduced.
  • Pay particular attention to:
  • Application security best practice implementation in our applications
  • Architecture and technology capability with agile processes and tool chains
  • “lities” – quality, stability, productivity, scalability, usability and maintainability.
  • Inspire and excite people internally around the technology vision and plans.
  • Work with DevOps group and application teams to streamline build and release processes via architectural modifications

Technologies & Systems DMS Technology Uses

  • HTTP Servers: Apache, Nginx, HAProxy
  • Databases: MySQL, PostgreSQL, Redshift, DynamoDB, mongoDB
  • AWS services, including but not limited to: VPC, EC2, ECR, ECS, Lambda, S3, EFS, Kinesis, Redshift, ElasticCache, RDS, CloudFront, API Gateway, CodeDeploy, CloudWatch, IAM, SNS, SQS, Load Balancers, Auto Scalers and AMI's
  • We support PHP, NodeJS, Go, Python, Bash, Ruby, Javascript, Java services
  • Tools we use include: Terraform, Docker, Packer, Vagrant, Github, TravisCI, Looker, and Gatlin
  • BS in Computer Science preferred, or has an equivalent combination of technical education and/or equal work experience
  • 10+ years of experience in software development
  • 4+ years leading an engineering team or as a Sr. Software Engineer
  • In depth experience w/ AWS
  • Ability to effectively communicate across multiple channels, on and offline
  • Demonstrates good time management skills, utilizing tools as needed
  • Demonstrates knowledge of different design & problem solving patterns
  • Use of multiple languages and technologies (front and back end)
  • Ability to use the right tool for the job
  • Ability to take on legacy projects as well as architect solutions from the ground up
  • In depth understanding of the entire SDLC
  • Works well with IT and is involved in DevOps processes
  • Certified in Scrum/Agile, or equivalent knowledge and experience
Job Category

Share this Open Position