Senior Software Engineer (Golang)

Job Description



What will I be doing?
  • Collaborate with technology leaders and the product team to understand department goals and requirements, translating them into technical solutions.
  • Design, develop, and maintain high-quality Golang applications and systems aligned with business objectives.
  • Lead the technical architecture and design of Golang-based projects, ensuring scalability, performance, and maintainability.
  • Create scalable architecture systems for Golang-based applications, considering future growth and evolving business needs.
  • Optimize application performance by identifying and addressing areas for improvement, such as code optimization, database query optimization, and resource utilization.
  • Troubleshoot design flaws and system bottlenecks to enhance application stability and performance.
  • Perform validation tests to ensure the flexibility and scalability of the Golang environment, making necessary adjustments as needed.
  • Conduct comprehensive system performance tests to identify bottlenecks, assess system capacity, and fine-tune application performance.
  • Generate and present detailed systems reports, including performance metrics, bottlenecks, and recommendations for improvements.
  • Conduct code reviews and provide constructive feedback to maintain high standards of software development, ensuring code quality, readability, and adherence to best practices.

  • What skills do I need?
  • Bachelor’s degree in software engineering or computer science.
  • Professional experience in Golang development. Solid experience in Golang application development and/or software architecture.
  • In-depth knowledge of object-oriented design principles and design patterns.
  • Ability to write clean, efficient, and readable code.
  • Experience with cloud platforms such as AWS or GCP.
  • Event-driven architecture design experience.
  • High-level project management skills.
  • Ability to solve complex software system issues.
  • Good verbal and written communication skills.
  • Being a team player, enjoying working with your own team and collaborating with other teams in the organization.
  • Upper-intermediate written and spoken English proficiency.
  • Well-versed in the software development life cycle.