Software Engineer Anti-Spam Team
We are Security Services group consisting of (DevOps) development teams and working directly with the Operational Security (MSOC) group consisting of analysts and researchers. MSOC works 24/7 helping Mimecast customers with security problems having full visibility of an ever changing global threat landscape. MSOC is a fast-paced environment dealing with constantly evolving challenges all the while requiring high quality engineering solutions. We are looking for someone who is passionate about software development and security solutions.
- Developing, deploying and managing software across the full continuous delivery life-cycle.
- Work alongside our operational security and security research teams and support them with building robust engineering solutions.
- Work with other related engineering teams and agree on technology choices where needed.
- Run and support the services developed and deployed in a DevOps setting.
- Work collaboratively with the operational teams to uncover and clarify requirements.
- Communicate clearly to a non-engineering audience technology choices and trade-offs, and produce documentation.
- Pioneer and establish best engineering practices in a fast paced operational environment while appreciating the exigencies of such an environment.
Essential Skills and Experience:
- Competency in at least one development language such as Python, Lua, Java, Go, C/C++, etc.
- DB administration SQL and no-SQL databases (creation/maintenance/optimization) e.g.: Redis, Elasticsearch/Lucene, PostgreSQL
- General DevOps / Site Reliability Engineering skills: e.g. failure trouble shooting, log analysis, service monitoring, deployment pipelines, debugging.
- System administration skills and interest e.g.: Linux admin, git integration, Jenkins, puppet.
- Security / Threat intelligence experience and background (esp. security technology integration).
- Hybrid developer / system designer – must have interest in designing systems using existing components / open source projects as well as writing new code that binds components together.
- Competent developer understanding the software dev life cycle and testing best practices (e.g. unit testing, integration testing etc.) using a CI pipeline.
- Knowledge of modern microservices and RESTful interfaces.
As the ideal candidate, you would have knowledge in most of the following:
- Previous experience of designing or working with distributed solutions such as multi-tier architecture systems.
- As many as possible of: Python, Lua, Java, C, C++, Ruby, Go.
- Hands on experience in configuration management of server farms (using tools such as mcollective, Puppet, Chef, Ansible etc).
- Experience of working to deliver a SaaS solution
- Knowledge of email messaging and security, not just sending using SMTP – e.g. DKIM/DMARC/SPF
- Understanding of the internet architecture and web protocols such as HTTP, TLS/SSL, DNS.
- Experience with containerisation such as Docker and Kubernetes.
- Understanding of TCP/IP networking, including familiarity with concepts such as OSI stack