Our software client is motivated by their mission: bring quality products from development to deployment, to monitoring and quality. They do whatever is necessary to make their customers successful. They teach everyone, they learn from everyone. They value making the right design decisions, and invest time to know what's right. They know that their work isn't done until their applications are configurable, supportable, monitored, secure, and provides analytics that can drive future product decisions.
They are looking for a Principal Software Engineer to help their team translate strategy into action by leading the technical activities of engineering teams, designing and implementing major product features, and mentoring junior team members. You will partner with Product Managers to understand what their client's internal management systems need. You will define and create technology solutions to meet those needs. You will use your influence to drive excellence within your team and across their engineering. You will also make and communicate technical decisions that influence the product roadmap and the success of their customers implementations.
- Highly skilled in building commercial/enterprise software products
- 8+ years of relevant experience.
- You can take uncertain requirements, ask the right questions to solidify them, and then break them down into the parts that you can build.
- You have a rich background building stable, high-quality, scalable web applications using established software design patterns, and you know why they are important.
- You take responsibility for quality. You and your teams always write comprehensive unit and functional tests.
- Your recent experience includes building systems with cloud infrastructure.
- You're skilled at communicating your thoughts and designs to your teammates, and you're good at giving constructive criticism.
- You function best as part of a team and you are passionate about mentoring junior engineers.
- Authority in Python, and have spent years using Flask to build microservices a plus
- You understand web server software such as nginx, gunicorn, and Apache Tomcat.
- You understand authentication/authorization, and have secured your applications using OAuth and JSON Web Tokens.
- You strive to make software that people love to use.
- You have experience with performance optimization, parallelization, and distributed systems.
- You have used a variety of Amazon Web Services (e.g., EC2, S3, EMR, Lambda) to solve technical problems a plus.
- You think CI and monitoring is important, and have worked with tools such as Jenkins, NewRelic, and Sentry a plus.