Own the entire life cycle of the software from building, testing, deploying all the way through deprecation of old software components.
Write well organized, testable, and high performing code.
Improve the resiliency of our test infrastructure and introduce new tests where appropriate.
Identify and implement optimizations that help us, or our scanners operate more efficiently.
Implement bug-fixes and contribute to on-going product maintenance.
Collaborate with other team members and external stakeholders.
Write clear and concise documentation.
Support our customers with bug fixes and answers to technical support questions.
Mentor and coach co-ops and new developers on the team.
Required Skills:
At least 10 years of experience designing large scale systems in Go and/or Python.
Experience with message passing and parallel design.
Working knowledge of GitHub, Jenkins, and automated test tools.
Experience with cloud native development (AWS, GCP, Azure)
Understanding of CI/CD, Docker (containerization), and DevOps.
Experience with secure network application design.
Strong understanding of fundamental networking concepts and troubleshooting.
Strong familiarity with Linux/Unix environments including troubleshooting and administration, and using common tools to identify problems at the system, hardware, and kernel level.
Experience with Agile Development.
Experience with Databases, and database schema design (specifically PostgreSQL or another enterprise quality DB)
Bonus Points:
Experience with Kubernetes.
Experience with network appliances.
Experience with test frameworks and automated testing.
Experience with virtualization of computer hardware.
Experience with API design, pagination, and efficiency/scaling.
Understanding of Message broker concepts (Kafka/RabbitMQ).