JOB PURPOSE

  • To provide technical leadership and expertise in the design, development, and maintenance of software applications. Collaborate with cross-functional teams, contribute to architectural design, and drive the implementation of complex software solutions.

QUALIFICATIONS & EXPERIENCE

  • A bachelor’s or master’s degree in computer science, software engineering, or a related field
  • At least 5-7 years of professional experience in Software Development, with a focus on progressively more challenging and complex projects.
  • Proven track record of successfully delivering software solutions and taking a leadership role in development projects.
  • Code review, performance optimization, and continuous improvement of development processes
  • Expertise in software architecture, design patterns, algorithms, automated unit testing, Domain Driven Design(DDD) and data structures.-
  • Familiarity with advanced technologies, frameworks, and tools specific to their domain
  • Guiding and mentoring junior team members

KNOWLEDGE:
Programming Languages:

  • Expertise in multiple programming languages, including but not limited to JavaScript, React, C#, ASP.NET Core, with a deep understanding of their features and best practices.

Software Architecture and Design Patterns:

  • Knowledge of software architectural principles and design patterns, such as MVC (Model-ViewController), MVVM (Model-View-ViewModel), and SOLID (Single
    Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion).

Databases:

  • Understanding of database concepts, including relational databases (e.g., SQL) and NoSQL databases (e.g., MongoDB, Redis), as well as knowledge of data modeling and query optimization techniques.

System Design:

  • Proficiency in designing scalable, reliable, and highperformance systems, including distributed systems, microservices, and cloud-based architectures (e.g., AWS, Azure, or Google Cloud Platform).

Software Development Lifecycle:

  • Familiarity with various software development methodologies (e.g., Agile, Scrum, Kanban) and experience in managing the development lifecycle from requirements gathering to deployment and maintenance.

SKILLS:

  • Problem Solving and Debugging
  • Code Review and Mentoring
  • Testing and Quality Assurance
  • Collaboration and Communication

Desired Skills:

  • JavaScript
  • React
  • C#
  • ASP.NET Core

Desired Qualification Level:

  • Degree

Learn more/Apply for this position