Software Engineer II - JAVA OR .NET
Software EngineerAs a Software Engineer, you will work in a collaborative team environment that encourages you to perform at your best while contributing to the engineering efforts of one of our scrum teams. You will be challenged to engineer right-sized solutions for complex business problems. You will apply your knowledge of modern software design, best practices, design patterns, and frameworks, with an understanding of application performance and maintainability. You will aspire to use new technologies and challenge yourself to develop innovative solutions. You will work alongside developers and technical leads on a team where collaborative programming and mentoring is regularly practiced.Technologies We UseJava,.NET Core, C#Front EndWeb Components, React, NodeJs, Redux, Jest, Ext JSDatabaseDynamoDB, Postgres, Elasticsearch, OracleAWSCloud infrastructureECS Fargate, EKS FargateLambdaRDSAuroraS3Terraform, Cake Build, KubernetesEC2SQS/SNSVPCAPI GatewayCode BuildCode PipelineCloudWatchYour DutiesBeing a passionate and flexible engineer, collaborate with your team to achieve and exceed the goal to build, deploy, monitor, and manage a highly performing and highly available production system.Construct and manage services published to both internal and external consumers.Implement platform-level components including event architectures, messaging, and caching solutions.Write readable, maintainable, and efficient code.Design and implementation of REST APIs, services, system tasks, and cloud solutions.Enhance performance and reliability of our current solutions.Collaborate with team members on best practices, code reviews, internal tools, and process improvements.Evangelize new ideas within your team as well as across teams.Explore open source or industry-standard solutions that could be a fit for the organization.QualificationsWhere permitted by applicable law, must be fully vaccinated against COVID-19 to be considered for this U.S.-based job. Reasonable accommodations for medical and religious objections will be considered.2+ years of development experienceBA/BS degree in Computer Science or related field (or an additional 6 years of broad development experience).Strong Java or.NET skills and object-oriented design experience, including extensive knowledge of the Java or.NET technology platforms, applied use of design patterns and REST, and MVC technologies such as AngularJS or ReactJS.Nice to Have SkillsAdvanced technical degree and/or related training a plusExperience delivering software in cloud-based systems is a plus.Proven ability to work collaboratively and independently to design, develop and deploy solutionsExperience designing and implementing applications with highly optimized and scalable architecturesGood understanding of industry development, deployment processes, and agile development methodologies desired.Knowledge of session management, object-relational mapping is a plus