Toptal Engineering Blog

The Toptal Engineering Blog is a hub for in-depth development tutorials and new technology announcements created by professional software engineers in the Toptal network.

Toptalauthors are vetted experts in their fields and write on topics in which they have demonstrated experience. All of our content is peer reviewed and validated by Toptal experts in the same field.
Share

Featured in

OpenCV Tutorial: Real-time Object Detection Using MSER in iOS

Detecting objects of interest in images has always been an interesting challenge in the realm of computer vision, and many approaches have been developed over recent years. As mobile platforms are becoming increasingly powerful, now is the perfect opportunity to develop interesting mobile applications that take advantages of these algorithms. This article walks us through the process of building a simple iOS application for detecting objects in images.

8-minute readContinue Reading
Altaibayar Tseveenbayar

Altaibayar Tseveenbayar

With a master’s degree in AI and 6+ years of professional experience, Altaibayar does full-stack and mobile development with a focus on AR.

Straightforward React UI Testing

Using React.js props your application’s front-end. In particular, testing user interactions and viewing renderings is vastly improved with React UI testing.

10-minute readContinue Reading
Swizec Teller

Swizec Teller

Swizec Teller is an author whose work has supported tens of thousands of engineers at Uber, Oracle, Apple and other prominent companies.

World-class articles, delivered weekly.

By entering your email, you are agreeing to our privacy policy.

Ultimate In-memory Data Collection Manipulation with Supergroup.js

In-memory data collection manipulation is something that we often need to do in data-centric reporting and visualization applications. When needed, we often tend to resort to complex loops, list comprehensions, and other suboptimal means, which can easily end up being a huge mess of hard-to-maintain spaghetti code. Supergroup.js is an in-memory data manipulation library that can be used to solve some common data manipulation challenges on limited datasets.

11-minute readContinue Reading
Sigfried Gold

Sigfried Gold

Sigfried is a bright and articulate full-stack developer who creates browser-based visual analytics tools.

Ractive.js - Web Apps Made Easy

Ractive.js provides powerful capabilities for web app development in a way that is refreshingly simple to learn and use. In this article, Toptal Engineer Eugene Mirotin walks you through the process of building a simple Ractive search app, demonstrating some of Ractive’s key features and the ways in which it helps simplify web app development. Code samples are provided and explained.

15-minute readContinue Reading
Eugene Mirotin

Eugene Mirotin

Eugene is passionate about solving engineering problems. His language of choice is JavaScript, and the preferred stack is Node.js and React.

Getting Started with Modules and Modular Front-End Development

For some people, front-end design and development can sometimes start to seem like a chore, and can be monotonous and time consuming. Through a modular design approach, it is possible to both save time and streamline the design and development process.

8-minute readContinue Reading
Bojan Janjanin

Bojan Janjanin

Bojan is a senior web designer and front-end developer proficient in UX design with 12 years of experience designing for web and mobile.

In this article, I’ll go through some of the interesting features and libraries that are available to use with React. Even if you don’t plan on using React, taking a look at its ecosystem is inspiring. You may want to simplify your build system using the powerful, yet comparatively easy to configure, module bundler Webpack, or start writing ECMAScript 6 and even ECMAScript 7 today with the Babel compiler. So, let’s explore the React ecosystem!

22-minute readContinue Reading
Tomas Holas

Tomas Holas

Tomas started as a Ruby on Rails enthusiast, but in 2010 he turned to JavaScript and since prefers to work with Angular, React, and NodeJS.

Introducing Battlescripts: Bots, Ships, Mayhem!

Programming is about having fun and enjoying the process of creating something cool. That is why we decided to build a bot-vs-bot game platform around Battleship and make it open source. In this article, we take a look at the code and mechanics of the extensible engine behind this platform.

10-minute readContinue Reading
Mahmud Ridwan

Mahmud Ridwan

Mahmud is a software developer with many years of experience and a knack for efficiency, scalability, and stable solutions.

Unit Testing and Coding: Why Testable Code Matters

In this article, I will show that unit testing itself is quite easy; the real problems that complicate unit testing, and introduce expensive complexity, are a result of poorly-designed, untestable code. We will discuss what makes code hard to test, which anti-patterns and bad practices we should avoid to improve testability, and what other benefits we can achieve by writing testable code. We will see that writing testable code is not just about making testing less troublesome, but about making the code itself more robust, and easier to maintain.

22-minute readContinue Reading
Sergey Kolodiy

Sergey Kolodiy

Sergey is a software engineer with extensive development experience in the .NET technology stack, with strong architecture & coding skills.

Let LoopBack Do It: A Walkthrough of the Node API Framework You've Been Dreaming Of

While Ruby has Rails and Python has Django, the dominant application development framework for Node has yet to be established. But, there is a powerful contender gaining steam: LoopBack, an open source API framework built by StrongLoop, the creators of Express.

Let’s take a closer look at LoopBack and it’s capabilities by turning everything into practice and building an example application.

