FreeWheel is looking for a Principal Engineer, Software Engineering to join their Freewheel Programmatic Demand team to define the technical vision and architecture of a novel platform used to build several Demand Side Platform products. The goal is to design, develop, and deliver core features with an emphasis on performance, scalability, maintainability, and stability.
Requirements
- 15+ years of experience as a hands-on software engineer, with a deep focus on designing and building scalable, distributed systems.
- Proven expertise in technical architecture and system design, with the ability to break down complex problems and deliver elegant, maintainable solutions.
- Demonstrated ability to own and manage technical backlogs, collaborating with product and engineering peers to prioritize work, define technical requirements, and drive execution.
- Advanced proficiency in object-oriented and systems programming languages such as C++, Java, Python, or Go with a strong understanding of concurrency, performance tuning, and distributed computing.
- Experience deploying and operating applications in public cloud environments (e.g., AWS, GCP, Azure), with a solid grasp of cloud-native development patterns and infrastructure-as-code.
- Comfortable using engineering productivity tools such as Jira (for backlog and sprint planning), Confluence (for technical documentation), Git (for version control), and Microsoft Office Suite (for communication and reporting).
Responsibilities
- Designs and oversees new software and web applications, supports applications under development, and customizes current applications.
- Assists and oversees in the roll-out of software releases.
- Oversees the researching, writing, and editing of documentation and technical requirements, including software designs, evaluation plans, test results, technical manuals, and formal recommendations and reports.
- Provides technical leadership throughout the design process and provides guidance with regards to practices, procedures and techniques.
- Works with Quality Assurance team to determine if applications fit specification and technical requirements.
- Tests and evaluates systems, subsystems and components.
- Leads project planning, resourcing, requirement analyzing and defining, detailed designing and deployment of feature or system.
Other
- Collaborates with project stakeholders to identify product and technical requirements.
- Trains and mentors software engineers on internally developed software applications and software development best practices.
- Keeps current with technological developments within the industry.
- Monitors and evaluates competitive applications and products.
- Presents and defends architectural, design and technical choices to internal and external audiences.