Staff Software Engineer
Role details
Job location
Tech stack
Job description
Samsung Ads is a leading innovator in advertising technology, dedicated to providing cutting- edge solutions that optimize ad performance and deliver exceptional results for our clients. We are seeking a highly skilled and experienced front-end staff engineer to join our dynamic team and help shape the future of the ad tech industry. We seek a talented Staff Engineer to play a pivotal role in enhancing our platform's performance advertising capabilities.
As a Staff Engineer, Software Engineering you will be part of a dynamic team that owns the core ad bidding and optimization for Samsung Ads advertising serving platform. The team handles mission critical modules that have a direct impact on the revenue and customer satisfaction. This team is responsible for managing, growing and optimizing access to our high- quality programmatic ads supply. Our tech stack includes Erlang/OTP, Elixir, Go, C/C++ code with a mixture of Nginx, Aerospike, Kafka, Athena, Airflow, Druid technologies.
Role and Responsibilities
Responsibilities
-
Create enterprise level distributed server infrastructure for mission-critical operations
-
Research and develop algorithms for distributed consensus, replication, consistency, availability and scalability
*Makes difficult design trade-offs and decisions about features, schedule, quality and cost
-
Seeks the optimal technology solutions to problems from internal and external options, and applies appropriate methodology to identify issues/concerns
-
Primary accountability for major elements of a project, determines all tasks that are required, and is responsible for project outcome
-
Designs, develops and/or directs research and tests to validate effect and consequences of designs, process or product enhancements across projects and/or products
-
Proactively determines measures and standards of success for project, product, and process quality within project teams
-
Participate and follow all team processes and technical standards
Requirements
-
Typically requires at least 8 years of related experience and a Bachelor's degree; or 6 years and a Master's degree; or a PhD with 3 years.
-
Bachelors/Master's Degree in Computer Science, Computer Engineering, or related STEM field
-
3 years of experience in programming with Erlang
-
Experience in designing and building highly scalable, high throughput distributed systems
*A solid foundation in systems programming, computer science and software engineering
-
Can do attitude, take ownership and responsibility of the task and drive things to completion with minimum support
-
Collaborative spirit with a willingness to mentor others
-
Curious mind that enjoys building things and appreciating the craftsmanship in software
-
Hands-on experience working in a multithreaded environment
Skills and Qualifications
Nice to Have
-
Familiar and experienced following Agile methodologies such as Scrum
-
Functional programing experience
-
Experience mentoring and guiding junior developers
-
Previous experience as a lead
*Experience with Code Version tools like Git and collaboration tools like JIRA
Benefits & conditions
Compensation for this role is expected to be between $190,000 and $235,000. Actual pay will be determined considering factors such as relevant skills and experience, and comparison to other employees in the role. Regular full-time employees (salaried or hourly) have access to benefits including Medical, Dental, Vision, Life Insurance, 401(k), Employee Purchase Program, Tuition Assistance (after 6 months), Paid Time Off, Student Loan Program (after 6 months), Wellness Incentives, and many more.