Alexey Nikolaev

Seven Ruby Tricks for the Curious Developer

By Alexey Nikolaev on March 29, 2018



I want to share some of Ruby tricks with you that I have collected over the past few years. I hope that I’ll be able to add a few bits of new knowledge to your current Ruby toolkit.

I dare you try to solve these seven challenges without any documentation or irb at first. All code in this blog post is intended to be run using Ruby 2.5.0 or  a more recent version.

Oskari Virtanen

Killing a Monolith — How Smartly.io Reworked their Architecture

By Oskari Virtanen on February 28, 2018

Two years ago we realized that something had to be done. Our Engineering team had been growing rapidly, but the backend framework we were using was home-grown and lacked documentation, and it was a struggle to get new developers familiar with it.

Siiri Hakulinen

Why Our CTO Spends 50% of His Time on the Road

By Siiri Hakulinen on February 16, 2018

Smartly.io's Founder and CTO Tuomo Riekki, who was recently included in Forbes 30 under 30 Europe, spends most of his time in the front line of Smartly.io's business, traveling to meet customers and prototyping new product initiatives to solve their pain points. In this blog post, he explains why being close to customers is both a core company value and his favorite part of the job. 

Jukka Heinonen

Highlights from Smartly.io DevTalks — Tackling Complexity in Software and Teams

By Jukka Heinonen on January 24, 2018

We’re hiring software developers! See open positions at smartly.io/developer.

Last November, we hosted the first ever Smartly.io DevTalks and brought together 80 experienced engineers from the Helsinki tech scene. Discussion revolved around complexity in software and engineering teams and how to fight it. Speakers included MPJ from Fun Fun Function, Sami Honkanen from Boss Level Podcast, and our own VP of Engineering Otto Hilska. Big thanks to all visitors and speakers!
Jukka Heinonen

We’re Looking for Ambitious Programmers — Apply to Smartly Squad 2018!

By Jukka Heinonen on December 18, 2017

See our open positions at smartly.io/careers!

Do you code? Got some work experience or hobby projects to show off? Join our Smartly Squad in 2018 to build software for the largest online advertisers globally, add to your technical skill set, and maximize your learning! Application is now open. 

Roman Musatkin

How We’re Building a Design Process in a Full Stack Team

By Roman Musatkin on September 29, 2017

We’re hiring Product Designers!

Our full stack engineering teams design the features they build, which means developers deploy changes to our user interface every day. As the headcount of our engineering team increases, and we release more features than ever before, a well-functioning design process becomes a top priority. Here’s how we’re tackling the challenge.

Otto Hilska

How Engineers Work at Smartly.io

By Otto Hilska on September 15, 2017

We're looking for brilliant Software Developers to join our team!

In the past two years, the Smartly.io product development team has grown by 6x, extracted a bunch of microservices from a monolithic code base, scaled infrastructure beyond 400 servers, and contributed to growing monthly revenues by 10x. Meanwhile, we’ve been able to maintain agile and self-organized ways of working in our 50-person engineering team.

Max Huttunen

How to Make a Data Grid Scale

By Max Huttunen on August 3, 2017

At Smartly.io, our users have diverse, sometimes very demanding needs when it comes to tables for displaying and manipulating data. We wanted to cover all of the possible use cases with our new campaign management data grid implementation, where expandable rows, sticky columns and good performance are just some of the most important requirements.

In this blog post, we go through how we found the right tool for the job, and overcame the most critical challenges to build a truly well-performing and scalable data grid.

Lauri Kovanen

Statistical Significance for Humans — Automated Statistical Significance Calculator for A/B Testing

By Lauri Kovanen on July 19, 2017

As online marketing grows more complex, it’s difficult to get all the details right on the first try. With dozens of decisions to make for each ad, it is no surprise that there’s often room for improvement. Fortunately there’s a way to consistently make better decisions: A/B testing. However, running randomized controlled trials typically requires a good understanding of statistics, and most of our customers are not statisticians. We saw a clear need for a more understandable, automated solution especially for statistical significance calculations—so that’s what we set out to build.

Ville Lautanala

Streaming Data with Ruby Enumerators

By Ville Lautanala on July 6, 2017

Streaming is an efficient method of handling large collections of data. Working with streaming data in Ruby using blocks is clunky compared to Node.js Stream API where streams can be easily composed. In this blog post we share how we combined the ideas from Node.js Streams with Ruby enumerables to build composable streams in Ruby. This has helped us scale our feed processing to a whopping pace of over 1 million products processed each minute. 

-->