Scala Engineer

Snowplow Analytics


1 week ago

01/13/2020 10:22:57

Job type: Full-time

Hiring from: UTC +/- 5

Category: Software Dev


London or remote (UTC +/- 5)

At Snowplow, we are on a mission to empower people to differentiate with data. We provide the technology to enable our customers to take control of their data and empower them to do amazing things with it.

There are tens of thousands of pipelines using our open source pipeline worldwide, collecting data emitted from over half a million sites. Running on AWS and GCP data technologies, it is ideal for data teams who want to manage their data in real-time and in their own cloud. We also collect, validate, enrich and load up to 5 billion events for our customers each day and help them on their Snowplow journey through our management console.  

The Opportunity

Snowplow has seen significant growth over the last 6 months and we’re set to grow further in 2020. We are looking for a Scala engineer to join our experienced team and extend the capabilities of our management console. 

The team’s mission is to improve the onboarding of customers and empower them to derive more and more value from their Snowplow pipeline over time. To enable this through the UI, we are building Scala services to expose pipeline metrics, configuration and controls to our UI and directly to our customers. 

You will be joining a team of 12 engineers who work closely with our tech ops, support, product and customer teams. There is plenty of opportunity to learn more about all aspects of engineering and data, from code to customers.

We love working with people who jump at the opportunity to own challenges and are dedicated to building a great team and product!

What you’ll be doing.

- Designing and building services that power our management console, which is where our users can view pipeline health, make configuration changes, manage schemas and in future find workflows that help solve the people/process challenges around data governance and meaning.

- Continuing to improve our testing and deployment processes so that we can ship features quickly and with confidence.

- Working closely with our Product Office and the wider team on building the best solutions for our customers.

- Being an active part in decision making on what we build and how we deliver it. You’ll bring a different perspective and we’ll want your input!

You’ll also have:

- Opportunities to work on the React and TypeScript powered UI.

- Opportunities to contribute to our many open source projects and extending the capability of our data pipeline.

What we’re looking for..

- The idea of working for a growing startup excites you.

- You have experience working collaboratively on complex engineering projects.

- You have experience with Scala most importantly, but JavaScript would be a bonus. Our data security and integrity are fundamental to what we do. You’ll need a solid understanding of security threats and how to overcome them.

- Previous experience in data is a plus, but most importantly you’re interested in data and how it can empower our customers to make better decisions.

- You don’t wait to be told what to do. You can accept a mission, drive toward it and recognise when you need support or more direction.

- We can’t do everything today. You’ll be pragmatic in your approach to software delivery and balance our speed of learning with our commitment to providing a reliable and trusted service to customers.

- Our remote team depends on expert collaborators to work effectively. You’ll be a great communicator and enjoy working closely with the team.

What you’ll get in return.

