Senior Software Engineer - Messaging Services
Overview
About the position
The Messaging Services team runs and maintains the core services that accept and process all our customers e-mail. Providing software that is able to protect against phishing and impersonation attacks, right through ensuring attachments are safe, and preventing data leakage. If your software doesn’t work, then customers don’t get email – it’s that simple.
Job Aim:
We are looking for senior software engineers to help us develop both e-mail delivery and processing aspects of our platform, implementing new ideas to ensure we protect our customers from outside attacks, and reputation damage from within. The team works broadly across a number of different areas, including:
- Understanding e-mail and how to parse one
- Content scanning
- URL and domain security
- Core performance in a highly scalable java application
Responsibilities
Key Responsibilities:
- Building high-performance, massively-scalable, always-available Cloud-based systems.
- Participating in the architectural design, innovation and development of new services within the Mimecast platform.
- Developing, deploying and managing software across the full Continuous Delivery life-cycle.
- Supporting and trouble-shooting, occasionally outside of regular office hours when needed.
- Work with the infrastructure team to optimize hardware and software integration.
- Plan and negotiate with peers to meet deadlines.
- Encourage others to perform at their best embracing 'best practice'.
- Manage your own time and priorities, without the need for micro-management.
- 3 months – Becomes an effective member of the team, adding new functionality to existing services
- 6 months – taking ownership of individual services, and setting technical direction
- Ongoing – derives satisfaction of knowing that you’re protecting and providing critical services to Mimecast customers 24/7
Qualifications
Essential Skills and Experience:
- 5-10 Years of solid experience with high concurrency applications, multithreading, server architectures, and distributed systems
- Experience working with high volume usercount or transactional systems
- Experience working on business critical software
- Modern Core Java 8 or proven experience in any Object Oriented language
- Knowledge developing and debugging distributed applications
- Understanding and practical application of unit testing and integration testing
- Understanding of continuous deployment using CI/CD tools like Jenkins, SCM (Git, SVN) along with code reviews
Desired Skills:
- Experience with network programming including REST, HTTP and raw TCP/IP sockets
- Extensive knowledge of email messaging, not just sending using SMTP
- Lucene
- Regex’s
- Text based analysis
- Experience of high throughput, low latency systems
- Extensive Linux/Unix skills (e.g. RHCE, LPIC, or practical experience)
- Experience of working in a DevOps model
- Experience of working as part of a SaaS solution
Desired Experience:
Experience at working in other e-mail providers, or large SaaS vendors (e.g. AWS, Facebook, LinkedIn) is of interest. People with experience in trading software for banks or telco software is also potentially interesting (high volume, low latency processing). Candidates who claim responsibility for architecture of systems, or systems level design are potentially of interest, being able to demonstrate some kind of technical leadership role could be valuable.
Personal Skills:
- Passion
- Proactivity
- Intelligence
- Strong analytical skills
- Attention to detail
- Honesty and Integrity
- Small company “just get on with it” attitude
Reward
We offer a highly competitive rewards and benefits package including private healthcare, pension, life cover, child care vouchers and an annual gym subsidization. Mimecast is an entrepreneurial and high growth company which will provide the right candidate with a wealth of career development opportunities. All Mimecasters strive on being high performers, problem solvers, team players with passion, integrity and effectiveness.