Associate Software Engineer
About the job
Job Description
Properly formatted markdown text here. You MUST use \n literals for newlines inside this string value, do NOT use actual raw newlines. The Associate Software Engineer supports the design, development, and maintenance of software applications as part of a dynamic cross-functional agile team. In addition, they will collaborate with other staff to design and implement solutions.
Essential Duties and Responsibilities:
Develop software applications and supporting infrastructure using established coding standards and methodologies. Pursue quality through multiple levels of automated testing including unit, API, end-to-end, and load testing. Develop tooling, test harnesses, and innovative solutions to monitor product quality. Build infrastructure as code to deploy applications reliably through automation. Understand cloud-managed services and build scalable, secure applications using them. Create proof of concepts for new ideas to evaluate feasibility and viability. Perform thorough code reviews to improve team understanding. Troubleshoot and debug existing software to resolve root causes of issues. Build intuitive user interfaces using front-end frameworks and styling tools. Collaborate with architects, designers, business analysts, and other team members to implement solutions. Work within Agile Scrum teams and contribute to continuous improvement. Interpret database models and collaborate with database engineers. Assist with backlog grooming, story breakdown, and estimation. Document software changes for engineers, QA, and documentation specialists. Build technical expertise through assignments, training, and project work. Apply software engineering principles and testing methodologies to solve routine technical issues. Participate actively in meetings, training sessions, and team activities.
Education and Experience:
Bachelor’s degree or equivalent with minimal relevant work experience (0–2 years).
Knowledge, Skills, and Abilities:
Basic programming skills in one or more of the following languages: .NET Core, C#, Java, SQL, JavaScript, TypeScript, and Python.
Additional desired skills include:
Single-Page Applications, Angular v9, Ivy, RXJS, NGRX, HTML5, CSS/SASS, Web Components, and Atomic Design. Experience with Test Driven Development (TDD), automated testing tools such as Protractor, Jasmine, Newman Postman, and artillery.io. Knowledge of Microservices, Terraform, Jenkins, Jupyter Notebook, Docker, NPM, Yarn, Nuget, NodeJS, Git/Gerrit, and LaunchDarkly.
Cloud and database technologies:
AWS services including Lambda, S3, Cognito, Step Functions, SQS, IAM, Cloudwatch, and Elasticache. Database concepts including optimization, replication, partitioning/sharding, NoSQL, PostgreSQL, MongoDB, DynamoDB, Elastic Search, PySpark, and Kafka.
Other requirements:
Knowledge of Agile, Scrum, Kanban, and DevSecOps practices. Strong problem-solving, communication, and interpersonal skills. Ability to resolve software issues effectively and adapt in a fast-paced collaborative environment. Ability to think about infrastructure and security during development. Strong learning mindset with attention to detail and professionalism. Basic knowledge of Microsoft Outlook, Word, and Excel. Ability to manage multiple tasks concurrently and apply standard methodologies to solve routine technical problems.