Scala Software Engineer
The Summing is looking for an experienced senior software engineer with experience in real time communication technologies to help build a scalable distributed solutions. In this role you will be part of a highly technical backend team and building the next generation of the core networking and media communications platform.
This position is for you if you are passionate about backend services, or obsessed about backend service quality, and performance with hard real-time guarantees, and you want to participate in building the largest live-streaming platform out there. You will gain an in-depth knowledge on a highly scalable, end-to-end live video streaming platform, and be part of the technical evolution that creating a new paradigm of live broadcast.
- Minimum of 3-4 years of professional software development experience with backend and frontend development teams working on complex development projects;
- Strong knowledge and experience designing and developing scalable web-based tools using Scala and/or Java;
- Demonstrated background developing backend solutions for dynamic web sites - how they scale, how they work with other services, and how they may break;
- Dedicated problem-solver who can work in a fast paced environment where multiple releases are a fact of life;
- Ability to size technical efforts accurately;
- A focus on quality with experience writing unit tests and collaborating with quality engineering to develop test plans;
- Experience collaborating with other team members in multiple teams diagnosing and debugging complex systems, and participating in triaging and repairing build, deployment and operational issues;
- Knowledge of Linux stack and comfort with Bash commands;
- Experience with web application security and incorporating security into the software development lifecycle;
- Familiar with database architecture (e.g SQL, MySQL, NoSQL, Cassandra, FoundationDB, Postgres) scalability, performance and tuning techniques;
- Solid working knowledge of source version control software (Subversion, Git);
- Experience collaborating with other technical teams on DevOps responsibilities for application deployment, performance, monitoring, reliability and scalability;
- Preferred experience with Docker, configuration management systems, CI build tools such as Jenkins, and logging and monitoring tools to take the initiative to solve problems;
- Proven capabilities to work under pressure and tight deadlines to solve critical issues;
- Knowledge of JVM internals and HTTP with solid experience in REST and RESTful APIs;
- Experience with Atlassian Jira;
- Awareness of Scala coding standards and practices and familiarity with Typelevel libraries and Akka HTTP;
- Apache Spark are pluses.
- Best hardware, displays, height-adjustable desks, and any other useful tools;
- Language and hard-skills courses, books, and conferences;
- Flexible working hours;
- Happy hour Thursdays, food and drinks, board games, etc.
In addition to a strong technical background, you possess confident interpersonal skills and an eye toward collaboration. The position requires strong communication skills, both written and verbal, including the ability to work well with partners from a wide range of backgrounds with varying levels of technical knowledge. It’s important for this person to be able to establish unquestioning relationships within a team with varied strengths and across organisations. This role will focus on delivering while having the agility to adjust and thrive in a dynamic environment.