Principal Engineer (Java)
iManage transforms how professionals in legal, accounting and financial services get work done by combining the power of artificial intelligence with market leading document and email management. iManage automates routine cognitive tasks, provides powerful insights and streamlines how professionals work, while maintaining the highest level of security and governance over critical client and corporate data. Over one million professionals at over 3,000 organizations in over 65 countries – including more than 2,000 law firms and 500 corporate legal departments – rely on iManage to deliver great client work.
Learn more at:www.imanage.com
Overview
10+ years of hands-on experience in building scalable distributed systems. Bachelor's or Master’s degree in Computer Science.
Requirements
- Team leadership and mentoring skills; recent work in driving small teams using Agile Scrum development process; past demonstrable experience in owning deliverables.
- Expert proficiency in Java and at least one other high-level modern programming languages like Scala, Python, etc.
- Experience with full-stack development
- Proficiency with relational database and NoSQL systems
- Thought leadership and design skills in one or more key technology areas: high-transaction systems, micro-services based distributed architectures, fault-tolerant designs, data and system security.
- Experience with Linux platforms for development and production use
- Working within cross-functional engineering teams as well as peer teams in building an integrated solution
- Experience with software engineering best practices (e.g. unit testing, code reviews, design documentation) and related tools like GitHub, JIRA
- Excellent communication, documentation and presentation skills for technical and business audiences
Requirements
- Knowledge and hands-on experience with any of the web-scale technologies like Mesos, Spark, Storm
- Development exposure to public cloud services like AWS.
- Working exposure to CI/CD pipelines and build management within a Cloud/SaaS environments; use of Docker as a delivery package
- Secure coding and design practices, including threat modelling