- A competitive package based on experience, including share options.
- 25 days of holiday a year (plus public holidays wherever you’re located).
- Freedom to work from wherever suits you best. We trust our team to find the right environment for them to do their best work.
- Two fantastic company Away-Weeks in different European cities each year (last one was in Bratislava in November 2019).
- Grow and develop in a fast-moving, collaborative organisation full of supportive and talented people. 
- Convenient location in central London (specifically Shoreditch) for frequent collaboration or occasional visits, depending on where you’re based.
- A high spec MacBook or Dell XPS 13/15.
Snowplow is dedicated to building and supporting a brilliant, diverse and hugely inclusive team. We don't discriminate against gender, race, religion or belief, disability, age, marital status or sexual orientation. Whatever your background may be, we welcome anyone with talent, drive and emotional intelligence.

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

  • Wizeline (Willing to work on PT)
    Yesterday

    What You Will Bring to the Team

    As a Software Engineer at Wizeline, you will advocate for the use of cutting-edge technology to build intelligent and scalable products. You will act as a technology partner for our clients from inception to completion. By understanding their needs and translating requirements into world-class design, you will be responsible for delivering high-quality applications.

    Partner with multidisciplinary teams located across the world (Technical Writing, User Experience, Product Management, and Project Management) to solve challenging problems. As a relationship builder with direct communication with stakeholders, you will also drive internal initiatives and objectives.

    You will work on projects that will allow you to develop your skills and gain exposure to multinational brands. We promote fun and continuous learning and we are proud of working with the brightest minds in the industry.

    Are you a Fit?

    Must Haves:

    To be successful in this role, you need:

    • Hands-on working experience developing secure, scalable enterprise applications.

    • Passion and experience building web-based technology products or applications.

    • Comfortable in learning new coding languages and frameworks, and seamlessly switching from one to another, when required.

    • Familiarity with computer science algorithms and data structures to optimize solutions.

    • Knowledge of relational and/or non-relational databases.

    • Strong architecture skills, with the ability to select the best stack for each project.

    • Strong communication skills in English.

    • Experience in one or more of the most commonly used web applications stacks.

    Nice to Haves:

    Some nice-to-have qualities that will further help you are:

    • BS/MS in Computer Science, Engineering, or a related subject

    • Experience in working directly with clients

    • Hands-on knowledge of working in Agile environment

    • Frontend or backend experience leveraging some of the following web technologies and frameworks:
      - Frontend: ReactJS, AngularJS, or Vue.js
      - Backend: Express.js, Django, Node or Flask
      - Databases: MySQL and MongoDB
      - Programming Languages: JavaScript, Python, Ruby, Java, and/or PHP

    • Experience working with Cloud platforms like AWS or GCP

    • A code repository you can share with the team, showcasing your contributions to open source projects

    • Being a DevOps advocate, with working knowledge of Docker, Jenkins, Travis, and/or Kubernetes

  • Founded in 2007, Quimbee is one of the most widely used and respected study aids for law students. With a massive and growing library of case briefs, video lessons, definitions, and practice questions, Quimbee helps its members achieve academic success in law school. Quimbee can be accessed on desktop, tablet, and mobile devices.

    This position is 100% remote. All you need is an internet connection and a quiet place to work.

    Quimbee's tech team works on an agile process and has a great mix of seasoned web backend, frontend, and mobile developers. Quimbee's web and API platform is based on a monolithic Ruby on Rails application, and we make the effort to keep it updated to recent dependencies' versions. We're big believers on automated tests, and while we don't necessarily do test-first, CodeClimate rates both our maintenance and code coverage metrics with an A.

    This position is to work primarily on our web platform with an emphasis on our frontend code (views, HTML, CSS, JS) but also helping on backend work (controllers, models, serializers, query optimization, etc) whenever that's needed, so we're looking for someone with a passion for frontend but who's no stranger to backend code.

    Responsibilities

    • Design and write maintainable code following best practices, knowing that most of the time, good enough is better than perfect.
    • Help maintain and improve our frontend code, currently based on Slim, SCSS, Bootstrap, and plain JS with a mix of some jQuery. We're pushing to adopt RSJS on the JS front.
    • Help maintain and improve our backend code, including writing new features and adapting existing ones collaborating with our backend developers. We use Ruby on Rails.
    • Collaborate with teammates, the project manager, product, design, and QA teams during the whole SDLC, providing technical points of view, effort estimates, drafting or reviewing requirements, etc.
    • Take ownership of assigned projects and be responsible for communicating progress on a regular basis.
    • Participate in scheduled planning, review, and retrospective meetings on a regular basis (via videoconferencing technology)

    Task Examples

    Working with us, you could be asked to (solo or as part of a team):

    • Implement a new page from scratch from a new comp coming from our design team, leveraging existing HTML/CSS components when possible but implementing brand new ones when needed.
    • Take a raw, initial version of a new page or feature developed by our backend devs and "beautify" it by adapting its front-end code to reuse UI components and follow our style guide, in the context of our Ruby on Rails application. This requires a very good understanding of Rails' controllers and views conventions.
    • Review our existing JS code and refactor it to follow best practices.
    • Perform code reviews providing advice on how to improve code with a particular focus on Javascript.
    • Prepare and document reusable HTML/CSS/JS code components so that other developers can use them.
    • Setup a unit testing framework for our JS code and sponsor it among your teammates.
    • Work with other backend developers implementing a new API endpoint in Ruby serializing data in JSON for our mobile app.

    Requirements

    • B.S. computer science or related field
    • 5+ years of Javascript experience
    • 2+ years of Ruby on Rails experience
    • Excellent HTML & CSS experience (cross-browser compatibility, responsive media queries, flex, grid, etc.)
    • Advanced knowledge of the Javascript ecosystem (yarn, webpack, babel, etc)
    • Good understanding of SQL
    • Extensive Git (or similar) experience solving complex merging conflicts
    • Know how the web works under the hood: TCP, HTTP, DNS, IP, caches, etc.
    • Solid knowledge of OOP, software architecture, and design patterns
    • A deep understanding of the importance of building maintainable, efficient, clean code, while balancing that with the urgency of the business needs
    • Deep caring about uptime, performance, and reliability
    • The will to take responsibility for projects end-to-end from idea to completion
    • Fluency in English
    • Based in the U.S.

    Preferred Qualifications 

    • Experience with at least one programming language other than Ruby and JS
    • Familiarity with the concepts outlined in the Reasonable System for JavaScript Architecture
    • Experience working with Rails' server-generated JavaScript (SJR)
    • Experience working with JavaScript frameworks like Vue, React, Angular, etc.
    • Hosting apps in Heroku, monitoring and scaling them up/down
    • Implementing APIs for mobile apps
    • Implementing a SaaS application or with subscription-based businesses generally

    Benefits

    • Join a small team who loves what they do.
    • Work from home.
    • A competitive salary.
    • Healthcare coverage (including dental) for you and your family.
    • Untracked paid time off and sick leave.
    • 401(k) with 3% company matching.
  • Basecamp (US only)
    Yesterday

    We’re hiring a programmer to join our Research & Fidelity team to help shape the front end of our Rails applications and expand our suite of open-source JavaScript frameworks. We’re accepting applications for the next two weeks with a start date in early April.

    We strongly encourage candidates of all different backgrounds and identities to apply. Each new hire is an opportunity for us to bring in a different perspective, and we are always eager to further diversify our company. Basecamp is committed to building an inclusive, supportive place for you to do the best and most rewarding work of your career.

    About the Job
    The Research & Fidelity team consists of two people, Sam Stephenson and Javan Makhmali, whose work has given rise to Stimulus, Turbolinks, and Trix—projects that exemplify our approach to building web applications. You’ll join the team and work with them closely.

    In broad terms, Research & Fidelity is responsible for the following:

    • Designing, implementing, documenting, and maintaining front-end systems for multiple high-traffic applications
    • Building high-fidelity user interface components with JavaScript, HTML, and CSS
    • Assisting product teams with front-end decisions and participating in code reviews
    • Tracking evergreen browser changes and keeping our applications up-to-date
    • Extracting internal systems and processes into open-source software and evolving them over time

    As a member of the R&F team at Basecamp, you’ll fend off complexity and find a simpler path. You’ll fix bugs. You’ll go deep. You’ll learn from us and we’ll learn from you. You’ll have the freedom and autonomy to do your best work, and plenty of support along the way.

    Our team approaches front-end work from an unorthodox perspective:

    • Our architecture is best described as “HTML over the wire.” In contrast to most of the industry, we embrace server-side rendered HTML augmented with minimal JavaScript behavior.
    • We implement features on a continuum of progressive enhancement. That means we have a baseline of semantic, accessible HTML, layered with JavaScript and CSS enhancements for desktop, mobile web, and our hybrid Android and iOS applications.
    • We believe designers and programmers should build UI together, and that HTML is a common language and shared responsibility. Our tools and processes are manifestations of this belief.
    • We are framework builders. We approach intractable problems from first principles to make tools that help make Basecamp's product development process possible.

    Here are some things we’ve worked on recently that might give you a better sense of what you’ll be doing day to day:

    • Working with a designer during Office Hours (our weekly open invitation) to review and revise their code
    • Researching Service Workers and building a proof-of-concept offline mode for an existing application
    • Creating a Stimulus controller to manage “infinite” pagination using IntersectionObserver
    • Investigating a Safari crash when interacting with elements and filing a detailed report on WebKit’s issue tracker
    • Extracting Rails’ Action Text framework from the rich text system in Basecamp 3
    • Working with programmers from the iOS and Android teams to co-develop a feature across platforms
    • Porting Turbolinks from CoffeeScript to TypeScript and refactoring its test suite
    • Responding to a security report for our Electron-based desktop app and implementing a fix

    About You
    We’re looking for someone with strong front-end JavaScript experience. You should be well-versed in modern browser APIs, HTML, and CSS. Back-end programming experience, especially with Ruby, is a plus but not a requirement. You won’t know how all the systems work on day one, and we don’t expect you to. Nobody hits the ground running. Solid fundamentals with software development, systems, troubleshooting, and teamwork pave the way.

    You might have a CS degree. You might not. That’s not what we’re looking for. We care about what you can do and how you do it, not about how you got here. A strong track record of conscientious, thoughtful work speaks volumes.

    This is a remote job. You’re free to work where you work best, anywhere in the world: home office, coworking space, coffeeshops. While we currently have an office in Chicago, you should be comfortable working remotely—most of the company does!

    Managers of One thrive at Basecamp. We’re committed generalists, eager learners, conscientious workers, and curators of what’s essential. We’re quick to trust. We see things through. We’re kind to each other, look up to each other, and support each other. We achieve together. We are colleagues, here to do our best work.

    We value people who can take a stand yet commit even when they disagree. And understand the value in others being heard. We subject ideas to rigorous consideration and challenge each other, but all remember that we’re here for the same purpose: to do good work together. That comes with direct feedback, openness to each others’ experience, and willingness to show up for each other as well as for the technical work at hand. We’re in this for the long term.

    Pay and Benefits
    Basecamp pays in the top 10% of the industry based on San Francisco rates. Same position, same pay, no matter where you live. The salary for this position is either $149,442 (Programmer) or $186,850 (Senior Programmer). We assess seniority relative to the team at Basecamp during the interviewing process.

    Benefits at Basecamp are all about helping you lead a healthy life outside of work. We won’t treat your life as dead code to be optimized away with free dinners and dry cleaning. You won’t find lures to keep you coding ever longer. Quality time to focus on work starts with quality time to think, exercise, cook a meal, be with family and friends—time to yourself.

    Work can wait. We offer fully-paid parental leave. We work 4-day weeks through the summer (northern hemisphere), enjoy a yearly paid vacation, and take a one-month sabbatical every three years. We subsidize coworking, home offices, and continuing education, whether professional or hobbyist. We match your charitable contributions. All on a foundation of top-shelf health insurance and a retirement plan with a generous match. See the full list.

    How to Apply
    Please send an application that speaks directly to this position. Show us your role in Basecamp’s future and Basecamp’s role in yours. Address some of the work we do. Tell us about a newer (less than five years old) web technology you like and why.

    We’re accepting applications until Sunday, February 2, 2020, at 9:00PM US-Central time. There’s no benefit to filing early or writing a novel. Keep it sharp, short, and get across what matters to you. We value great writers, so take your time with the application. We’re giving you our full attention.

    We expect to take two weeks to review all applications. You’ll hear from us by February 14 about whether you've advanced to the written code review part of the application process. If so, you’ll submit some code you’re proud of, review it, and tell its story. Then on to an interview. Our interviews are one hour, all remote, with your future colleagues, on your schedule. We’ll talk through some of your code and some of ours. No gotchas, brainteasers, or whiteboard coding. We aim to make an offer by March 20 with a start date in early April.

    We look forward to hearing from you! ✌️

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!