Software Development Engineer II - SCS at iHerb
The SDE II will be part of an agile development team, building and working on enterprise-grade software systems on top of the Microsoft .NET and/or Java development stack. The SDE II develops information systems by designing, developing, and deploying software solutions that are scalable for a high transaction environment.
Design, implement and test software components based on SOLID principles
Follow secure programming and web application security best practices
Maintain high standards of software quality within the team by establishing good practices and habits.
Provide regular updates on projects and team performance
Identify and encourage areas for growth and improvement within the team.
Assist in the collection and documentation of user's requirements, development of user stories, estimates and work plans.
Participate in peer code reviews, providing comments and suggestions
Collaborate with other software developers, product managers and technical leads to plan, design, develop, test, and maintain business applications.
Analyze and resolve technical and application problems.
Regular practice of CI/CD
Support, maintain and document software functionality
Research and evaluate a variety of software products
Knowledge, Skills and Abilities:
Communication skills: must be able to articulate and have a strong technical vocabulary
Knowledge of Object-oriented Design and Analysis (OOA and OOD) and Solid Principal
Strong knowledge of C# .NET or Java
Strong knowledge of Relational and non-relational DBs
Knowledge of best practices within any .Net and/or Java technology
Familiar with Parallel Programming / Thread-safe coding
Familiar with Managed Memory Architecture / Garbage Collector / Cache Management
Knowledge of Connection Pool / Data Reader
Knowledge and experience in Distributed systems, MicroServices, SOA and n-tier architecture is a plus
Production experience with Docker, Kubernetes is a plus
Good communication skills
Team player with a get it done attitude
Requires a minimum of three to five years of experience with software development, design patterns, software architecture
Bachelor’s Degree in Computer Science/Engineering or related fields