Arcules (51-200 Employees, 14% 2 Yr Employee Growth Rate)
Arcules offers excellent benefits, including a top-tier PPO medical plan, four weeks of vacation, three weeks of sick leave, 401(k) plan after three months of employment (4% company match), an on-site gym and game pavilion, an awesome work environment and more.
Overview of the Job
We are looking for a Principal Software Engineer to join our fast moving innovative Engineering Team. In this role, this person will be architecting, designing and building highly scalable distributed data systems to enable new and innovative solutions in cloud based video surveillance or IoT control systems. To be successful, you must have proven experience in driving critical engineering and architectural decisions for the development team. You are able to provide sound technical directions, roll up your sleeves and dive in to solve complex system design or implementation challenges. You will have the opportunity to learn and share knowledge with the best and help us architect and build cloud native modern applications. You have the opportunity to develop technology and process to maximize efficiency by deconstructing any limitations on scalability, performance and reliability in our products.
- Work with product managers and technology teams to understand roadmap priorities, innovate and evolve new products features and capabilities
- Employ advanced knowledge of data structure, data modeling and design, common software design patterns (either object oriented or microservices architecture styles)
- Articulate design and architecture trade offs and apply software design patterns to efficiently solve complex engineering problems.
- Drive design and implementation decision based on sound engineering design principles and best practices.
- Provide overall project design and estimates that meet both business and technology strategy needs during project scoping phases.
- Manage velocity of delivery without compromising quality of product releases.
- Mentor senior engineers and technical leads to make sound technical decisions, and help build effective software engineering practices, especially in the adoption of formal testing as part of the software development inner loop.
- Embrace the “you build it, you run it” engineering principles.
- Champion good software engineering habits (e.g. clean code principles, security, tech debt balance, TDD and agile habits) and apply pragmatic software design patterns to solve software engineering challenges.
- Own, diagnose and resolve complex system technical issues and code defects.
- Collaborate with engineering leadership to help with establishing technical roadmap to innovate or enhance product capabilities.
- Produce design and code that focuses on clean code principles, testability, maintainability and scalability.
- Provides leadership a point of view on “next” as it relates to technology coding tools, applications and concepts.
- Collaborate with other principal engineers to establish an engineering community of excellence (COE) to evangelize architecture, code or security reviews, innovative engineering and knowledge sharing.
- Drive a culture of technical excellence, continuous improvement and lifelong learning.
- Identify and work with SRE to implement opportunities for automation to enhance efficiency in the software delivery cycle and the reliability of Arcules’ product.
- Other duties as assigned
- 15+ years of experience in software engineering in a fast paced environment with most recent 8+ years in microservice based solution and architectural style
- Expert level knowledge of Golang and an object-oriented language (preferably Python, although strong C# or Java is acceptable)
- Advanced experience with testing methodology and fully comfortable with TDD/BDD development practice
- Hands on experience developing applications deployed using public cloud infrastructure such as GCP, AWS or Azure
- Advanced understanding of design patterns and coding practices especially as applied to microservices architectures and API design, implementation and management
- Strong understanding of modern CICD methodology and Git based workflow
- Strong knowledge of Docker technologies including experience in optimizing Docker image and managing Docker image lifecycle
- Clear and persuasive written and oral communication skills to lead or persuade fellow engineers and non-technical audience
- MS degree (Computer Science) or equivalent
- Breadth of technology and engineering skills, knowledge and experience, comfortable with topics spanning programming languages, AI/ML, advanced networking, compute and data platforms as well automation and big data