- Computer Science BS/MS degree.
- 5 years of software development experience.
- Cloud development experience (AWS, Azure, OpenStack, etc.)
- Experience building / consuming REST APIs.
- Experience with high throughput, scalable, systems.
- Must know and be able to discuss in depth the following: SOLID, Inversion-of-Control / Dependency Injection, Domain Driven Design.
- Must be able to discuss in depth the differences and advantages of SOAP and REST, and provide examples where each would be the preferred option.
- Should recognize, understand and be able to discuss, to anadvanced degree,general knowledge concepts about the web.
- Should be able to discuss ORM vs. Micro-ORM vs. No ORM in depth, with advantages of each.
- Should be able to discuss how to technically manage solution complexity in terms of application structure and solution/project structure.
- Be able to articulate what quality in software development is and the development teams role in it.
Required Skills & Experience
- Has led teams greater than 5 people before.
- Good written and verbal communication skills in English, client relation skills, and ability to work effectively as a contributor in a technical team environment.
- Competent in the use of following technologies and tools to develop web applications:
- Angular2+ and TypeScript.
- The ability to work within the following software development methodologies:
- Agile / SCRUM / Waterfall.
- Continuous Integration.
- Continuous Delivery.
- Experience in the following development activities:
- Single page application design.
- Designing REST-based APIs.
- Writing SQL queries.
- Modifying database schemas.
- Experience in the use of the following technologies and tools:
- Visual Studio.
- NET MVC WebAPI.
- NoSQL and SQL databases.
- MS Build.
- Angular 4/5.
-.Net Core a plus.
- Experience in the consumption of the following data access technologies:
- REST and/or SOAP services.
- Entity Framework.
- Big plus for experience with Messaging systems (MSMQ, RabbitMQ, etc.) – not mandatory but a ‘very nice to have’.
- Must have a desire to solve tough and complicated problems.
- Must be willing to lead by example.
- Must have a passion for learning detailed technical concepts and the desire to implement solutions based on that knowledge.
- Must have the ability to assess others technical competencies and a passion to work side by side as a mentor seeking continuous improvement.
- Must have the capacity to identify and act on good advice.
- Must be willing to work on legacy products (VB6).
- Must understand that quality is something that developers take responsibility for and that the QA teams primary responsibility is to validate the implementation of requirements.
Work Places : Ha Noi, Da Nang.