DUTIES AND RESPONSIBILITIES:

  • Full-Stack Development: Create, test, and maintain scalable software applications, working on both front-end and back-end to ensure smooth user experiences.
  • Legacy Software Management: Work with existing legacy systems, finding ways to improve and modernize them, and optimize and enhance old code for better performance.
  • System Design and Architecture: Collaborate with the team to design robust, scalable, and secure software solutions, and participate in code reviews and technical discussions.
  • Continuous Learning and Adaptability: Keep up with emerging technologies and industry trends, continuously improving your skills through self-learning and professional development.
  • Problem-Solving: Analyze complex problems and come up with innovative solutions, debugging and fixing technical issues quickly and effectively.
  • Collaboration and Communication: Work closely with cross-functional teams, including product managers, designers, and other engineers, communicating effectively to ensure project success.
  • Testing and Quality Assurance: Develop and run comprehensive tests to ensure software quality, and participate in improving our development process and best practices.
  • Documentation: Create and maintain detailed documentation for development processes, code, and systems, keeping documentation up-to-date and accessible to the team.

KNOWLEDGE, SKILLS AND ABILITIES:

  • Proficiency in multiple programming languages and frameworks (e.g., JavaScript, Python, Java, C#, etc.).
  • Strong understanding of front-end technologies (e.g., HTML, CSS, VueJS, NuxtJS) and back-end technologies (e.g., Node.js, Django, Spring).
  • Solid understanding of microservices architecture and related design patterns.
  • Ability to write clean, maintainable, and efficient code.
  • Strong unit testing skills to ensure code quality and reliability.
  • Experience working with and modernizing legacy systems.
  • Excellent problem-solving skills and attention to detail.
  • Strong communication and collaboration skills.
  • Ability to work in a fast-paced, dynamic environment.
  • Experience with strongly typed languages is a plus

EDUCATION AND EXPERIENCE:

  • Proven experience as a Software Engineer or similar role.