Apply software engineering and architecture best practices to design, develop and manage high-quality, scalable, and highly available multi-tier enterprise systems
Analyze existing user interface components and find the areas that we can improve
Drive the resolution of problems found in existing applications
Manage and maintain source code
Lead the efforts to design, develop, test, deploy, and support various applications
Must be a dedicated member of the Scrum team and help the team to improve continuously, maximize velocity and deliver high quality products
Mentor and guide the team members with system design, best practices and coding standards
Identify bottlenecks and issues and provide solutions to mitigate and address these issues
Makes a habit of covering the majority of their code with unit tests
Estimate efforts and ensure that work is completed in a timely manner
Responsible for code reviews and merges
What are we looking for?
Experience in C# or other development language (Java, C/C++, Go, or Rust)
Hands-on experience with a javascript structural framework (Angular, Vue, React)
Understand the mechanics of responsive web design using HTM5/CSS3
Experience with data integration and consuming API’s (REST, GraphQL)
Experience with .Net core, Web API and Microservices
Experience designing and implementing distributed systems
Experience working with Cloud and Agile Scrum Process
Familiar with coding patterns, both object oriented and procedural
Understanding of software testing principles and methodologies
Must be a self-starter, motivated, detailed, and can work collaboratively with others
Experience working with SQL, NoSQL, message and data
Preferred
BS or advanced degree in Computer Science, or related field
8+ years of experience in software development with 3+ years of experience leading teams
Experience developing mobile applications
Experience with the automated build and deployment of websites
Experience with Oracle and PL-SQL
Experience securing a public facing API
Experience leading onsite and offshore agile teams
Experience solutioning and estimating requirements
Extensive knowledge of system architecture patterns