Job description
1. Provide stable service by designing server system architecture for each service and operating 24×7 infrastructure/server instances/application.
2. Operate system efficiently and systematically through continuous architecture improvement, system/service operation automation and process application.
3. Raise service quality by developing and operating database service that saves and analyzes structured/unstructured data.
Role and Responsibilities
As a Senior Engineer, you will be responsible for designing, building, deploying, and maintaining components in our distributed real-time bidding system, a system that gets a high volume of traffic (~5-10 Mn req/sec). This involves measuring and tuning high-performance, low-latency (
You will be working with experienced, passionate software developers as part a team within a broader engineering organization with a strong technical culture.
You enjoy building things. You value craftsmanship in software. You enjoy reading code, and youre probably in the habit of reading the source for your dependencies. You love collaborating with and mentoring others.
Most of the team members are polyglot in programming languages. Predominant language for the coding are C/C++, Go, Rust. Our tech stack includes state of the art CI/ CD tools like Concourse, Docker and Kubernetes.
Would be involved in :
system design and architecture
distributed systems
operating systems, especially the Linux kernel networking stack
advanced data structures (succinct, probabilistic, multidimensional, et cetera)
mechanical sympathy, data-oriented design (performance)
functional programming
agile methodologies such as Scrum
Skills and Qualifications
KEY RESPONSIBILITIES
Maintain and improve existing services which includes actively trying to pay back technical debt and extending their functionality
Participate in the design, implementation and testing of new services
Investigate and fix performance issues throughout our systems which include our services, dependencies and kernel usage
Guide the direction of our technology stack to improve performance, scalability and maintainability
Mentor and grow the team through various channels (code review, talks, discussions, etc.)
Criticize and improve our development processes and methodologies
Contribute to open source software to improve our external dependencies
Flesh out and iterate on requirements in collaboration with the product team
Get involved in and participate actively in the Scrum ceremonies
REQUIRED SKILLS AND/OR EXPERIENCE
5 years of experience as a full-time software engineer
3 years of experience with C/ C++
Knowledge of/or experience in designing and building high traffic distributed systems is a plus
Have a solid foundation in systems programming, computer science and software engineering
The candidate should thrive in a fast-paced and dynamic environment and effectively handle working across different teams and priorities. The candidate should have an entrepreneurial mind-set, taking ownership in creating opportunities, aligning to the yearly plan but also being flexible to take advantage of new opportunities.