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.