We offer a flexible working policy that supports a healthy balance between personal and professional well-being. This role requires in-office presence on Tuesdays & Thursdays to collaborate, connect, and learn from peers - while also maintaining the flexibility for meaningful work-life balance.
Being a Principal Software Engineer at iManage Means…
You will play a critical role in driving complex technical initiatives, spanning requirements, design, build, and delivery, on a team responsible for iManage's core platform. This role is tailor-made for someone who wants real ownership of the entire SDLC. You will partner directly with product management, design, and research to help shape not just how we build software, but what we build. You will bring a broad ownership mindset to this role, enhancing a platform used by knowledge workers across the world.
iM Responsible For…
Owning technical initiatives end to end, from understanding the problem and requirements through design, architecture, implementation, and delivery, with minimal day-to-day oversight
Operating with a product mindset: understanding why something matters to the customer and the business, not just executing a ticket
Designing and implementing modern, cloud-native systems that help iManage Work scale to meet current and future demand
Collaborating within cross-functional engineering teams as well as peer teams to build an integrated solution
Staying hands-on enough to remain technically credible, including applying AI tools thoughtfully as part of daily engineering work
Communicating, documenting, and presenting to technical and business audiences
Guiding and mentoring engineers, influencing technical direction across the team and peer teams, and helping establish patterns and practices that enable the organization to take on more ambitious work
iM Qualified Because I Have…
A demonstrated record of owning complex technical initiatives from problem definition through delivery, including work driven independently with minimal oversight
Hands-on experience designing and delivering high-volume distributed systems, microservices, and event-driven architectures in production
Strong software engineering experience in one or more modern backend languages; our primary stack includes Java, .NET, and Python
Experience designing and delivering cloud-native systems at scale, with Azure preferred, and a strong understanding of scalability, reliability, failure modes, and operational constraints
The ability to think critically about architectural trade-offs, including performance, complexity, infrastructure cost and the business value.
Practical understanding of modern AI technologies and workloads, supported by hands-on experimentation, research, or production experience
The ability to reason about AI model selection and usage, including quality, latency, context, cost and other practical constraints, and to contribute ideas for how AI can create real product or engineering value
Proficiency with relational and NoSQL database systems, Linux-based development and runtime environments, and modern CI/CD practices
Knowledge of secure coding and design practices, including threat modeling; experience with Docker and Kubernetes is a plus
A bachelor's or master's degree in computer science or a related field
Don't meet every qualification listed above? Studies show that women and people of color are less likely to apply to jobs unless they meet all qualifications. At iManage, we are committed to building a diverse and inclusive environment, and encourage everyone to show up as their full authentic selves. We welcome those that come with a growth mindset and a hunger for learning; so, if you are excited about this role but your past experience doesn't align perfectly with every qualification we encourage you to apply anyways!
iM Getting To…
Join a supportive, experienced team with an inclusive, encouraging, and vibrant culture.
Have flexible work hours that allow me to balance my ‘me…