Senior Software Engineer (Java)
What will you be working on?
We are looking for a passionate Sr. Software Engineer with extensive hands-on experience in building scalable distributed systems. This person will mentor and collaborate in small teams using agile process in our server-cloud team for our flagship products that helps over 3000 clients collaborate and manage documents efficiently as well as securely.
You will participate in the architecture, development, and deployment of critical, large scale products. Because of our commitment to CI/CD, we are using some cutting-edge technologies like RxJava, Docker, Storm, Elasticsearch, MariaDB and more. We encourage our employees to collaborate and build great relationships globally. Our leadership team cares about every individual holistically, on a personal and professional level.
Responsibilities
- Work within cross-functional engineering teams as well as peer teams to build an integrated solution
- Collaborate with product managers to qualify new features
- Encourage software engineering best practices (e.g. unit testing, code reviews, design documentation) and related tools like GitHub, JIRA
- Communicate, document and present in front of technical and business audiences
- Strive to consistently learn and improve within the company as well as share knowledge with colleagues globally
Requirements
- Bachelor's or Master’s degree in Computer Science or related field
- 5+ years of experience building scalable distributed systems for enterprise or cloud based application
- Deep understanding of system architecture, design patterns, and experience with large complex distributed transactional systems. Capable of identifying trade-offs and provide risk assessment to stakeholders
- A track record for being detail-oriented with a demonstrated ability to self-motivate and follow-through on projects
- Expert proficiency in Java and at least one other high-level modern programming languages like Scala, Python, etc.
- Advanced troubleshooting skills with the ability to dive deep into complex technical problems.
- Experience in working with large data sets stored in SQL or NoSQL databases
- Experience with automated deployments and source code/configuration management tools
- Working knowledge of Linux platforms for development and production use
- Good communication, documentation and presentation skills for technical and business audiences
- Working exposure to CI/CD pipelines and build management within a Cloud/SaaS environment; use of Docker as a delivery package is preferred
About iManage
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