Senior Software Developer at iHerb
Job Summary: The Senior Software developer will be part of an agile development team, building and working on enterprise grade software systems on top of the Microsoft .NET development stack. The Senior Software Developer develops information systems by designing, developing, and installing software solutions that are scalable for a high transaction environment.
Full life-cycle application development
Design, develop, enhance and support new / existing software, applications, and systems primarily using Microsoft technologies (i.e. .NET Core, SQL, ASP.NET, MVC, and C#).
Designing, coding and debugging applications in various software languages.
Software analysis, code analysis, requirements analysis, software review, identification of code metrics, system risk analysis, software reliability analysis
Object-oriented Design and Analysis (OOA and OOD)
Software modeling and simulation
Software testing and quality assurance
Performance tuning, improvement, balancing, usability, automation
Support, maintain and document software functionality
Integrate software with existing systems
Evaluate and identify new technologies for implementation
Project Planning and Project Management
Maintain standards compliance
Implement localization or globalization of software
Responsible for writing technical design specifications.
Design /develop systems using .NET Core technology, microservices architecture, SOLID principles and REST paradigms.
Knowledge, Skills and Abilities:
Communication Skills, must be able to articulate, and have a strong technical vocabulary
Display of initiative / self-starter
Understands agile environment
A strong understanding of .Net best practices
Unit testing and continuous integration
Exposure to all aspects of the software development life-cycle
A portfolio demonstrating first-hand development experience with complex applications
Ability to cut through ambiguity and use good organizational skills.
A passion for building user-centric solutions
A proven track-record delivering flawless defect free code.
Demonstrated experience of source control, defect reduction and release management
Experience building applications using Domain Driven Design and SOLID principles
Experience building enterprise solutions using microservices architecture
Experience with messaging technologies: Kafka, Google Pub/Sub, RabbitMq
Experience with Nosql Database technologies
Experience with Docker and Kubernetes
Strong knowledge of C# .net and experience with Microsoft Visual Studio
Strong knowledge of SQL and Microsoft SQL server
Experience designing, building, testing and supporting applications with n-tier architecture
Knowledge with RESTful APIs
Knowledge of Windows service and API development
Generally requires a minimum of 6 years of experience with the Microsoft .NET platform, including C#, ASP.NET or four (4) to eight (8) years of experience
Bachelor’s Degree in Computer Science or related field required and/or years of experience.