Software Engineer
About iManage
iManage combines artificial intelligence with content and email management to free, secure, and understand information. Over 3000 companies and 1 million users worldwide rely on our market-leading software to share and protect their most valuable data. Our work is not always easy but it is ambitious and rewarding.
So we’re looking for people who love a challenge. People who are happiest when they’re solving problems and collaborating with the industry’s best and brightest. In exchange, we’ll make sure the work you do here is worth doing. That’s the iManage way. It’s how we do things that might appear impossible. How we develop our employees’ strengths and unlock their potential. It’s how we find meaning in everything we do.
Whoever you are, whatever you do, however you work. Make it mean something at iManage.
What will you be working on?
We are looking for Software Engineers at iManage to work on our flagship product in Chicago. In this role, you will be at the center of the development team with responsibility and control over what you are building, with a real impact on our customers and users with every decision you make. Ideal candidate will have an aptitude and passion to learn new technologies while working in a fast paced environment. Our work culture allows us to build great relationships while solving challenging, but interesting problems while having fun under leaders that care about you at a personal and professional level.
Responsibilities
- Design and develop features for iManage work and share products
- Work within cross-functional engineering teams as well as peer teams to build an integrated solution
- Encourage software engineering best practices (e.g. unit testing, code reviews, design documentation) and related tools like GitHub, Jira, Jenkins etc.
- 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 in Computer Science or related field.
- 0-2 years of experience in Java or C++ and one other high level modern programming language like Scala, Python, C#, etc.
- Solid Computer Science fundamentals, course work in algorithms, database systems and design, data processing, networking fundamentals and security.
- Working knowledge of Windows or Linux as a development and runtime environment.
- Experience with advanced development tools, like IntelliJ, GitHub, etc.
- Some development exposure to distributed systems, concurrency, multi-threaded programming.
- Experience with web-scale technologies like Mesos, Spark, Storm, design practices is a plus