Intermediate Software Engineer
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 APIs
- Build and enhance responsive user-facing applications using modern frameworks (e.g., React)
- Own and deliver features independently from design through to production
- Contribute to scalable and maintainable system design and architectural decisions
- Collaborate with Product, QA, and engineering teams to deliver high-quality solutions
- Write clean, testable, and efficient code following best practices
- Participate in code reviews and continuously improve code quality
- Troubleshoot, debug, and resolve issues across development and production environments
- Contribute to CI/CD pipelines and containerized deployments
- Ensure application security, data integrity, and reliability
- Leverage AI tools to improve development workflows, including code generation, test creation, and debugging
- Continuously improve development practices, automation, and system performance
Qualifications
What you will bring to the role:
- 3–5 years of experience in software development
- Strong experience building modern web applications using TypeScript
- Experience 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 React
- Experience 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 architectures
- Experience 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 tests
- Strong understanding of testing practices, including test automation and quality-focused development
- Experience with UI test automation (e.g., Playwright or similar frameworks) is a plus
- Proactive mindset in leveraging AI tools to improve productivity, code quality, and development workflows
- Understanding of application security, authentication, and authorization concepts
- Strong understanding of the software development lifecycle and Agile methodologies (e.g., Scrum)
- Ability to own components or applications and deliver features independently
- Contribution to architectural discussions and technical decision-making
- Strong problem-solving skills and attention to detail
- Ability to collaborate effectively with cross-functional teams
- Computer Science, Software Engineering, or related degree (or equivalent practical experience) is a plus