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

Introduction to Functional Programming: JavaScript Paradigms

Functional Programming is a paradigm of building computer programs using expressions and functions without mutating state and data.

In this article, we will talk about doing functional programming using JavaScript. We will also explore various JavaScript methods and features that make it possible. In the end, we will explore different concepts associated with functional programming and see why they are so powerful.

7-minute readContinue Reading
Avi Aryan

Avi Aryan

Avi is a full-stack developer skilled with Python, JavaScript, and Go and is also a multiple-time Google Summer of Code participant.

WordPress Continuous Deployment and Version Control with Bitbucket

WordPress developers spent years struggling with sub-optimal solutions for CI/CD. Despite the fact that they were using the most popular CMS on the market, they often had to improvise and resort to time-consuming practices.

In this article, Toptal WordPress Developer Alexa Green shares her approach to WordPress deployment using Bitbucket and some straightforward code.

8-minute readContinue Reading
Alexa Green

Alexa Green

A veteran web developer, Alexa focuses on WordPress, Shopify, and React to create everything from landing pages to sophisticated storefronts.

World-class articles, delivered weekly.

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

Working with ESP32 Audio Sampling

The successor of the revolutionary ESP8266, the ESP32 is a next-generation microcontroller. Find out how to sample its analog-to-digital converter (ADC) from a timer interrupt using the Arduino IDE.

8-minute readContinue Reading
Ivan Voras, PhD

Ivan Voras, PhD

Ivan has 18+ years’ experience, ranging from back-end and blockchain architecture to DBA ops, kernel development, and embedded software.

Caching and Connection Handling in .NET: An Aspect-Oriented Programming Tutorial

We reduce boilerplate with common OOP patterns, but often, the code overhead of using patterns is almost the same—if not bigger—than if we’d used boilerplate code in the first place.

In aspect-oriented programming tutorial, we implement two functions (aspects) that allow for generic database connection management and caching. These allow us to mark methods that, when called, will automatically have the required functionally present in through IL weaving.

13-minute readContinue Reading
Marko Pađen

Marko Pađen

Marko has over a decade of experience with large-scale software including architecture, design, coding, testing, documentation, and release.

An Array of Possibilities: A Guide to Ruby Pattern Matching

Pattern matching is a powerful tool commonly found in functional programming languages. The Ruby 2.7 release is going to include this feature.

In this article, Toptal Ruby Developer Noppakun Wongsrinoppakun provides a breakdown of what this addition will include and why it matters.

8-minute readContinue Reading
Noppakun Wongsrinoppakun

Noppakun Wongsrinoppakun

Noppakun is a Tokyo-based full-stack software engineer with extensive experience using Vue.js and Ruby on Rails.

How to Create an SSO Button – A Flask Login Tutorial

Single sign-on is great for users, sparing them from memorizing yet another password; for businesses, removing frictio; and for developers, since less code means less things that can go wrong.

In this Flask login tutorial, we’ll write a step-by-step guide to add a SSO login button into a Flask application with SimpleLogin and Facebook as an identity provider.

6-minute readContinue Reading
Son Nguyen Kim

Son Nguyen Kim

Son is highly skilled with software engineering and ML algorithms and always tries hard to tackle problems with a simple approach.

What CSS Developers Do and Why You Need One

Most websites today rely on CSS to deliver more style and polish, but the sheer popularity of CSS is causing many people to take it for granted and overlook its importance.

In this article, Toptal UI Developer Silvestar Bistrović explains this disconnect and outlines why you need a true CSS specialist rather than a jack of all trades.

8-minute readContinue Reading
Silvestar Bistrović

Silvestar Bistrović

Silvestar is a web developer, CSS craftsman, WordPress theme expert, and JAMstack enthusiast. He enjoys creating fast, streamlined sites.

Oracle to SQL Server and SQL Server to Oracle Migration Guide

Migrating in either direction between Microsoft SQL Server and Oracle Database? There are some significant pitfalls to be aware of…

11-minute readContinue Reading
Leonid Draginsky

Leonid Draginsky

Leonid has 20+ years of experience as a multi-platform developer and DBA, with deep expertise in Oracle and SQL Server cross-platform migrations. He tackles performance bottlenecks, data migrations, and process design through strong database development and optimization skills.

