Location: Must be resident of Portland, OR, hybrid work environment (3 days per week in office)
SENIOR SOFTWARE ENGINEER
We are looking for an experienced Senior Software Engineer to join our team. The ideal candidate will be able to work in a fast paced environment, operate gracefully under stress, effectively manage multiple assignments, be self driven, proactive and have great interpersonal and communication skills.
As a Senior Software Engineer, you will play a key role in the design, development, and maintenance of our core cybersecurity products. You will collaborate with cross-functional teams to build scalable, reliable, and secure software solutions that address complex technical challenges. This role requires a strong technical background, excellent problem-solving skills, and the ability to mentor and collaborate effectively with other engineers.
MINIMUM QUALIFICATIONS
Experience:
- 5+ years of experience in software engineering, with a strong background in frontend development and API design.
Technical Skills:
- Expert proficiency in at least one of our core languages (Go, Python, Node.js, React).
- Experience with modern web frameworks and technologies (e.g., Django, Flask, Express.js).
- Strong understanding of database design and experience with SQL and NoSQL databases (e.g., PostgreSQL, MongoDB).
- Familiarity with cloud infrastructure (e.g., GCP) and containerization (e.g., Docker).
- Experience with test-driven development (TDD) and continuous integration/continuous delivery (CI/CD) practices.
Soft Skills:
- Excellent communication and collaboration skills.
- Strong problem-solving and analytical skills.
- Ability to work independently and as part of a team.
- Passion for learning and self-improvement.
Bonus Points:
- Experience with cybersecurity products or technologies.
- Familiarity with machine learning and artificial intelligence (AI).
- Knowledge of big data processing and analytics tools.
- Contributions to open source projects.
REQUIRED TECHNICAL SKILLS
Programming Languages:
- Expert: Go (Golang) or Python
- Proficient: Node.js (JavaScript/TypeScript), or the other language not listed as expert
- Bonus: Experience with other languages relevant to backend development (e.g., Rust, Java, C#)
Backend Development:
- Expert: RESTful API design and development
- Proficient: Web frameworks (e.g., Django, Flask for Python; Express.js for Node.js)
- Bonus: Experience with GraphQL or gRPC
Databases:
- Proficient: SQL (PostgreSQL) and NoSQL (MongoDB)
- Bonus: Experience with other database technologies (e.g., MySQL, Cassandra, Elasticsearch)
Cloud Infrastructure:
DevOps & Tooling:
- Proficient: Git, CI/CD pipelines (e.g., Jenkins, CircleCI)
- Bonus: Docker, Kubernetes, configuration management tools (e.g., Ansible, Chef)
Security:
- Proficient: Secure coding practices, authentication/authorization, OWASP Top 10 vulnerabilities
- Bonus: Experience with security tools (e.g., Snyk, OWASP ZAP), threat modeling, or security certifications
Testing:
- Proficient: Unit testing, integration testing, TDD (Test-Driven Development)
- Bonus: Experience with end-to-end testing frameworks (e.g., Cypress, Selenium) or performance testing
Additional Skills (Nice to have):
- Message queues (e.g., RabbitMQ, Kafka)
- Real-time communication (e.g., WebSockets)
- Caching mechanisms (e.g., Redis, Memcached)
- Data processing frameworks (e.g., Apache Spark)
- Machine learning or AI fundamentals
Soft Skills:
- Strong problem-solving and analytical skills
- Excellent communication and collaboration skills
- Ability to work independently and as part of a team
- Passion for learning and self-improvement