Description
Aderant is a global industry leading software company providing comprehensive business management solutions for law firms and other professional services organizations with a mission to help them run a better business.
We are motivated by a collective desire to drive the legal industry to the forefront of innovation.
With over 2,500 clients around the world, including 95 of the top AmLaw 100 firms, we are changing the outside perception of the legal sphere; where there was once resistance to modernization, we are creating a culture that embraces new ideas and technology.
At Aderant, the “A” is more than just a letter.
It is a representation of how we fulfill our foundational purpose, serving our clients.
It embodies our core values and reminds us that to achieve success, every day must start with the “A”.
We bring the “A” to life by fostering a culture of innovation, collaboration, and personal growth.
We encourage our diverse teams to bring their whole selves to work – ideas, experience, and passion – to drive our mission forward.
Our people are our strength.
Role Description
As an Intermediate Software Engineer, you will design, build, and maintain scalable, secure, and high-quality cloud-based applications.
You will contribute across the full software development lifecycle, including API design, frontend development, testing, deployment, and production support.
This role requires strong collaboration within an Agile team and the ability to work effectively with cross-functional stakeholders.
The ideal candidate has hands-on experience building modern full-stack applications using TypeScript, strong ownership of features, and a proactive mindset toward leveraging AI to improve development efficiency, quality, and delivery speed.
Responsibilities
Design, develop, and maintain backend services and APIsBuild and enhance responsive user-facing applications using modern frameworks (e.g., React)Own and deliver features independently from design through to productionContribute to scalable and maintainable system design and architectural decisionsCollaborate with Product, QA, and engineering teams to deliver high-quality solutionsWrite clean, testable, and efficient code following best practicesParticipate in code reviews and continuously improve code qualityTroubleshoot, debug, and resolve issues across development and production environmentsContribute to CI/CD pipelines and containerized deploymentsEnsure application security, data integrity, and reliabilityLeverage AI tools to improve development workflows, including code generation, test creation, and debuggingContinuously improve development practices, automation, and system performance
Qualifications
What you will bring to the role:
3–5 years of experience in software developmentStrong experience building modern web applications using TypeScriptExperience developing backend services using Node.js (familiarity with frameworks such as Express.js or Nest.js is a plus)Experience building user interfaces with frameworks such as ReactExperience designing and consuming APIs (RESTful services; familiarity with GraphQL is a plus)Familiarity with relational databases (e.g., PostgreSQL, MS SQL) and NoSQL databases (e.g., MongoDB)Understanding of distributed systems or service-based architecturesExperience with cloud-based application development (e.g., AWS or similar platforms)Experience working with container orchestration platforms (e.g., Kubernetes)Experience with infrastructure as code and GitOps practices (e.g., Terraform, Flux, or similar tools)Experience with containerization and CI/CD pipelines (e.g., Docker, GitHub Actions, or similar)Experience writing and maintaining unit and end-to-end testsStrong understanding of testing practices, including test automation and quality-focused developmentExperience with UI test automation (e.g., Playwright or similar frameworks) is a plusProactive mindset in leveraging AI tools to improve productivity, code quality, and development workflowsUnderstanding of application security, authentication, and authorization conceptsStrong understanding of the software development lifecycle and Agile methodologies (e.g., Scrum)Ability to own components or applications and deliver features independentlyContribution to architectural discussions and technical decision-makingStrong problem-solving skills and attention to detailAbility to collaborate effectively with cross-functional teamsComputer Science, Software Engineering, or related degree (or equivalent practical experience) is a plus