Position: Middle+ Ruby Engineer
Company: Geniusee
Experience required: 3y
Category: Ruby
English level: upper
Published: 2022-07-01T00:00:00+03:00

**About the project:**
AgroTech IoT Connectivity Platform that can gather and aggregate data from existing or new sensors and provides automation technologies by delivering the most trusted solutions for ag enterprises. 
The Platform is modular and flexible, allowing for simple third-party integration into the platform and a robust API to other digital farming platforms. 

**Technology Stack: **
• Ruby (with and without Rails)
• AWS services (SNS, SQS, Lambda)
• PostgreSQL and MongoDB
• React

**Required Skills & Experience:**
• 3+ years of relevant, hands-on software development experience
• A solid understanding of software development management, product development lifecycle, and product management processes
• Strong strategic thinking and prioritization skills
• Ability to make decisions, and communicate decisively
• Ability to use feedback from team members and key stakeholders to develop effectively.

**Responsibilities:**
• Mentoring junior engineers to help foster creativity and talent development throughout the organization;
• Work closely with cross-departmental teams to align goals;
• Work to improve cross-functional team processes.
• Engage in story planning and estimation to help maintain an accurate software roadmap;
• Cooperation to identify and remove blockers;
• Communicating with team members and leaders about potential risks in active and upcoming projects based on your specific knowledge or understanding.
• Record discoveries, decisions, guides, and recommendations for use by current and future peers.
• Strive to ensure that the documentation is the main source for answers.
• Follow requirements documentation and mockups to understand develop new features and resolve outstanding issues.
• Adhere to industry best practices and internal conventions to ensure that code is clear and functional.
• Communicate with teammates to establish new architectural and implementation patterns as necessary.
• Maintain a high automated testing coverage, ideally using test-driven development.
• Participate in code reviews to offer suggestions and facilitate knowledge transfer.
• Develop areas of expertise in the codebase and serve as the primary resource for those areas.
• Transfer knowledge to other team members through demos and replies to general inquiries.
• Assessing and eliminating technical debt in existing software products.
• Participating in a continuous improvement culture within the software development teams based on quantifiable metrics.
• Keeping up with emerging technologies and market developments;

**We offer:**
● Competitive compensation depending on experience and skills;
● English classes;
● Exciting and challenging projects all over the world on a long-term basis;
● Flexible working hours;
● Career development opportunity;
● Health/Sports Benefits;
● Informal and friendly atmosphere, a lack of bureaucracy and micromanagement;
● Paid vacation (18 working days) and 10 sick leaves;
● Unlimited work from home (remote) or in the office.