Join our dynamic and innovative team as a Senior Backend Developer and embark on an exciting journey of transforming a billion-dollar startup into a cutting-edge micro-services domain-driven design powerhouse. As a key member of our engineering team, you will play a crucial role in building the future of our company.
Roles & Responsibilities:
- Lead the design, development, and maintenance of highly scalable and robust backend services and applications using C#
- Architect and implement backend solutions, making strategic architectural decisions that align with business goals and scalability requirements.
- Mentor and guide junior and mid-level developers, providing technical leadership, code reviews, and best practices.
- Drive the adoption of design patterns and SOLID principles to ensure maintainable, extensible, and scalable codebase.
- Collaborate with cross-functional teams to gather requirements, design solutions, and deliver high-quality software products.
- Design and optimize database schemas and queries for performance, scalability, and reliability.
- Champion a culture of test-driven development (TDD) and write comprehensive unit tests to ensure code coverage and maintainability.
- Make architectural decisions regarding technology stack, frameworks, and third-party integrations, considering factors such as performance, security, and maintainability.
- Lead technical discussions and provide insights into emerging technologies, industry trends, and best practices.
- Troubleshoot complex backend issues, perform root cause analysis, and provide timely resolutions.
- Ensure adherence to coding standards, best practices, and security guidelines.
- Collaborate with DevOps and infrastructure teams to ensure smooth deployment and operation of backend services.
- Participate in Agile development processes, including sprint planning, backlog grooming, and retrospectives.
Required Skills:
- Bachelor's degree in Computer Science, Software Engineering, or related field.
- 5-8 years of experience in backend development using C#
- Expertise in object-oriented programming concepts, design patterns, and SOLID principles.
- Proficiency in backend frameworks such as .NET Core (C#)
- Strong understanding of relational databases and SQL queries, with experience in optimizing database performance.
- Experience with ORM frameworks such as Entity Framework (C#)
- Knowledge of RESTful API design and development.
- Extensive experience in writing unit tests using testing frameworks like NUnit (C#)
- Excellent problem-solving skills and attention to detail.
- Strong leadership and mentoring skills.
- Excellent communication and collaboration skills.
- Ability to make strategic technical decisions and drive architectural discussions.
Preferred Skills:
- Experience with microservices architecture and distributed systems.
- Knowledge of cloud platforms such as Azure or AWS.
- Familiarity with containerization and orchestration technologies like Docker and Kubernetes.
- Experience with message brokers like RabbitMQ or Kafka.
- Exposure to NoSQL databases like MongoDB or Cassandra.
- Familiarity with continuous integration and continuous deployment (CI/CD) pipelines.
- Understanding of software security best practices.
- Active participation in the developer community through conferences, meetups, or open-source contributions.