This is a full-time role for a Senior Backend Developer. As a Senior Backend Developer, you will be responsible for developing and implementing software solutions for various clients. The role will be located in Tehran, with flexibility for remote work.
Responsibilities
- Develop and maintain scalable, secure, and high-performance back-end applications using .NET technologies.
- Design, implement, and maintain database schemas and queries to support application functionality and performance requirements.
- Collaborate with front-end developers to integrate user-facing elements with server-side logic.
- Optimize application performance through code refactoring, performance tuning, and implementing best practices.
- Participate in the full software development lifecycle, including requirements gathering, design, development, testing, deployment, and maintenance.
- Conduct code reviews to ensure code quality, maintainability, and adherence to coding standards.
- Troubleshoot and debug issues, providing timely resolution and root cause analysis.
- Stay updated on emerging technologies and industry trends, incorporating them into our development practices as appropriate.
- Collaborate with cross-functional teams to define project requirements, timelines, and deliverables.
- Mentor junior developers, sharing knowledge and best practices to foster their professional growth.
- Proactively identify opportunities for process improvement and contribute to the continuous improvement of our development practices.
- Adhere to project deadlines and milestones, ensuring timely delivery of high-quality software solutions.
Your skills and experiences
- Proficient in Micro Service architecture
- Strong Object-Oriented Programming (OOP) skills
- Proficiency in .NET Core
- Proficient in ASP. Net Core and ASP. Net MVC
- Proficient in RESTful API
- Proficient in EF, EF Core
- Sufficient mastery of SQL Server, Redis and MongoDB
- Proficient in SOLID concepts
- Proficient in Onion architecture
- Sufficient mastery of all types of Design Patterns and Best Practices
- Experience in Software Development and Programming
- Proficient in Git and project control
- Bachelor's or Master's degree in Computer Science or related field
- Ability to work independently and as part of a team
- Experience with Agile methodologies is preferred
Familiarity with the following is an advantage:
- Implementation and execution of Unit and Integration tests
- DDD
- ELK
- gRPC
- GraphQL
- CQRS, SAGA
Terms of cooperation and benefits
- The possibility of long-term cooperation along with creating job security
- The existence of opportunities for growth and career advancement
- Existence of powerful development teams
- Shift work from Monday to Friday (9:00 – 18:00) with one hour of floating