Job Summary:
- Debug and fix complex bugs.
- Independently build new code and suggest architectures for moderately complex solutions.
- Apply SOLID principles and software design patterns such as Dependency Injection.
- Write reliable unit tests (TDD or post-implementation) covering 80% of code.
- Mentor and build the skills of other developers on the team.
- Review all code against coding standards and provide constructive feedback.
- Collaborate effectively with testers and DevOps teams.
- Diagnose third-line support issues and understand root causes to prevent reoccurrence.
- Contribute to sprint refinement, risk analysis, planning, review, and retro meetings.
- Ensure efficient code design and avoid writing inefficient code.
- Understand common security vulnerabilities and avoid introducing them in code.
- Apply creative thinking or find new ways to complete tasks.
- Demonstrate effective oral and written communication skills with colleagues, users/customers, suppliers, and partners.
- Continuously develop technical knowledge and professional skills.
- Follow appropriate practices for security, privacy, and ethics in non-routine work.
Experience & Educational Requirements:
- Bachelor's Degree in Computer Science, Information Technology, or related discipline (or equivalent experience).
- 6+ years of experience in software design and development.
Technical Skills:
- Experience working in Microsoft .NET / C#.
- Utilize Microsoft Visual Studio.
- Experience with Databases, preferably Microsoft SQL Server, Azure SQL, MySQL, Azure COSMOS.
- Apply SOLID principles and Design Patterns.
- Implement Dependency Injection.
- Unit Testing and Integration Testing using NUnit/xUnit.
- Understanding of REST web services.
- Web UI development using JQuery, React, or Angular.
- Experience with Azure or other cloud PaaS services (functions, storage, key vault, etc.).
- Azure CI/CD pipelines and Quality Gates.
- Containerization using Docker (Linux/Windows based).
- Experience with reporting tools.
- Experience working in Agile SCRUM methodology.
Preferred Certifications:
- Android Development Certification.
- Microsoft ASP.NET Certification.
- Microsoft Certified Engineer.
- TOGAF (Application/Infrastructure/Enterprise Architect Certification).
- Certified Scrum Master.
- SAFe Agile Certification.
- DevOps Certifications (e.g., AWS Certified DevOps Engineer).
Behavioral Skills:
- Critical Thinking
- Detail Oriented
- Impact and Influencing
- Interpersonal Communication
- Multitasking
- Problem Solving
- Time Management
Tools Knowledge:
- Cloud Computing Tools: AWS, Azure, Google Cloud
- Container Management and Orchestration Tools
- Object-Oriented Design
- Microsoft Office Suite
- NoSQL Databases: MongoDB, BigTable, Redis, RavenDB, Cassandra, HBase, Neo4j, CouchDB
- Programming Languages: JavaScript, HTML/CSS, Python, SQL
- Operating Systems & Servers: Windows, Linux, Citrix, IBM, Oracle, SQL