Senior Software Engineer

CannonDesign
Summary
Join CannonDesign's Digital Products team as a Senior Software Engineer, contributing to the design, development, and implementation of robust software solutions for mobile and web applications. You will play a key role in technical architecture, ensuring high engineering standards, and collaborate with cross-functional teams. This role demands a strong individual contributor passionate about technical excellence, mentorship, and collaborative problem-solving. You will work closely with product management, design, and other engineering functions to translate business requirements into technical specifications. The position offers the opportunity to lead a talented engineering team and shape the future of CannonDesign's technology. Preference may be given to candidates who can work in one of the CannonDesign locations.
Requirements
- Bachelorβs degree in computer science, software engineering, or a related field preferred
- Minimum of 10+ years of qualifying experience in software engineering
- Proven experience in designing, developing, and deploying complex web and/or mobile applications and services
- Solid understanding of software architecture patterns, cloud computing principles, APIs, CI/CD, Git, and DevOps practices
- Strong problem-solving skills and the ability to work independently to deliver solutions
- Excellent communication and interpersonal skills, with the ability to effectively collaborate with technical and non-technical stakeholders
- Experience working in an Agile environment
Responsibilities
- Contribute to the design and implementation of scalable, robust, and secure application architecture under the guidance of the Director of Software Engineering
- Write high-quality, maintainable code and actively participate in code reviews to ensure adherence to coding standards and best practices
- Drive the adoption of best practices in software engineering within your team, focusing on areas such as testing, continuous integration, and continuous deployment (CI/CD)
- Collaborate closely with product managers and designers to understand and refine requirements, translating them into technical designs and implementations
- Work with other engineers and teams to ensure seamless integration and successful deployment of applications
- Act as a technical mentor to less experienced engineers, providing guidance, support, and knowledge sharing to foster their growth
- Lead less experienced developers and work with the development team to build in house, client focused, and SaaS applications
- Assist in the architectural design of software systems and implement key architectural initiatives as directed
- Evaluate and propose the integration of new technologies, frameworks, and tools that can enhance development efficiency and effectiveness
- Ensure the quality, performance, security, and reliability of the software you build through effective testing, monitoring, and troubleshooting
- Stay current with industry trends, emerging technologies, and best practices in software engineering and architecture
- Contribute to the continuous improvement of engineering processes, tools, and methodologies
- Identify and help mitigate technical risks within your areas of responsibility
Preferred Qualifications
Minimum of 5 yearsβ experience in web and mobile application development preferred
Benefits
- Medical, dental and vision coverage
- Flexible spending account options
- Voluntary insurances
- Paid time off
- Flex-time schedules
- Remote work options
- 401k plan
- Employee perk programs
- Employees may be eligible for discretionary bonuses