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

The Comprehensive Guide to JavaScript Design Patterns

As a good JavaScript developer, you strive to write clean, healthy, and maintainable code. While you solve interesting and unique challenges, you’ve likely found that you’re often writing code that looks similar to the code for an entirely different problem you’ve handled before. You may not know it, but you’ve used a design pattern.

22-minute readContinue Reading
Marko Mišura

Marko Mišura

Having worked as a full stack software engineer, Marko is an expert at design, implementation and maintenance of web systems.

Integration and End-to-End Tests Made Easy With Node.js and MongoDB

Interacting with a real database during integration and end-to-end testing can pose distinct challenges. An effective workaround is to use an in-memory database that integrates seamlessly with your testing framework and provides APIs for manipulating state directly from your test code.

In this article, Toptal Software Engineer Mikhail Angelov demonstrates how to do just that—and how to write straightforward integration and end-to-end tests for Node.js and MongoDB applications without the need for complicated setup/teardown code.

7-minute readContinue Reading
Mikhail Angelov

Mikhail Angelov

Mikhail is a full-stack engineer specializing in JavaScript, React, Node.js, Flux, and Redux. His industry experience spans firmware, mobile, and web development in areas including finance, insurance, and transportation technology. He also holds a master’s degree in physics.

World-class articles, delivered weekly.

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

Time-locked Wallets: An Introduction to Ethereum Smart Contracts

Launch yourself into Ethereum smart contract development with the Truffle framework! In this tutorial, Toptal Freelance Ethereum Developer Radek Ostrowski shows you how to create a practical ĐApp in the Solidity language, complete with its own ERC20 token.

13-minute readContinue Reading
Radek Ostrowski

Radek Ostrowski

Radek is a blockchain engineer with an interest in Ethereum smart contracts. He also has extensive experience in machine learning.

Database Migrations: Turning Caterpillars into Butterflies

For a large codebase, managing database schema can become tedious, especially if you maintain multiple testing environments or customers that update the product at different paces. Sometimes, documenting the latest schema or database changes isn’t enough.

In this article, Toptal Database Engineer Ivan Pavlov introduces us to concepts that help manage database states.

11-minute readContinue Reading
Ivan Pavlov

Ivan Pavlov

Ivan has both back-end and front-end development experience. He has built software for banks, medical organizations and city administration.

An Angular 5 Tutorial: Step by Step Guide to Your First Angular 5 App

Angular 5 is a new version of the Angular framework developed by Google. Angular 5 comes with improvements including optimized builds and faster compile times, but in this Angular 5 tutorial, we are going to build a notes app from scratch. If you’ve been waiting to learn Angular 5, this tutorial is for you.

40-minute readContinue Reading
Sergey Moiseev

Sergey Moiseev

Sergey is a full-stack software engineer with experience developing complex web projects. He has extensive skills as an analyst.

Blockchain, IoT, and the Future of Transportation: Understanding the Motoro Coin

Open-source, IoT, and Ethereum smart contracts work together with a new utility coin to make transportation more accessible and reduce vehicle waste. In this article, Toptal Freelance Ethereum Developer Michał Mikolajczyk explains the motivations and methodology behind his startup’s latest initiative.

16-minute readContinue Reading
Michal Mikolajczyk

Michal Mikolajczyk

Founder/CEO of a blockchain IoT startup and community leader for Toptal Warsaw, Michal has a wide range of full-stack experience.

Mixed-integer Programming: A Guide to Computational Decision-making

Mixed-integer programming is one of the many ways you can automate and enhance your decision-making processes.

In this article, Toptal Freelance Software Engineer Shanglun Wang explores the power of operations research by walking through a hypothetical problem and shows how mixed-integer programming can be used to solve it.

9-minute readContinue Reading
Shanglun Wang

Shanglun Wang

Sean is a passionate polyglot: A full-stack wizard, sys admin, and data scientist. He’s also developed market intelligence software.

Exploring Supervised Machine Learning Algorithms

While machine learning sounds highly technical, an introduction to the statistical methods involved quickly brings it within reach. In this article, Toptal Freelance Software Engineer Vladyslav Millier explores basic supervised machine learning algorithms and scikit-learn, using them to predict survival rates for Titanic passengers.

24-minute readContinue Reading
Vlad Miller

Vlad Miller

