Full time Belgrade, Hybrid
You will build mobile applications for a multinational distribution company. The ideal candidate will have a strong background in C# and .NET framework, with a passion for building scalable, high-performance backend systems. You will be responsible for developing and maintaining the backend logic of our existing applications, ensuring the highest level of performance and responsiveness.
Responsibilities
- Backend Development for Mobile Apps: Design and implement robust backend services using C# and .NET technologies specifically tailored for mobile applications. Ensure backend solutions are scalable, secure, and optimized for performance to support mobile platforms effectively.
- API Design and Implementation: Develop RESTful APIs to facilitate seamless communication between the mobile frontend and the backend. Ensure APIs are well- documented, version-controlled, and adhere to best practices for security and data integrity.
- Database Design and Management: Architect and manage database schemas using Microsoft SQL Server, PostgreSQL/TimescaleDB, or Google Firebase. Optimize queries and implement efficient data storage solutions to enhance application performance and user experience.
- Technical Leadership: Provide guidance and mentorship to junior and external C# developers. Lead by example in adopting best coding practices, promoting a culture of code quality, and continuous improvement within the team.
- Performance Optimization: Identify bottlenecks and implement optimizations in the backend. Utilize profiling tools and techniques to ensure high performance and responsiveness of mobile applications.
- Testing and Debugging: Implement comprehensive testing strategies to identify and fix bugs and performance bottlenecks.
- Security Measures: Implement and maintain robust security measures to protect sensitive data and prevent unauthorized access. Stay updated with the latest security trends and compliance requirements relevant to mobile app development.
- Code Quality and Maintenance: Ensure high standards of code quality through regular code reviews, refactoring, and adherence to SOLID principles. Maintain a well- organized codebase with clear documentation and version control using Git.
Requirements
Must have:
- Advanced C# and .NET Framework/Core Expertise: Proven experience in developing backend services with a deep understanding of the .NET ecosystem. Mastery in crafting efficient, scalable, and secure C# code.
- Database Proficiency: Strong experience with relational databases such as Microsoft SQL Server, and familiarity with NoSQL databases like Google Firebase, as well as PostgreSQL/TimescaleDB. Ability to design, optimize, and manage database schemas and queries.
- API Development: Extensive experience in designing and implementing RESTful APIs for mobile applications, ensuring seamless data exchange and integration with front-end systems.
- Object-Oriented Programming (OOP): Solid grasp of OOP principles, capable of writing clean, modular, and reusable code. Understanding of advanced design patterns and their application in C# development.
- Agile Methodology: Practical experience in Agile development environments, with the ability to adapt quickly and efficiently to changes in project requirements.
- Code Versioning Tools: Proficient use of tools such as Git for source control and version management.
Nice-to-Have:
- Cloud Platform Experience: Hands-on experience with Microsoft Azure Cloud services, including setup, deployment, and management of cloud environments. Certifications in Azure are considered a strong asset.
- Familiarity with automated testing technologies like Appium or NightwatchJS, and Selenium.
- Containerization and Orchestration: Familiarity with Docker for containerization and Kubernetes for orchestration, enhancing the deployment process and scalability of backend services.
- Continuous Integration/Continuous Deployment (CI/CD): Experience with CI/CD pipelines, automating build, test, and deployment processes to improve development efficiency and code quality.