Position: Senior Golang Engineer
Company: KitRUM
Experience required: 3y
English level: intermediate

**Requirements**
— 4+ years of hands-on IT engineering experience
— Experience scaling backend systems and/or databases
— Experience with Golang
— Strong understanding of the application and API security
— Understanding of the deployment process, and being comfortable with Docker, containers, and Kubernetes
— Strong communication and mentoring skills, you can collaborate well with other non-technical functions (e.g. Product & Design)
— Level of English: Upper-Intermediate
— Watched all seasons of “Rick and Morty”

**Will be a huge plus**
— Knowledge of Node.js, JavaScript
— Event-driven architecture, familiarity with Kafka and comfort with having eventual consistency across multiple services
— Experience in developing DApps or interacting with blockchains

**Offer**
— High compensation according to your technical skills
— Long-term projects (12m+) with great Customers
— 5-day working week, 8-hour working day, flexible schedule
— Democratic management style & friendly environment
— WFH option (Possibility to work from home)
— Annual Paid vacation — 15 b/days + unpaid vacation
— Paid sick leaves — 6 b/days per year
— Ukrainian official holidays
— Corporate Perks (external training, English courses, corporate events/team buildings)
— Cozy office in the center of the city
— Coffee, cookies and other goodies
— Professional and personal growth

**Duties**
Daily you’ll be working on developing features for microservice that create the backend of the client’s product. Due to growing user interest, you’ll be facing challenges scaling backend systems and databases.

— Backend feature requests implementation (Golang, grpc)
— Write integration tests for all code you introduce
— Code review (each PR has to have 2 reviews)
— Work with Kafka events, in an eventually consistent system
— Troubleshoot performance bottlenecks, implement solutions for them
— Perform post-mortems and in-depth root cause analysis to ensure the team is always improving
— Participate in team meetings to discuss approaches to current projects
— Organize and prioritize work independently, with minimal supervision