Go Software Engineer
Job description
About the role
Verkada is constructing a unified, AI-centric platform dedicated to physical security, integrating video monitoring, access control, and environmental sensing into a cohesive ecosystem. As a new hire, you will take ownership of the firmware and low-level software that powers the edge devices protecting critical environments worldwide. You will operate at the intersection of cloud infrastructure and embedded hardware, ensuring reliable operation across a globally distributed fleet. The role involves direct responsibility for the entire lifecycle of embedded software, from initial architectural decisions through implementation and long-term maintenance. You will be instrumental in scaling the technology that manages two million devices currently deployed across one hundred and seventy countries. Much of your work will focus on securing sensitive locations such as schools, warehouses, and diverse retail environments through robust software design. Collaboration with hardware, product, and operations teams will define your day-to-day impact on the system's stability and feature set.
Key facts
What you'll do
- Architect and implement firmware components in Go for resource-constrained embedded devices such as cameras and environmental sensors.
- Engineer high-performance services for Linux-based embedded systems, ensuring reliability and efficiency in constrained environments.
- Design and extend scalable backend services using both Go and Python to support the broader Verkada platform.
- Own project delivery from initial discovery and requirements gathering through implementation, testing, and long-term operational support.
- Rapidly create prototypes and proof-of-concept solutions to validate new ideas and technical approaches.
- Synchronize closely with cross-functional stakeholders to translate complex product requirements into resilient and maintainable code.
- Execute rigorous testing, debugging, and profiling activities to uphold stringent standards of software quality and performance.
- Refactor and optimize existing applications to leverage the latest features and best practices of the Go programming language.
- Engage actively in code review processes, providing constructive feedback and resolving integration or performance bottlenecks.
- Implement secure communication protocols and interfaces to protect data in transit between edge devices and cloud services.
- Troubleshoot production incidents affecting deployed firmware, applying fixes and developing preventative measures.
- Collaborate with hardware engineers to define interfaces and ensure software compatibility with physical components.
- Document technical designs, APIs, and operational procedures to facilitate knowledge sharing and long-term maintainability.
- Contribute to the definition and enhancement of coding standards, tooling, and development workflows for embedded teams.
Requirements
- Demonstrate expert-level proficiency in the Go programming language, including a deep understanding of its standard libraries, concurrency patterns, and advanced profiling tools.
- Apply practical experience with scripting languages such as Python to automate tasks, process data, and support development workflows.
- Bring a proven background in developing software for Linux-based embedded systems, including familiarity with build processes and runtime environments.
- Utilize a strong grasp of version control systems, with a focus on distributed workflows using Git to manage complex codebases.
- Design robust application programming interfaces using REST, gRPC, and Protocol Buffers to enable efficient communication between services.
- Work with various data storage technologies, demonstrating familiarity with both SQL and NoSQL databases, including hands-on experience with DynamoDB.
- Build and manage service-oriented backend architectures, with substantial experience deploying and operating services within the Amazon Web Services ecosystem.
- Leverage containerization and orchestration technologies such as Docker and Kubernetes to package, deploy, and scale applications reliably.
- Exhibit a solid understanding of networking fundamentals, including the TCP/IP protocol stack, to diagnose and resolve connectivity issues.
- Navigate the constraints of embedded environments, making informed trade-offs between performance, memory usage, and power consumption.
- Write clean, testable code and implement unit tests to ensure the correctness and durability of new features.
- Approach problem-solving with a methodical mindset, using logs, metrics, and traces to diagnose issues in distributed systems.
- Communicate technical concepts clearly and effectively to both technical and non-technical team members during design discussions and code reviews.
- Adapt quickly to evolving priorities and technical landscapes, demonstrating resilience and a proactive attitude toward learning.
Nice to have
- Experience with AOSP build systems, hardware abstraction layers, or low-level driver modification to influence device behavior.
- Skills in developing, debugging, and troubleshooting Android applications, including deep dives into framework internals.
- Proficiency in low-level programming languages such as C or C++ to optimize performance-critical components.
- A strong conceptual understanding of the TCP/IP stack and its behavior in various network conditions.
- Foundational knowledge of basic electronics, including the ability to interpret circuit diagrams and use common lab equipment like oscilloscopes.
Practical notes
Visa sponsorship is available and the company manages the process for successful candidates.
Work location is in Poland.
Compensation for B2B contracts ranges from 17,000 to 60,000 PLN netto per month.
Compensation for UoP contracts ranges from 14,000 to 51,000 PLN brutto per month.
Total rewards may include discretionary bonuses and equity in the form of RSUs.
Benefits include healthcare programs, paid parental leave, fertility benefits, flexible PTO, professional development stipends, wellness perks, daily lunches, and commuter benefits.