Toptal Engineering Expert
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.
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.”

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

An Angular 5 Tutorial: Step by Step Guide to Your First Angular 5 App
World-class articles, delivered weekly.
Toptal Developers
- Android Developers
- App Developers
- AWS Developers
- Azure Developers
- BigCommerce Developers
- Blockchain Developers
- Coders
- Database Developers
- Embedded Software Engineers
- Flutter Developers
- HTML5 Developers
- Java Developers
- Joomla Developers
- Kubernetes Developers
- Laravel Developers
- Magento Developers
- .NET Developers
- Next.js Developers
- Odoo Developers
- Outsourced Developers
- PHP Developers
- Power BI Developers
- Prototype Developers
- Python Developers
- React Developers
- React Native Developers
- Remote Developers
- Ruby on Rails Developers
- Salesforce Developers
- Security Engineers
- SharePoint Developers
- Shopify Developers
- Software Developers
- Squarespace Developers
- Startup Developers
- Svelte Developers
- Twilio Developers
- Vue.js Developers
- Web Developers
- Web Scraping Developers
- WooCommerce Developers
- WordPress Developers
- View More Freelance Developers
Join the Toptal® community.





















