Software Engineer
Job description
- Translation of complex functional requirements into technical requirements, implementing and maintaining a coherent and progressive development strategy for our product line
- Design, develop, and maintain complex systems using the best of the breed development practices and technology.
- Responsible for the overall software development life cycle.
- Delivery of High Quality, Scalable and Extensible systems, and applications on-time and on-budget.
- Adoption and Evolution of the software engineering practices and tools within the organization
- Keep in sync with the latest technology developments and open source offerings. Evaluate and adapt them to solving the business problem of the organization.
- Collaborate with other technology and business teams within the organization to provide efficient robust solutions to the problems.
- Drive and manage the bug triage process
- Report on the status of product delivery and quality to management, customer support, and product teams.
Job requirements
- Strong programming, debugging, and problem-solving skills
- Strong understanding of data structures and algorithms
- Sound understanding of object-oriented programming and excellent software design skills.
- Should have experience with HTML, CSS, Javascript, Bootstrap, and frontend library such as React JS/VueJS/Angular
- Good experience of SOA/Microservices/Restful services.
- Strong understanding of database design and SQL (MySQL/mariaDB) development, along with REDIS.
- Experience in backend language/framework such as PHP or Laravel
- Experience in languages such as Nodejs or Golang would be a plus
- Should have experience in Apache Kafka, RabbitMQ, or other Queueing systems.
- Drive discussions to create/improve the product, process, and technology.
- Provide end to end solution and design details.
- Passion to work in a startup-like environment.
- Strong interpersonal skills.