Server-side Software Engineer – Remote
Software Engineer
Remote
Work Authorization
Authorized to work in U.S. without current/future visa sponsorship.
Position Description:
Nurocor is seeking candidates for a server-side Software Development Engineer position. The primary responsibility of this position is to collaborate with other Nurocor development team members in developing and maintaining Nurocor Clinical Platform (NCP) server-side components. NCP’s architecture is microservice-based and leverages leading edge languages, components, and development techniques. The position is full-time and remote, with daily collaboration through Microsoft Teams and the Atlassian product suite (Jira, Bitbucket, Confluence).
Responsibilities:
- Designing and implementing new component features within a scrum-based agile development approach, including automated unit testing and continuous integration strategies.
- Resolving component defects as reported by development team members, QA, and customers.
- Participating in code peer reviews as part of the development process.
- Collaborating with DevOps, QA, Support, and Professional Services peers as needed to ensure quality development, deployment, and delivery of NCP components.
Technologies:
- Languages/Runtimes: Java and Node.js.
- Data stores: ArangoDB, Elasticsearch and PostgreSQL.
- APIs: mix of GraphQL and REST, written in Java and Node.js.
- Web clients: Vue, using NuxtJS.
- Testing: Jest, Cypress.
- Other: Git, Docker, Jenkins, Kubernetes and the Atlassian product suite.
Skills:
- Demonstrated knowledge of Java and JavaScript programming languages.
- Knowledge of API design: GraphQL, service-oriented architecture, microservices; and the pros and cons of each.
- Deep understanding of data structures, concurrency and parallelism.
- Familiarity with AMQP (preferred) or other asynchronous messaging protocols.
- Strong written/oral communication skills.
- Flexibility to rapidly adjust plans to changing business needs
- Strong collaboration skills within and across teams
- Detail-oriented independent worker with ability to:
- Analyze complex requirements.
- Collaboratively specify design.
- Implement approaches to meet those requirements.
- Implement well-structured code.
Education/Experience:
- Education: Bachelor’s Degree in Computer Science or Computer Engineering or Master’s Degree in a related field.
- Minimum of five years of experience in a software development position.
Job Features
Job Category | Programing |