Develop high-quality software design and architecture
Identify, prioritize and execute tasks in the software development life cycle
Develop tools and applications by producing clean, efficient code
Automate tasks through appropriate tools and scripting
Review and debug code
Perform validation and verification testing
Collaborate with internal teams and vendors to fix and improve products
Document development phases and monitor systems
Ensure software is up-to-date with latest technologies
EDUCATION
WORK EXPERIENCE
Should be a professional with a minimum of 5 years hands-on development experience on .NET
Should have considerable experience in working on React, JavaScript, Microservices, SQL, Google Captcha and Agile Lifecycle tools (JIRA, Confluence, etc.)
SKILLS AND KNOWLEDGE
Core Technical Competencies:
Have crystal-clear, concise and effective communication skills
Possess very strong OOPS and OOD Skills
Possess very strong Pure JavaScript skills
Have worked on at least one of the many Open Source web development frameworks such as Angular, React, Knockout, etc.
Possess the design and analytical skills to help design superlative applications
Have worked closely with Application Design and Technical Architecture teams/professionals and must have understood development lifecycles (Product Development Environment is a bonus)
Have worked closely with Project/Program Management teams and must have understood development methodologies such as SCRUM/Agile
Have a strong understanding of Information security, protocols and libraries
Possess work experience with Cloud based applications on one or more Cloud Provider
Be open to work as an individual contributor as well as in a team
Good to have Competencies/Skills (Not mandatory):
Serverless Computing using Microsoft Azure Functions or Amazon AWS Lambda or Google Firebase Functions
Possess Microservices experience, exposure to Azure Service Fabric and Reverse Proxies
Containerized development with Docker or Kubernetes
Realtime Queuing and messaging frameworks such as MSMQ, IBM MQ, RabbitMQ, Apache Kafka, Azure Service Hub, Mulesoft ESB, Google Firebase Realtime Database, etc.
Platform Skills:
Consider yourself well-versed with concepts such as Inversion of Control/Dependency Injection, GoF and other Design Patterns, Reactive Programming
Are familiar with testing methodologies such as unit testing, integration testing and behavior testing. Experience with tools such as MSTest, NUnit, Moq, CucumberJS, is helpful
Possess good SQL Skills (Queries, Stored Procedures, Functions and Triggers). Exposure to NOSQL databases is a plus.
Consider yourself a high value application/product development professional with skills in/exposure to the following skills:
Protocols and Architecture:
Exposure to SOAP / REST based Services is a must.
Design Patterns:
Well-versed with MVC architectural pattern. Exposure to MVP/MVVM is a plus
Experience using Design Patterns viz., Factory, Abstract Factory, Unit of Work, Singleton, Decorator, Prototype, Builder, Observer, and others
Reactive Programming using RxJava (Java)
DevOps:
CI/CD using Microsoft Visual Studio Team Services to create pipelines for Build and Deploy
Any other DevOps tool such as GitLab-CI, Jenkins, GIT, etc.
Strong working knowledge of GIT is preferred, especially knowledge around different branching strategies
Other Tools/Approaches:
Wide experience in working with different design approaches - Data First, Code First, Model First approaches
Microsoft Enterprise Library 6.0
Extremely well-versed with LINQ to SQL, Lambda expressions, Extension Methods to Collections and Generics
Object-Relational Mapping frameworks - NHibernate, Microsoft Entity Framework, LINQ, etc.
Leadership Skills:
Consider yourself as being a role-model for others with lesser experience and exposure
Are a very good listener and you consider solutions/ideas offered by others sportively
Are not afraid of failure and can start all over again