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

Write Code to Rewrite Your Code: jscodeshift

How many times have you used the find-and-replace functionality (or RegEx) across a directory to make changes to JavaScript source files? Up your refactoring game by using codemods, scripts used to rewrite other scripts.

In this article, Toptal Freelance Developer Jeremy Greer walks us through three common uses of codemods, using the toolkit “jscodeshift.”

16-minute readContinue Reading
Jeremy Greer

Jeremy Greer

Jeremy is a senior software engineer with a passion for modern JavaScript—client & server-side—including React, Redux, Angular, and Express.

Get Your Hands Dirty With Scala JVM Bytecode

The Scala language has continued to gain popularity over the last several years, thanks to its excellent combination of functional and object-oriented software development principles, and its implementation on top of the proven Java Virtual Machine (JVM).

Creating a language that compiles to Java bytecode requires a deep understanding of the inner workings of the Java Virtual Machine. To appreciate what Scala’s developers have accomplished, it is necessary to go under the hood, and explore how Scala’s source code is interpreted by the compiler to produce efficient and effective JVM bytecode.

21-minute readContinue Reading
Sergey Reznick

Sergey Reznick

Sergey is an experienced software developer with a background in computer science and basic algorithms and over 20 years of experience.

World-class articles, delivered weekly.

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

The Rise Of Automated Trading: Machines Trading the S&P 500

More than 60 percent of trading activities with different assets rely on automated trading and machine learning instead of human traders. Today, specialized programs based on particular algorithms and learned patterns automatically buy and sell assets in various markets, with a goal to achieve a positive return in the long run.

In this article, Toptal Freelance Data Scientist Andrea Nalon explains how to predict, using machine learning and Python, which trade should be made next on the S&P 500 to get a positive gain.

24-minute readContinue Reading
Andrea Nalon

Andrea Nalon

With an MCE and extensive ML and quantitative analysis training, Andrea’s a data science experience covers R, Python, VBA, Excel, and SQL.

Sass Mixins: Keep Your Stylesheets DRY

Nowadays, front-end development workflows involve many modern tools and preprocessors that not only streamline the whole process, but also allow you to spend less time on common web tasks, giving you more time to focus on other aspects of the project that require more careful and skilled insight. Sass, the scripting language for syntactically awesome stylesheets, comes with robust and built-in support for mixins - an essential feature for keeping your stylesheets DRY.

In this article, Toptal Freelance Software Engineer Justin Brazeau shows us 10 useful Sass mixins that help keep your stylesheets manageable by breaking them into smaller reusable bits, each with its own focus.

10-minute readContinue Reading
Justin Brazeau

Justin Brazeau

Justin is a front-end website developer with a background in graphic design. He focuses on HTML, CSS, JavaScript, and WordPress.

Jumpstart Your PHP Testing with Codeception

Would you like to test your PHP code like a boss? Do you feel that basic unit tests and PHPUnit just don’t cut it anymore? If your answer to both questions is yes, you might want to try Codeception, a mature and well-documented testing framework designed to outperform PHPUnit and Behat.

In this post, Toptal Freelance Software Engineer Vasily Koval describes how he came to take the plunge and start using Codeception, and he explains why you should check out Codeception for your PHP testing needs.

10-minute readContinue Reading
Vasily Koval

Vasily Koval

Vasily is a web developer with more than nine years of extensive experience developing, optimizing, and supporting web applications.

10 Common Unity Mistakes

Before you use Unity’s straightforward and intuitive tool for multi-platform development, become familiar with and avoid these common Unity mistakes.

12-minute readContinue Reading
Tomas Macek

Tomas Macek

Tomas has more than a decade of experience with C# and Unity3D. His specialty is AR and VR, as well as 2D production.

Productivity On The Road: Work Full-Time, Travel Solo, Have Fun

Do you have what it takes to travel the globe while working full-time? Can you work on the road while still finding enough time to take care of yourself and enjoy the adventures of travel? It’s not a lifestyle for everyone, but it’s probably not as tricky or demanding as you think, especially when you have a sense of purpose.

In this article, Toptal Director of Operations Dror Liebenthal explains how to enjoy the nomadic lifestyle without compromising your professional performance, health, or social life.

12-minute readContinue Reading
Dror Liebenthal

Dror Liebenthal

Dror heads Toptal’s business operations team, leveraging experience gained working on countless Toptal projects and initiatives.

Clustering Algorithms: From Start to State of the Art

Clustering algorithms remain an important part of unsupervised learning and machine learning workflows. These algorithms help uncover patterns in unlabeled data, but each comes with different strengths, trade-offs, and ideal use cases.

In this article, Toptal Freelance Software Engineer Lovro Iliassich explores clustering approaches ranging from K-Means and EM clustering to Affinity Propagation and DBSCAN.

11-minute readContinue Reading
Lovro Iliassich

Lovro Iliassich

Lovro is a Machine Learning Engineer and Data Scientist. He worked at Amazon as well as a researcher at multiple academic institutions.

