Senior Back-End Engineer
Rumble
Job highlights
Summary
Join Rumble, a high-growth neutral video platform, as a Senior Back-End Engineer. You will oversee the design and development of code in Typescript and Golang, ensuring efficient, scalable, and maintainable systems. Responsibilities include designing backend services, optimizing database queries, collaborating with stakeholders, troubleshooting issues, and mentoring junior developers. You will work with various APIs, databases, and technologies while contributing to a collaborative team environment. The role requires expert-level experience in Golang or Typescript, along with proficiency in data structures, algorithms, and various data systems. Rumble offers competitive salaries and great benefits.
Requirements
- Expert level experience writing clean, maintainable, and well-documented code with either the Golang or Typescript programming languages
- Moderate or better experience in one or more of the following languages: JavaScript, Typescript, Golang
- Proven success working with advanced data structures and algorithms
- Experience with various data systems such as MySQL, Postgres, and Redis
- Proficient with object-oriented and functional programming concepts
- Familiarity with microservices and distributed systems
- Highly detail-oriented mindset and willingness to learn
- Experience with concurrent programming and goroutines
Responsibilities
- Develop robust, efficient, and clean code that adheres to industry best practices and organizational standards. Ensure the code is not only functional but also optimized for performance, scalability, and long-term maintainability. Pay close attention to minimizing technical debt by following principles that support easy future modifications, refactoring, and debugging
- Design and implement backend services that interface with a variety of APIs (REST, GraphQL, WebRTC, etc.) to support frontend functionality, third-party integrations, and real-time communication needs. Develop and optimize database queries, ensuring fast and reliable access to data. Leverage both relational (e.g., MySQL, PostgreSQL) databases to store and retrieve structured and unstructured data efficiently
- Take full ownership of feature development or microservices from initial design to final implementation, including deployment and monitoring. Collaborate closely with stakeholders to gather requirements, ensure business goals are met, and ensure a seamless integration with the larger system. Continuously follow the feature through testing, launch, and post-launch support, ensuring quality delivery at every step
- Troubleshoot, debug, and resolve minor bugs across multiple programming languages and platforms. Whether the issue lies in frontend TypeScript, server-side Go code, or database logic, use your problem-solving skills to quickly isolate, diagnose, and resolve issues, ensuring minimal disruption to the applicationโs functionality
- Work closely with a team of developers, designers, product managers, and QA engineers to ensure the successful delivery of high-quality applications. Participate in code reviews, provide constructive feedback, and assist teammates in solving technical challenges. Foster a collaborative environment that values knowledge sharing and encourages innovation
- Take a proactive approach to understanding both user needs and technical requirements. Break down complex feature requests or bugs into manageable tasks, and work with the team to determine the most effective technical approach for each. Whether building new functionality or fixing existing issues, you'll ensure solutions are optimized for performance and maintainability
- Help elevate the skill set of junior developers by providing mentorship, guidance, and feedback. Lead by example through high-quality code, clear communication, and attention to best practices. Offer advice on debugging, architecture, and design patterns, and assist in accelerating their development skills and career growth
- Continuously review and assess existing codebases to identify opportunities for refactoring, optimization, and enhancement. Recommend changes to improve performance, reduce technical debt, and introduce better design patterns, making sure the application evolves in a sustainable and scalable way over time
Preferred Qualifications
- Experience with containerization technologies such as Kubernetes
- Experience administering and configuring servers and virtual machines
- Ability to be innovative, with excellent problem-solving skills, and the ability to turn ambiguous problems into clear solutions
- Working knowledge of authentication protocols such as Oauth2 or OpenID Connect
- Experience with video technologies including streaming (HLS, MPEG-DASH, FFMPEG), video container formats and codecs
- Ability to optimize heavy applications and have an understanding of the lower-level functionality that contribute to the problem
- Understanding of the various problems that may exist when latency between servers is introduced, and writing code that is resilient to network latency and momentary issues
- Experience processing large log files (in various formats) quickly and incrementally
Benefits
Competitive salaries and provide great benefits
Share this job:
Similar Remote Jobs
- ๐Kazakhstan, Azerbaijan
- ๐United States
- ๐France
- ๐ฐ$12k-$30k๐Chile
- ๐ฐ$140k-$200k๐United States
- ๐France
- ๐France
- ๐ฐ$175k-$250k๐Global
- ๐Egypt