Remote Job Description

Job Description

Job Summary

Designs, develops, and maintains software applications as part of a dynamic cross-functional agile team.

Essential Duties & Responsibilities

• Develops software applications and supporting infrastructure using established coding standards and methodologies
• Relentlessly pursues quality through multiple levels of automated tests, including but not limited to unit, API, End to End, and load.
• Develops tooling, test harnesses and innovative solutions to understand and monitor the quality of the product
• Develops infrastructure as code to reliably deploy applications on demand or through automation
• Understands cloud managed services and builds scalable and secure applications using them
• Creates proof of concepts for new ideas that answer key questions of feasibility, desirability, and viability
• Performs thorough code reviews that promote better understanding throughout the team
• Trouble shoot, instrument and debug existing software resolving root causes of defective behavior
• Builds intuitive user interfaces with the end user persona in mind using front end frameworks and styling
• Works with architects, designers, business analysts and others to design and implement solutions
• Work within an agile scrum team, contributing to an atmosphere of continuous improvement
• Understands how to interpret database models and effectively collaborate with Database Engineers
• Assist product owners in backlog grooming, story breakdown and story estimation
• Collaborate and communicate effectively with team members and other stakeholders throughout the organization
• Document software changes for use by other engineers, quality assurance and documentation specialists
• Master the technologies, languages, and practices used by the team and project assigned
• Other duties as assigned

Skills & Requirements


 BA/BS in Computer Science, Technology or a related field. Equivalent work experience may substitute for a degree.

Minimum Qualifications

• Mastered basic programming concepts and patterns
• Mastered technologies and tools utilized by team and project assigned
• Minimum 2 years’ experience developing software applications
• Must be proficient in basic programming skills and proficient in one or more of the following languages (Specific languages needed will vary based on development department or project)
• .Net Core, C#, Java, SQL, JavaScript, Typescript, Python

Additional desired skills:

• Single-Page Applications, Angular (v9), Ivy, RXJS, NGRX, HTML5, CSS/SASS, Web Components, Atomic Design
• Test First approach, Test Driven Development (TDD), Automated testing (Protractor, Jasmine), Newman Postman,
• Microservices, Terraform, Jenkins, Jupyter Notebook, Docker, NPM, Yarn, Nuget, NodeJS, Git/Gerrit, LaunchDarkly
• Amazon Web Services (AWS), Lambda, S3, Cognito, Step Functions, SQS, IAM, Cloudwatch, Elasticache
• oDatabase Design, Optimization, Replication, Partitioning/Sharding, NoSQL, PostgreSQL, MongoDB, DynamoDB, Elastic Search, PySpark, Kafka
• Agile, Scrum, Kanban, DevSecOps
• Strong problem-solving skills
• Outstanding communications and interpersonal skills
• Ability to track software issues to successful resolution
• Ability to adapt in a collaborative fast paced environment
• Ability to think about and plan a infrastructure and security as part of development
• Ability to learn new development language quickly and apply that knowledge effectively