Vlad is a versatile software engineer with experience in many fields. He is currently perfecting his Scala and machine learning skills.

Command Line Tools for Developers

In this article, Toptal Freelance Software Engineer Piotr Gaczkowski explains how to make the most out of command line tools and lists some of the best tools out there.

15-minute readContinue Reading
Piotr Gaczkowski

Piotr Gaczkowski

With low-level (C/C++) and high-level (Python) experience gained at Intel and ADVA, Piotr follows the DevOps path to build great products.

REST Assured vs. JMeter: A Comparison of REST Test Tools

Apache JMeter and REST Assured are two very popular Java-based tools for automated testing of REST API services.

In this article, Toptal Freelance Java Developer Nemanja Veskovic gives us an overview of the pros and cons of both of these tools and shows where they fit best in your existing REST API projects.

8-minute readContinue Reading
Nemanja Veskovic

Nemanja Veskovic

Nemanja is a QA with more than ten years of experience working with various QA teams. He also has 4 years of experience as QA team lead.

Salesforce Einstein AI: An API Tutorial

Non-Salesforce app developers may be overlooking a hidden gem in the AI world: Salesforce Einstein offers image recognition and text analysis for plain-vanilla apps and Salesforce apps alike. In this article, Toptal Freelance Salesforce Developer Fahad Munawar Khan shows how any developer can leverage Einstein Vision and Einstein Language.

8-minute readContinue Reading
Fahad Munawar Khan

Fahad Munawar Khan

Fahad is a Salesforce Certified Force.com Developer and web developer since 2011, including being a senior dev for clients like Honeywell.

Asynchronous JavaScript: From Callback Hell to Async and Await

Asynchronous programming used to be a challenge even for seasoned professionals, leading to aptly named phenomena like Callback Hell.

In this article, Toptal JavaScript Developer Demir Selmanovic explains how async functions took us out of purgatory and why you should be using them.

6-minute readContinue Reading
Demir Selmanovic

Demir Selmanovic

Demir is a developer and project manager with over 15 years of professional experience in a wide range of software development roles.

Field-level Rails Cache Invalidation: A DSL Solution

Fragment caching in Rails provides an easy yet a powerful way of improving your application’s performance. However, some real-world scenarios do not work quite well with how the Rails cache behaves by default.

In this article, Toptal Ruby on Rails Developer Orban Botond shows how you can implement a small DSL to optimize how the cache for related entities is invalidated to improve template rendering performance.

7-minute readContinue Reading
Botond Orban

Botond Orban

Botond is a skilled developer who enjoys writing readable code. He learnt to program at 13 on a ZX Spectrum-compatible Russian PC.

Streamline Software Integration: An Apache Camel Tutorial

Designing systems integration architecture can be a difficult task. And it gets worse if you’re designing for software at scale. An enterprise service bus can be one way of working around the challenges. But this is definitely not the simplest of solutions.

In this article, Toptal Freelance Software Engineer Anton Goncharov gives us a detailed overview of the challenges of systems integration and a guide to addressing those challenges with Apache Camel.

18-minute readContinue Reading
Anton Goncharov

Anton Goncharov

Anton has extensive expertise in designing robust and scalable applications. He’s fluent in Java/Spring stack and JavaScript development.

Introduction to Deep Learning Trading in Hedge Funds

In this article, Toptal Freelance Software Engineer Neven Pičuljan introduces you to the intricacies of deep learning in hedge funds and finance in general.

21-minute readContinue Reading
Neven Pičuljan

Neven Pičuljan

Co-founder of Poze and CEO of an AI R&D/consulting company, Neven has an MCS degree and has built a face-recognition system in TensorFlow.

Don't Repeat Yourself: Automating Repetitive Tasks with WP-CLI

In a recent project, there were several programmatic tasks I needed to repeat periodically. One task in particular involved updating user-level permissions based on evidence of membership level purchase or subscription.

Instead of going into the admin panel and manually deleting hundreds (maybe thousands) of subscriptions, I opted to reach for one of my favorite WordPress tools: WP-CLI, which fixed the problem in a few keystrokes.

12-minute readContinue Reading
Nathan Finch

Nathan Finch

Nathan focuses on WordPress front-end development, consulting and implementing with Genesis and WooCommerce for SME and enterprise projects.

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.