14-minute readContinue Reading
Jovan Jovanovic

Jovan Jovanovic

Jovan is an entrepreneur and engineer with a strong mathematical background and an extensive skillset for problem-solving.

The 8 Most Common Mistakes That Ember.js Developers Make

Ember.js is a comprehensive framework for building complex client-side applications. But, as with any advanced framework, there are still pitfalls Ember developers may fall into. With the following post, I hope to provide a map to evade these. Let’s jump right in!!

11-minute readContinue Reading
Balint Erdi

Balint Erdi

Balint has been practicing TDD since before it became popular. He was a classic PHP coder, and has since moved on to Java, Python, and Ruby.

Android M (Android 6.0) For Developers: An Evolutionary Step In The Right Direction

Google announced Android M at its annual I/O dev conference in late May, and the new OS is coming to our beloved Android devices later this year. Android 6.0 is more of an evolutionary step, whereas Android 5.0 was a big leap forward thanks to its 64-bit ART runtime and all new Material Design.

However, Android M should not be dismissed as a minor update. In this post, I will try to explain why.

9-minute readContinue Reading
Nermin Hajdarbegovic

Nermin Hajdarbegovic

As a veteran tech writer, Nermin helped create online publications covering everything from the semiconductor industry to cryptocurrency.

Meet Bond, Microsoft Bond - A New Data Serialization Framework

Microsoft Bond is a modern data serialization framework. It provides powerful DSL and flexible protocols, code generators for C++ and C#, efficient protocol implementations for Windows, Linux, and Mac OS X. This article is a quick guide of the features and use of this framework.

6-minute readContinue Reading
Andrei Smirnov

Andrei Smirnov

Andrei has 15+ years working for the likes of Microsoft, EMC, Motorola, and Deutsche Bank on mobile, desktop, and web using C++, C#, and JS.

The 10 Most Common Bootstrap Mistakes That Developers Make

Bootstrap is a powerful toolkit. It comes bundled with basic HTML and CSS design templates that include many common UI components. Most of the important pitfalls are mentioned in the Bootstrap documentation, but still some mistakes are pretty subtle, or have ambiguous causes. This article outlines some of the most common mistakes, problems, and misconceptions when using Bootstrap.

8-minute readContinue Reading
Tomislav Bacinger

Tomislav Bacinger

Tomislav (MSc) has spent more than 15 years in full-stack development and data analysis, but geospatial visualizations are his favorite.

Ergonomics for Digital Nomads: Working on the Road Without Killing Yourself

We live in a time where technology has made it possible to work from anywhere, and many people have eschewed the traditional office for the chaotic din of a cafe in Bangkok or a hotel in Prague. Yet, while this trend has opened up unprecedented opportunities, it also brings with it a number of challenges, perhaps the most insidious of which is a lack of ergonomically healthy options in non-traditional workspaces.

6-minute readContinue Reading
Casey Rosengren

Casey Rosengren

Casey works in the community-related business space and has experience in the startup world.

Building Modern Web Applications with AngularJS and Play Framework

Building robust web applications is often a lot about choosing the right tools. Doing so with a combination of tools that ensure both a modern, flexible front-end, and a solid, reliable back-end is something everybody wants. This article demonstrates exactly that trick by combining AngularJS and Play Framework to build a simple blog application.

19-minute readContinue Reading
Denys Sinyakov

Denys Sinyakov

Denys (MSc) is a seasoned software scalability engineer, project manager, and entrepreneur with 12+ years of experience. He specializes in building distributed, scalable web applications designed for cloud environments.

Brace Yourselves Android Developers, A New Android Compiler Is Coming

With Dalvik out of the picture, many people expected Google’s new 64-bit capable ART runtime to stick around for years, which it probably will, but it will get a major overhaul in the near future. In addition to offering support for 64-bit hardware, ART also introduced ahead-of-time (AOT) compilation, while Dalvik was a just-in-time (JIT) compiler.

Throw in new 10-core ARM processors and Intel mobile processors based on three different architectures, and you end up with spicy, Google-style hardware gumbo.

11-minute readContinue Reading
Nermin Hajdarbegovic

Nermin Hajdarbegovic

As a veteran tech writer, Nermin helped create online publications covering everything from the semiconductor industry to cryptocurrency.

Toptal Engineering Expert

Gabriel is a highly efficient and reliable professional who possesses a broad skill set for web application development. He's been working on a range of products and clients—from working on scalability problems in production engineering teams at Shopify and Autodesk to launching new applications for startups. Most of his work consists of leading technical teams, by creating an easy development environment, fixing technical debts, providing best practices code examples, and mentoring devs.
Read more

Previously At

Shopify

Most-read Articles

Marcos Henrique da Silva

Creating a Secure REST API in Node.js

By Marcos Henrique da Silva
13-minute readContinue Reading

World-class articles, delivered weekly.

By entering your email, you are agreeing to our privacy policy.

Join the Toptal® community.