Principal Software Engineer
Current- Collaborate with VP of Engineering, Directors, Engineering Managers, Architects, Engineers, and product teams across the company to understand user requirements to determine the best way to architect, design, plan, build, test, deploy, and scale new features and functionality using an agile development process.- Identify opportunities and implement cross-team solutions that improve our scalability, security, performance, and maintainability.- Architect, design, and build components to help scale functionality, build features, and integrate functionality and data with other teams- Mentor members of our organization by sharing experiences, defining best practices, reviewing code, and discussing different approaches to solving complex problems.- Define, document, and communicate strategies to guide decisions for future development.- Develop migration paths and approaches when upgrading components or implementing scalability improvements.- Use a deep understanding of each feature and product within the entire company-wide ecosystem to ensure consistency, functionality, scalability, quality, and performance across all platforms.Research new techniques and technologies to pave the way for future development.- Use Java, Maven, PostgreSQL, Redis, AMQP/RabbitMQ, ElasticSearch, JavaScript, AWS, Git, and Terraform to architect and implement a highly-scalable data platform deployed around the world.- Use Ruby on Rails, AWS, MySQL, Linux, Redis, RDS, Git, ElasticSearch, Terraform, DataDog, and Docker to architect and implement an assessment system we are planning on deploying world-wide in the upcoming months.