Senior Platform Engineer

Serverless


4 weeks ago

04/22/2019 07:07:30

Job type: Full-time

Category: Software Dev


As a Platform Engineer at Serverless, you will be building large scale micro-service architectures and distributed data pipelines to support the backend needs of compelling user facing products. These needs go beyond functionality and encompass performance, reliability and cost-effectiveness at web scale. You will be responsible for maintaining and nurturing a cohesive architecture on a rapidly expanding and evolving project. In addition, you will be managing and operating infrastructure and services running on multiple data centers worldwide. Most importantly, you will have end to end engineering ownership - Ideation, Development, Release, Production support and Enhancements.


Our ideal person is someone who has extensive experience building high throughput, low latency APIs and has operated distributed systems to offer stringent SLAs at scale. Someone who can quickly prototype functionality but also knows how to make services production-ready. You have the ability to adopt new technologies with ease and are comfortable being on-call as needed to support what you build.

To excel in this role, you MUST be good at

- Presenting complex ideas and approaches in simple communicable terms across engineering and management levels
- Proposing solution alternatives, analyzing tradeoffs and making high impact product and engineering decisions
- Independently solving complex problems as well as collaborating with other engineers on team initiatives
- Evaluating and incorporating open source software into Serverless’ technical architecture
- Rapidly Iterating on solutions and continuously delivering software with automated unit/integration tests
- Collaborating to fellow engineers and embodying development best practices
- Demonstrating flexibility and efficiency working with remote teams
- Working with multiple programming languages in a polyglot environment

Requirements

* Minimum 4-6 years experience developing production-grade backends, APIs and data pipelines
* Expertise in designing and architecting distributed systems that operate at web-scale
* Background in cloud-centric technical architectures involving load balancers, distributed caches and eventually consistent databases
* Ops automation experience with multi-region public cloud deployments, preferably AWS
* Strong grasp of horizontal and vertical concerns of micro services such as discovery, rate limiting and monitoring
* Experience being on-call to support live production software
* Working knowledge of shell scripting, Continuous integration and delivery
* Good understanding of foundational networking concepts, protocols and security (TCP/IP, DNS, TLS etc)
* Strong programming fundamentals and ability to produce high quality, tested code
* Mastery with one or more general purpose programming languages (Javascript, Python, Scala etc.)
* Working knowledge of Go is a plus
* Comfort with dynamic startup environments where change is constant and there is a need to be largely self-guided
* BS or MS in Computer Science or related technical field

If you are excited by the aforementioned responsibilities and meet the above qualifications, send us your resume and LinkedIn profile along with a note on why you think you are a good fit for this role. We are committed to providing all applicants a timely response.


We are proud to be an equal opportunity workplace committed to building a team culture that celebrates diversity and inclusion. 

Please mention that you come from Remotive when applying for this job.

Help us maintain Remotive! If this link is broken, please just click to report dead link!

