Position Overview:
We are seeking a talented and experienced Senior/Software Developers to join our dynamic team. The ideal candidate will have a strong background in software development, with expertise in Golang, web services, database integration, testing methodologies, and software design patterns. Additionally, familiarity with Scala, Akka HTTP, and Java Spring Boot is highly desirable. The successful candidate will play a key role in designing, developing, and maintaining high-quality software solutions that meet the needs of our clients and contribute to the success of our projects.
Key Responsibilities:
Design, develop, and maintain web services using Golang and the Gin framework
Consume OpenAPI schemas to generate types, HTTP handlers, and HTTP clients using tools like oapi-codegen
Utilize software design patterns, including ports and adapters, to ensure scalability and maintainability of codebase
Integrate with databases using drivers like pgx
Develop unit tests and integration tests, leveraging frameworks such as httptest and testcontainers
Utilize open telemetry and honeycomb for instrumentation, propagating trace contexts to and from services
Parse and write files in common formats such as CSV, JSON, YAML, and XML
Create and maintain configuration files in dotenv and hocon formats
Create HTTP clients to interact with APIs from other services; clients will need to handle passing through proxies
Develop similar web services using Scala and Akka HTTP
Bonus: Ability to create similar web services using Java Spring Boot
Create Web UIs using react, Vite, and npm
Utilize Git workflows such as feature branch workflow and Gitflow for version control
Create containers and utilize Docker Compose, including wait strategies for services
Develop README files in Markdown format for project documentation
Collaborate with cross-functional teams to deliver high-quality software solutions
Requirements:
Proficiency in Golang, including implementing web services using the Gin framework
Experience with OpenAPI schemas, generating types, HTTP handlers, and HTTP clients
Strong understanding of software design patterns, including ports and adapters
Familiarity with database drivers like pgx, SQL, and database integration
Knowledge of testing methodologies, including unit testing and integration testing
Experience with parsing and writing files in common formats such as CSV, JSON, YAML, and XML
Ability to create HTTP clients to interact with APIs from other services
Familiarity with Scala, Akka HTTP, and Java Spring Boot is a plus
Experience with Git workflows such as feature branch workflow and Gitflow
Proficiency in creating containers and utilizing Docker Compose
Strong communication and collaboration skills
Ability to work in a fast-paced, dynamic environment
Preferred Qualifications:
Experience with Selenium and Playwright for automated testing
Familiarity with the Jacob Java COM Bridge
Knowledge of Azure DevOps for managing work items, Git repositories, wiki, and CI/CD pipelines
Experience with open telemetry and honeycomb for instrumentation