Job Summary :
We are seeking a talented and experienced Senior Software Engineer to join our engineering team.
You will play a crucial role in designing, developing, and deploying complex software systems, collaborating across teams, and contributing to the overall technical direction.
This role requires strong problem-solving skills, a commitment to quality, and the ability to drive projects from conception to :
- Design, develop, test, deploy, and maintain high-quality, scalable, and performant software solutions across various platforms.
- Collaborate with product managers, designers, and other engineers to understand requirements and translate them into technical specifications.
- Write clean, efficient, well-documented, and testable code.
- Conduct thorough code reviews, ensuring adherence to coding standards, architectural guidelines, and best practices.
- Identify and implement performance optimizations, system enhancements, and necessary refactoring.
- Troubleshoot, debug, and resolve complex technical issues in development, staging, and production environments.
- Participate in architectural discussions and contribute to the evolution of our technical roadmap.
- Mentor junior engineers, sharing knowledge and promoting a culture of continuous learning.
- Stay up-to-date with emerging technologies, tools, and software development :
- 5+ years of professional experience in software development.
- Strong proficiency in at least one major programming language (e.g., Java, Python, Go, C#, Extensive experience with backend development, including API design (RESTful, GraphQL) and database interactions (SQL / NoSQL).
- Familiarity with cloud platforms (e.g., AWS, Azure, GCP) and distributed systems concepts.
- Solid understanding of data structures, algorithms, and software design patterns.
- Proficiency with version control systems (e.g., Git) and CI / CD pipelines.
- Experience with agile development methodologies (Scrum, Kanban).
- Excellent problem-solving, analytical, and debugging skills.
- Strong communication and collaboration :
- Experience with microservices architecture.
- Familiarity with front-end frameworks (e.g., React, Angular, Vue.js) is a plus.
- Experience with containerization (Docker, Kubernetes).
- Knowledge of messaging systems (e.g., Kafka, RabbitMQ).
- Experience with test-driven development (TDD) and automated testing.
- Bachelor's or Master's degree in Computer Science or a related field
(ref : hirist.tech)