Staff Software Engineer

iManage LLC
Chicago, United States of America
26 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English

Job location

Remote
Chicago, United States of America

Tech stack

Java
JavaScript
AJAX
Amazon Web Services (AWS)
Confluence
JIRA
Unit Testing
Azure
Code Review
Databases
Computer Engineering
Relational Databases
Database Design
Software Design Documents
Distributed Systems
Fault Tolerance
Github
Design of User Interfaces
JSON
Python
NoSQL
Secure Coding
Software Construction
Software Engineering
Software Systems
Cloud Platform System
Delivery Pipeline
Backend
Build Management
Kubernetes
Information Technology
REST
Docker
Microservices

Job description

Develop and implement software modules and features for the iManage Work family of products in the Microsoft Azure Cloud, using Java, Docker, Kubernetes, relational databases, REST APIs, JavaScript based user interfaces, JSON, GitHub, Python, NoSQL, and Azure DevOps; design and develop microservices and set up deployment pipelines in Microsoft Azure; define the software and database architecture for new software solutions; work within cross-functional engineering teams as well as peer teams to build an integrated software solution; collaborate with product managers to qualify new features of software products by creating the design document (backend), performing the proof of concept process, and implementing the software feature; follow and encourage software engineering best practices, including performing unit testing using automation, conducting code reviews, and maintaining design documentation; gather client requirements, produce software and database designs that meet both business and technical requirements, and communicate with clients following implementation to ensure that the software meets their needs; and follow secure coding and design practices.

Requirements

Must have a Bachelor's degree in Computer Engineering, Computer Science, or Computer Information Systems plus 5 years of experience in the job offered or a substantially similar position. Alternatively, must have a Master's degree in Computer Engineering, Computer Science, or Computer Information Systems plus 3 years of experience in the job offered or a substantially similar position.

Required experience must include all of the following duties: Building scalable distributed systems or high transaction systems; developing and implementing software products using Java, AWS, NoSQL, REST APIs, JavaScript, Ajax, JSON, GitHub, Docker, and Python; designing and developing microservices and setting up CI/CD pipelines with build management for cloud environments; defining software and database architectures for new software solutions; working within cross-functional engineering teams as well as peer teams; collaborating with product managers to align on both business and technical requirements for features using documented backend design artifacts, performing the proof of concept process, and implementing the software feature; following and encouraging software engineering best practices, including performing automated unit tests, conducting code reviews, maintaining design documentation using Atlassian Confluence and JIRA; gathering client requirements, communicating with clients following implementation to ensure that the software meets their needs; and following fault-tolerant design, data, and system security.

Apply for this position