The Sr. Software Developer will have extensive experience in our technology stack (TypeScript, NodeJS/NestJS, PostgreSQL, RabbitMQ) and enterprise architecture patterns (CQRS, Event-Driven Architecture, and related approaches) to help deliver our next generation of innovative, scalable platform services for
healthcare and community. Knowledge of React/NextJS highly desirable but not required.
Essential Job Duties & Responsibilities
Analyzes, designs, programs, debugs, and modifies complex and diverse software enhancements and features used in local, networked, cloud-based, or Internet-related computer programs
Applies complex professional concepts and company objectives to resolve issues in creative and effective ways
Actively participates as a developer on Scrum Ceremonies, building software solutions according to team backlog
Effectively collaborates with team members to achieve a shared goal
Executes and promotes development standards, including writing readable code, automated tests, and documentation
Collaborates with other developers within the development teams to ensure best methods and techniques are used in development
Ensures merge/pull requests are reviewed and approved
Serves as technical owner for code written, including executing development standards for their code within applications/systems
Analyzes technological trends and proposes formal recommendations for improvement when appropriate
Engages and shares knowledge with other functional areas of IT as well as business users as an ambassador for the software development team
Keeps job knowledge up to date by studying new development tools and programming techniques; participating in educational opportunities, reading professional publications, maintaining personal and professional networks, and participating in professional organizations
Implement features and functionality within multi-tenant, distributed applications, working with established enterprise patterns including Event-Driven Architecture, CQRS and separation of concerns
Build and maintain scalable features within core platform services
Essential Skills & Abilities
Proficiency in server-side application development with TypeScript and NodeJS (NestJS framework desirable)
Strong proficiency with PostgreSQL
Demonstrated ability to deliver product features to customers in a production environment
Deep understanding of RESTful design principles and experience creating and consuming APIs
Experience working with event-driven systems and message brokers (RabbitMQ preferred)
Experience building features within multi-tenant applications with proper tenant isolation and data separation strategies
Solid understanding of web security fundamentals
Solid understanding of data security and handling of sensitive information (PCI, PII, PHI, HIPAA)
Experience with revision control and CI tools (Git, GitLab)
Experience with at least one cloud environment such as Heroku, AWS, GCP or Azure
Firm understanding of standard SDLC, lean, and agile practices
Ability to rapidly learn and apply new technologies
Core Competencies/Demonstrable Behaviors
Communicates effectively - Developing and delivering multi-mode communications that convey a clear understanding of the unique needs of different audiences
Manages complexity - Making sense of complex and sometimes contradictory information to effectively solve problems
Nimble learning - Actively learning through experimentation when tackling new problems, using both successes and failures as learning fodder
Tech savvy - Anticipating and adopting innovations in business-building digital technology applications
Optimizes work processes - Knowing the most effective and efficient processes to get things done, with a focus on continuous improvement
Education and/or Experience
BS in Software Engineering, Computer Science, or related degree required
10-12 years of professional software engineering experience required
5+ years working with TypeScript
5+ years with Node.js development experience, with strong preference for NestJS framework
5+ years in PostgreSQL database development/deployment
Experience working with enterprise patterns including CQRS and event-driven architecture
Experience building features within multi-tenant, distributed applications
Experience working with message brokers (RabbitMQ preferred) in event-driven architectures
Experience working with IDM platforms (Okta, Auth0), preferred
Hands-on experience building cloud-native applications using Docker, Kubernetes or similar container orchestration. Experience with microservices is a plus.
Experience in enterprise software development environment