Senior Software Engineer (Ruby on Rails)
REMOTE
Senior Software Engineer
Position Overview:
We are seeking an experienced Senior Software Engineer with extensive expertise in Ruby on Rails and backend development, while also possessing full-stack capabilities. This role is crucial for shaping the architecture, development, and integration of our platform, ensuring robust, secure, and scalable solutions. The ideal candidate is a technical leader with deep knowledge of backend technologies, strong problem-solving skills, and the ability to mentor junior engineers.
Key Responsibility:
- Architect, design, and maintain robust, scalable, and secure APIs and backend services using Ruby on Rails.
- Ensure high performance and responsiveness of applications across the stack.
- Identify and resolve bottlenecks and bugs with a proactive approach.
- Implement comprehensive automated testing and ensure high test coverage.
- Maintain code quality and enforce standards and best practices.
- Collaborate with the frontend team to build integrated solutions.
- Mentor and provide technical guidance to junior and mid-level engineers.
- Drive technical discussions and contribute to strategic planning for engineering initiatives.
Day-to-Day Duties:
- Write clean, maintainable, and efficient code.
- Conduct and participate in code reviews to ensure code quality and provide constructive feedback.
- Integrate data storage solutions (e.g., PostgreSQL, Redis).
- Implement and manage third-party API integrations and ensure secure data handling.
- Monitor, troubleshoot, and resolve production issues promptly.
- Work closely with the DevOps team for application deployment and cloud environment management.
- Utilize AWS services (e.g., S3, Elastic Beanstalk) and other cloud tools for scaling and managing applications.
- Implement security measures and best practices for data protection.
- Utilize background job processing tools like Sidekiq for asynchronous task management.
- Collaborate with the QA team to ensure robust test coverage using tools like RSpec, Capybara.
- Employ error tracking and monitoring tools like Rollbar and CloudWatch to maintain application health
Required Skills and Experience:
- 5-7+ years of professional experience in software development, with a strong focus on Ruby on Rails.
- Proven experience in building and maintaining APIs.
- Solid understanding of database design and management, preferably PostgreSQL.
- Familiarity with frontend technologies like React, JavaScript, HTML5, and CSS3.
- Experience with cloud services, especially AWS.
- Proficiency in version control systems, particularly Git.
- Experience with CI/CD workflows and best practices.
- Experience in building microservices or modern backend solutions (e.g., Go, Rust).
- Strong communication skills and a collaborative mindset.
Nice to Have:
- Familiarity with key gems and tools from our stack: Sidekiq, Devise, JWT, Searchkick, Pundit, Redis, AWS SDKs.
- Knowledge of containerization and orchestration technologies (e.g., Docker, Kubernetes).
- Experience integrating payment gateways (e.g., Stripe, PayPal, Authorize.net).
- Performance tuning and optimization skills.
- Experience in the e-commerce domain, particularly with platforms like Spree.
- High attention to detail and a commitment to writing high-quality code.
- Ability to balance development responsibilities with technical mentorship.
- Effective time management and multitasking capabilities.
- A proactive approach to problem-solving and innovation.
- Adaptability to work in cross-functional teams and manage changing priorities.