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
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:
NET MVC WebAPI
NoSQL and SQL databases
.Net Core a plus
Experience in the consumption of the following data access technologies:
REST and/or SOAP services
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