similar jobs

  • US citizen or ability to work in the United States without sponsorship

    TL;DR: Why Consider This Position?

    * We have a commitment to transparency and offer a "no surprises experience" throughout the interview and hiring process.
    * We practice and preach sound development practices. You are likely to learn and grow as a developer while working here.
    * Our pay and benefits will be somewhere between good and great, depending on what you are used to and where you live (see below for specifics).
    * You will have the option of working from home or our office, whatever suits you best. Let's make the most of our time and minimize commuting when not necessary.
    * We have a no-drama office policy. We value and cultivate enjoyable working relationships among team members.
    * We emphasize work/life balance and adopt policies that make sure our people don't get burnt out. For instance, our PTO/Vacation policies are designed so that you actually use them.
    * A commitment to Agile Principles while not being enslaved to any particular methodology.
    * You like building full stack web applications with technologies like Python, React, SQL, etc.
    * You are committed to automated testing of all the software you write (our apps typically have 92%+ test coverage).
    * You recognize that there is a lot of idealism in the software development community and are not disenchanted with the the day-to-day realities of programming.
    * You like working independently but can contribute to a team as needed
    * If you apply, we will give you a yay or nay response. No black holes here!


    The position we have open is for a Senior Developer.  Senior Developers usually have 6-10 years relevant experience and meet the following requirements:
    1. Technical Skills
        * Are able to write modular, well-tested, and maintainable code
        * Know at least two software development domains (SQL, Front-End, Back-End) really well and are capable of radiating that knowledge to our team and beyond
        * Are able to work on multiple projects as needed
    2. Leadership
        * Leads the design for customer projects with feedback from other engineers
        * Proposes new ideas for improving the development team, customer projects, and/or our tech stack
        * Adheres to and promotes our development culture and mission
        * For Team Leads (see below): invests in other team members to see that they are growing as individuals and to facilitate productivity within our team.
    3. Code quality
        * Leaves code in substantially better shape than before
        * Fixes bugs/regressions quickly
        * Monitors overall code quality/build failures
        * Creates tests religiously and makes sure the rest of the team is doing the same
        * Proactively identifies and reduces technical debt
        * Proactively defines and solves important architectural issues that may hinder development
    4. Communication
        * Provides thorough and timely code feedback for peers
        * Able to communicate clearly on technical topics
        * Keeps issues up-to-date with progress
        * Helps guide other merge requests to completion
        * Helps with recruiting and interviewing
        * Is able to manage conversations directly with customer contacts when needed.
    5. Performance & Scalability
        * Excellent at writing production-ready code with little assistance
        * Able to write complex code that can scale with a significant number of users
        * Avoids premature optimization

    Leadership

    In addition to the leadership expectations noted above, some of our senior developers will also be involved in leading other developers and interacting with customers. We realize not every senior developer is as good with people as they are with code and that’s ok. We need and value individual contributors. But if you like and are good at interacting with people, we will have opportunities for you to lead teams and/or projects 

    US citizen or ability to work in the United States without sponsorship

  • About the Team

    The Recommendations team at Scribd owns the platform to create personalized recommendations for Scribd users. Creating effective recommendations for books and documents is a crucial part of highlighting the right set of content to Scribd users, based on the inference of their preferences. The Recommendations team uses state of the art technologies in Data Analytics and Machine Learning to provide a scalable, high performance solution to create personalized recommendations for millions of users.

    We are continuously innovating and improving the capabilities of the Recommendations Platform to achieve high levels of user engagement by creating personalized recommendations. We’re looking for engineers who have a strong expertise in creating robust and highly scalable data processing solutions using large scale Data Analytics and Machine Learning technologies.

    Key Responsibilities

    • You'll be responsible for driving the innovation on the Recommendations Platform to enhance existing features as well as build new capabilities to create personalized recommendations. 
    • Owning the design and development of critical components of the Recommendations Platform.
    • Analyzing customer activity using technologies such as Hive and Spark to identify the core set of attributes used for Data Analytics and Machine Learning models.
    • Implementing complex Machine Learning algorithms using technologies such as Spark ML to create personalized recommendations of books, documents and other content.
    • Owning the interface between the Recommendations Platform and the UI frontend to provide a low latency, highly available API.
    • Working closely with the Data Science team to design and execute A/B tests, analyze metrics, understand KPIs and identify next steps to continuously improve the user experience.
    • Collaborating with cross functional teams to review requirements and owning design and implementation activities for cross-team dependencies.

     About You

    • You’re a strong hands on Software Engineer who enjoys owning core components of the platform and creating highly scalable solutions to complex problems.
    • You are always learning and always working to improve your craft.
    • You are passionate about achieving cross team collaboration and setting best practices for the team in areas such as architecture, design, coding, code reviews and production rollout.

    Requirements

    • 3+ years of experience in design and development of large scale platforms/services.
    • Familiarity with developing Machine Learning models using Spark ML or other ML frameworks and using A/B testing to measure effectiveness.
    • Experience in Ruby, Hive, Spark and Scala would be a plus.
    • Bachelor’s Degree or equivalent professional experience.
  • 1 month ago


    About the Team


    We believe in continuously improving our skills and codebase, work/life balance, and doing things right over doing them fast. We’re looking for engineers who share this view and are excited about writing quality code, trying new technologies, and playing well with others. This team works on challenging and exciting features including recommendations, search, payments and the mobile app API, so we use a wide variety of technologies including Ruby on Rails, Scala, Go, ElasticSearch, Spark/Hadoop, MySQL, Cassandra and Redis. Some of our recent projects include: 


    Building the world's best recommendation engine for books (machine learning in Spark, runtime in Ruby). We utilize large amounts of data that allows us to correlate our huge library to each individual user, offering a very personalized experience maximizing user engagement and exploration.


    Scaling backend search infrastructure (using technologies like Elasticsearch, HDFS, Spark, Hive, and Go) to achieve a low latency and high availability search service for our website and our apps.


    Improving search quality by implementing and tuning multiple ranking algorithms, indexing schemes, and better search suggestions.

    Building well designed and fast API endpoints for our mobile apps (in Ruby and Go).


    Implementation of an in-house payment and subscription system that increases transaction success rates by using a large number of optimizations based on data observations and thorough analysis.


    Internal tools that glue together all of our infrastructure and coordinate the moving parts (analytics, anomaly detection, a/b testing platform, task pipelines, image server and many more).


    About you


    We’re looking for strong engineers with exceptional problem solving skills who want to work independently and own large, complicated projects. You’re comfortable in dealing with lots of moving pieces. You have exquisite attention to detail. You’re comfortable learning new technologies and systems. Collaboration, time management, and communication are as important as your technical skills.

    We’re looking for:


    •Strong background or interest in building successful products in the context of a web application

    •Experience shipping clean code that works

    •Background in algorithms with a focus on applied problem solving

    •Bachelor's or higher in mathematics, computer science, physics, or equivalent experience

    •Strong SQL skills and the ability to analyze large and complex datasets


Remotive can help!

Not sure how to apply properly to this job? Watch our live webinar « 3 Mistakes to Avoid When Looking For A Remote Startup Job (And What To Do Instead) ».

Interested to chat with Remote workers? Join our community!