We Are Hiring!
About this role
As a Golang Staff Engineer, you will be part of a dynamic team with engineers of all experience levels who help each other build and grow technical and leadership skills while creating, deploying, and supporting production applications. In addition, Staff Software Engineers will assist in product and tool selection, configuration, security, resilience, performance tuning and production monitoring.
You will have the ability to provide technical thought leadership, technical guidance and validation while also working hands-on within a team, either taking a lead in the design and development of services or parachuting into a team to substantially boast the team’s capacity.
You’ll be using the most current technologies and best practices to accomplish our goals. Our typical day involves the creation of new end to end systems, building advanced architectures, creation of new features, development of fast and reliable automated testing systems and working in a culture that is always looking to improve our quality, tools, and efficiency.
Lead significant projects and define technical specifications and development requirements that result in high performing technology
Lead technical decision making and architecture
Document the systems you help architect, build, and maintain
Write, review, and maintain code primary in and Go: development of features and prototypes/spikes.
Work with Product Managers to estimate task complexity and completion effort.
Maintain and improve APIs used internally and externally by developers
Coordinate with Product, Design, Support, and other Engineering teams to maintain a backlog of priorities
Communicate difficult concepts and lead teams through design and interpretation
Mentor other engineers in their technical and architectural decision making
Notes gaps on the team and provides suggestions for changes to make the team more productive
Improve the scalability and performance of our platform
Experience with API development using API First design principles.
Passionate about fostering good engineering practices and processes
Solid knowledge of testing principles
Computer Science degree or equivalent industry experience
5 years+ experience in software development including minimum 2 years Golang
Proven experience with producing production-ready and highly scalable applications
Excellent knowledge in Linux shell, scripting and popular CI/CD tools
Excellent knowledge of Docker and Git
Experience with SQL (Postgres), NoSQL and distributed databases
Experience with microservices (µS) architecture, message queues and fast k/v stores (Redis)
Excellent knowledge of HTTP protocol internals, Websockets and RestAPI principles
Knowledge of Domain Driven Design (DDD), Event Driven Architectures (EDA) and Hexagonal architecture would be beneficial.
Experience of distributed data consistency, DLQ’s, SAGA orchestration and Inbox, Outbox patterns.
BDD Testing experience is also a plus.
Rust, C/C++, Python is a plus
Good teamwork and communication skills
Excellent command of the English
International work environment
Great career development opportunities in a growing company
Possibility for relocation and international transfers