Solid experience in Go (Golang), especially in production environments.
You should be familiar with common design patterns, concurrency, testing, and the core language features and feel confident using them.
Prior software development experience with Java or Python is mandatory.
Experience with messaging systems like Apache Kafka and RabbitMQ, including designing and implementing event-driven architectures for scalable and reliable communication between services.
Strong background in building enterprise-wide software solutions in multi-technology environments and a solid understanding of the impact of changes on the environment.
Familiarity with database concepts, relational SQL, and No-SQL as a plus.
Basic HTML / CSS skills, ideally with some exposure to TailwindCSS is desirable
Basic JavaScript and familiarity with Alpine.js is desirable
Experience developing REST-based APIs.
Basic knowledge with DevOps principles and CI / CD tools (such as Jenkins, Ansible, Packer, Docker).
Knowledge of developing solutions on AWS cloud platform with familiarity in services such as serverless functions, databases, storage, and compute resources is desirable.
Ability to articulate points and provide summaries and explanations of technical concepts.
Prior experience working in financial services would be helpful.
Strong analytical skills for diagnosing and troubleshooting potential system issues to process a solution.
Ability to build a network of relationships across the organization, obtain a detailed understanding of internal clients needs and drive organization wide design concepts gaining buy in and support of stakeholders.
Flexibility to work with different programming languages and willing to learn new technologies as required by the project
Responsibilities :
Design, develop, and maintain backend services and APIs using Go.
Collaborate with front-end developers and other team members to integrate user-facing elements with server-side logic.
Build and maintain microservices architectures that are scalable, reliable, and efficient.
Optimize application performance, focusing on speed and scalability.
Write clean, maintainable, and testable code, following best practices for software development.
Participate in code reviews to maintain code quality and share knowledge with the team.
Troubleshoot and resolve issues in a timely manner, ensuring the stability and reliability of the backend systems.
Stay up-to-date with the latest industry trends and technologies to continuously improve our systems.
Must-Have Skills :
Go Programming : Deep knowledge of the Go language, its ecosystem, and best practices.
Concurrency : Experience in managing concurrent processes and understanding Gos concurrency model.
REST APIs : Proficiency in designing and implementing RESTful APIs.
Microservices : Expertise in developing and maintaining microservices architectures.
Unit Testing : Strong skills in writing unit tests to ensure code quality and reliability.
Soft Skills :
Problem-Solving : Ability to analyze complex problems and develop effective solutions.
Analytical Thinking : Strong analytical skills to evaluate system performance and identify areas for improvement.
Communication Skills : Ability to clearly communicate technical concepts to both technical and non-technical stakeholders.
Attention to Detail : Meticulous approach to coding and system design, ensuring high quality and performance.
Adaptability : Willingness to learn and adapt to new technologies and changing requirements.
Hard Skills :
Go Programming : Expert-level knowledge in Go and its application in backend development.
Concurrency : Proficient in handling concurrent tasks using Gos goroutines and channels.
REST APIs : Skilled in designing and implementing robust RESTful APIs.
Microservices : Experience with microservices, including deployment, scaling, and monitoring.
Unit Testing : Proficient in writing and maintaining unit tests to ensure code stability.