Toptal's Quick and Practical JavaScript Cheat Sheet: ES6 and Beyond

Software engineers are always searching for the best tools and guides to help them be more productive and allow them to spend less time reading long technical specifications.

Today, Toptal is pleased to present a new resource to the community: the JavaScript Cheat Sheet - ES6 and Beyond. Toptal’s JavaScript Cheat Sheet is a quick, easily understandable reference guide. It is free to download and includes all the new and exciting features introduced with ES6 as well as the future experimental features from ES7.

11-minute readContinue Reading
Jesus Dario

Jesus Dario

Jesus is a co-founder of Netbeast.co. He has two years of experience as a full-stack developer as well as a year of experience as CTO.

Express, Koa, Meteor, Sails.js: A Node.js Framework Comparison

Some platforms have an overwhelming number of options for web frameworks. Node.js, the event-driven server-side JavaScript environment, is one such platform. Whether it’s the minimalist Express or the full-blown MVC web framework Sails.js, Node.js seems to have it all.

In this article, Toptal Freelance Software Engineer Chuoxian Yang explores four of the most popular Node.js web frameworks and discusses how each framework stands out from the rest of the crowd in Node.js.

10-minute readContinue Reading
Chuoxian Yang

Chuoxian Yang

Chuoxian is a full-stack developer and tech company founder who has built multiple large-scale projects from blueprint to launch.

Using Scala.js With NPM And Browserify

Today, writing applications in languages that compile to JavaScript is a very common practice. Scala developers, for example, can use Scala.js and have the same language for both the server and the client. That said, Scala’s compiler and standard dependency management tools are too limiting in the modern JavaScript world.

In this article, Toptal Freelance Software Engineer Michele Sciabarra shows us how to integrate Scala.js with the plethora of JavaScript modules available on NPM, using tools like Browserify, and explains how to do this without even having to install Node.js.

11-minute readContinue Reading
Michele Sciabarra

Michele Sciabarra

Michele is a system architect with over 20 years of experience. He is a polyglote developer but his specialty is Scala and DevOps.

Introduction to Concurrent Programming: A Beginner’s Guide

Concurrency allows programs to deal with a lot of tasks at once. But writing concurrent programs isn’t a particularly easy feat. Dealing with constructs such as threads and locks and avoiding issues like race conditions and deadlocks can be quite cumbersome, making concurrent programs difficult to write.

In this article, Toptal Freelance Software Engineer Marko Dvečko gives us an overview of some concurrent programming models. He explains how each of these models gives structure to the programs we write and shows how to avoid certain concurrency issues that can come with these models.

24-minute readContinue Reading
Marko Dvečko

Marko Dvečko

Marko has 12+ years of experience. He holds four Salesforce.com certificates, and his interests are in math and functional programming.

Programming Visually with Node-RED: Wiring Up the Internet of Things with Ease

Node-RED, built on Node.js, is a tool designed for programming visually without having to write any code. It comes equipped with a browser-based flow editor that allows hardware devices and APIs to be connected with each other easily, making it an ideal tool for rapidly developing programs for IoT devices.

In this article, Toptal freelance software engineer Jesús Darío Rivera walks us through the process of building a simple program using Node-RED and Netbeast along with a virtual light bulb plugin that mimics the capabilities of a real smart bulb.

13-minute readContinue Reading
Jesus Dario

Jesus Dario

Jesus is the co-founder of Netbeast.co. He has two years of experience as a full-stack developer and one year as CTO.

Introduction to BEM Methodology

When building smaller websites, the way developers structure their CSS code is usually not a big issue. However, when it comes to larger, more complex projects, code organization becomes crucial.

In this article, Toptal Freelance Software Engineer Tomislav Matijević introduces us to BEM methodology and explains how this CSS practice can massively improve code maintainability, speed up the development process, and streamline the teamwork of developers by arranging CSS classes into independent modules.

12-minute readContinue Reading
Tomislav Matijević

Tomislav Matijević

Tomislav is a software engineer well versed in front-end technologies, particularly in vanilla JavaScript and React.js.

Gulp Under the Hood: Building a Stream-based Task Automation Tool

Streams are a powerful construct in Node.js and in I/O driven programming in general. Gulp, a tool for task automation, leverages streams in elegant ways to allow developers to enhance their build workflow.

In this article, Toptal engineer Mikhail Angelov gives us some insight into how Gulp works with streams by showing us step-by-step how to build a Gulp-like build automation tool.

8-minute readContinue Reading
Mikhail Angelov

Mikhail Angelov

Mikhail holds a Master’s in Physics. He’s run the gamut with Node.js, Go, JavaScript SPAs, React.js, Flux/Redux, RIOT.js, and AngularJS.

Clean Code and the Art of Exception Handling

Exceptions are a fundamental element of modern programming—and nothing to fear. Implement these exception handling best practices to write clean code that is easier to maintain.

12-minute readContinue Reading
Ahmed AbdelHalim

Ahmed AbdelHalim

Ahmed is a back-end (API) developer who loves building useful and fun tools. He also has experience as a web developer.

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.