About the role
We are looking for a highly skilled Software Development Engineer who is passionate about building high-quality, scalable, and high-performance software systems. The ideal candidate will be hands-on, detail-oriented, and capable of owning end-to-end delivery of features and modules.
Responsibilities:
- Design, develop, and build stable, scalable, and high-performance software systems.
- Take ownership of the quality and timely delivery of assigned applications, features, or modules.
- Follow best practices in software design, clean coding, and development standards.
- Ensure code passes through rigorous testing and quality checks before production deployment.
- Collaborate with software engineers and database engineers to drive best development practices.
- Contribute to improvements and innovations in both new and existing products.
- Remain hands-on technically, working across web, mobile, and database layers.
- Collaborate with customers, stakeholders, and peers to define and refine project ideas.
- Actively participate in code reviews, system design discussions, sprint planning, and team meetings.
Requirements:
- Bachelor's degree in computer science, software engineering, or a related technical field.
- 5-8 years of professional experience in software development.
- Strong expertise in software design and development.
- Proficiency in at least one object-oriented programming language (e. g., Java).
- Solid understanding of computer science fundamentals, including object-oriented design, data structures and algorithms, problem-solving, and time and space complexity.
- Proven experience delivering large-scale, cross-functional projects.
- Hands-on experience building high-performance, highly available, and scalable distributed systems.
- Experience in API design and development, including third-party and customer integrations.
- Ability to analyze systems end-to-end (client, server, database, control flow) as well as deep technical aspects (threads, sessions, performance optimization).