Accelerate With BERT: NLP Optimization Models

Data collection and preparation slow down traditional NLP projects. However, transfer learning and BERT can reduce the amount of data required and change the way companies execute NLP projects.

6-minute readContinue Reading
Jesse Moore

Jesse Moore

Jesse is a data scientist and AI consultant with more than 15 years of experience in machine learning, software development, and applied AI. He has led technical work across finance, advertising, and AI products, building end-to-end data science solutions for both startups and large companies. Jesse previously founded Sigmai, a deep learning news classification system for hedge funds that was acquired by Commetric in 2019, and served as CTO of GOOD TRAFFIC, where he built the technology that scaled the company to $5 million in annual revenue.

Build with Confidence: A Guide to JUnit Tests

In an age of continuous delivery, Java developers have to be confident that their changes don’t break existing code, hence automated testing. There’s more than one valid approach to it, but how can you keep them straight?

11-minute readContinue Reading
Nikhil Bansal

Nikhil Bansal

Nikhil (BTech) has automated finance sector code across everything from J2EE to Elasticsearch to Kafka. And, of course, all things AWS.

How to Build a Role-based API with Firebase Authentication

Nearly every app requires an authorization system on top of an authentication system. We often need a fine-grained permissions model to allow only specific users to access certain resources while simultaneously restricting access for everyone else.

In this tutorial, Toptal Freelance Firebase Developer Joaquin Cid teaches how to build just such a system. Called role-based authentication, we’ll learn how to implement this system in an API using Node.js and Firebase.

17-minute readContinue Reading
Joaquin Cid

Joaquin Cid

Joaquin is a full-stack developer with over 12 years of experience working for companies like WebMD and Getty Images.

Make Your App Profitable, Part 2 – Harnessing the Mobile Funnel

Subscription-based apps need a special approach when it comes to analytics. Learn how a variation on the traditional sales funnel helps you work with LTV, subscriber retention, and churn rates to make your app better—and more profitable.

10-minute readContinue Reading
Matthew Knippen

Matthew Knippen

Having built 60+ iOS apps since 2008 using Swift and Objective-C, Matthew is most known for going from idea to App Store within eight weeks.

Creating Your First GraphQL API

GraphQL is a domain-specific language for data query and manipulation by Facebook. It is meant to replace the de facto REST standard in API creation.

In this article, Toptal Freelance GraphQL Developer Ioram Gordadze creates a GraphQL API from scratch, summarizing problems new GraphQL developers face. He also teaches us to rethink the standard methods used in REST APIs in a more GraphQL-friendly manner.

16-minute readContinue Reading
Ioram Gordadze

Ioram Gordadze

Ioram has designed and developed databases, API services, and more for both private and government organizations.

Increase Code Maintainability With React Integration Testing

Integration tests provide a lot of value considering the time and effort required for testing. React integration tests improve code maintainability, yet they don’t slow down development.

In this article, Toptal Software Developer Anton Rublev demonstrates how you can harness the power of react-testing-library to create superior code without wasting time.

7-minute readContinue Reading
Anton Rublev

Anton Rublev

Anton is a full-stack developer with a strong technical background. He specializes in JavaScript and he’s a fan of test-driven development.

Avoiding Bad Practices in iOS and Android Design

In an era of cross-platform mobile development, it is crucial to understand the specifics of different operating systems and hardware.

In this article, Mobile Developer Martin Doychev lists a number of bad practices employed while creating apps for iOS and Android and explains what you should and shouldn’t do.

9-minute readContinue Reading
Martin Doychev

Martin Doychev

Martin is a mobile developer and teacher, with ample experience in many languages and frameworks. As of late, he is focused on React Native.

A Software Defined Radio Tutorial: Images From the International Space Station and Listening to Hams With an RTL-SDR

Radio has used fundamentally the same technology since Marconi’s experiments in 1895. However, improved circuit design and signal processing techniques have allowed us to transmit much more and much farther out than before.

In this article, with a laptop and less than $30 worth of equipment, we’ll capture images transmitted from the International Space Station and listen to amateur radio conversations at a local repeater.

18-minute readContinue Reading
Amin Shah Gilani

Amin Shah Gilani

Amin is a Ruby Association certified Gold Ruby Programmer who is passionate about learning new applications for technology.

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.