Senior Software Engineer
Skills
About the Role
You will implement features and build new microservices in Python and Rust, integrating with a NodeJs frontend or other internal services. You will test your work in a local end to end testing environment and push your code to GitHub for code review and to GitLab CI. When your work passes CI and code review, you will test it in staging and write or revise Kubernetes charts and values so deployments work correctly. When ready you will deploy to production. On occasions you may help create microengines for threat intelligence and build or improve integrations for threat intelligence products. When it is time to build new services or major features, you may be the main architect and you will provide input into design and implementation details. You will have an impact across the product with your expertise and experience.
Requirements
- 5+ years production software engineering skills building microservices primarily Python and Rust in a cloud architecture
- 5+ years production software architecture design experience
- Comfortable with a LLM assisted development environment
- Proficient with software debugging and testing tools
- Proficient with Docker and Docker Compose
- Proficient in dealing with Kubernetes deployments and distributed computing
- Experience with databases caches and queueing systems
- Comfortable working in a remote-only environment
- Analytical mind
- Confidence to share ideas
- Ability to clearly describe and document your ideas
- Ability to constructively critique your ideas and those of your team members
- Ability to independently motivate and self-direct
- Ability to collaborate and work in a team
- Proficient in English reading writing and speaking
- Experience with malicious software analysis and reverse engineering
- MS or PhD in Computer Science Software Engineering or related field or relevant experience
- Experience building ETL processes
- Experience with big data analytics
- Experience processing high-speed transactions in databases
- Experience processing and storing large datasets
- Experience with kernel software development in Windows Linux or Mac
- Strong software engineering skills using the C-family languages
- Experience with compiling and debugging software on Linux and Windows
- Experience with Windows and Linux kernel security mechanisms
Responsibilities
- Develop and maintain microservices in Python and Rust
- Integrate microservices with a NodeJs frontend or other internal services
- Test work in a local end to end testing environment
- Push code to GitHub for code review and testing in GitLab CI
- Write or revise Kubernetes charts and values for deployments
- Coordinate production deployment for releases
- Build or improve integrations for threat intelligence products
- Contribute to architecture and design decisions
Benefits
- Health dental and vision coverage
- 401k
- Paid time off
- Flexible work hours
- Laptops and desktops provided
