Toptal Engineering Expert
The Six Commandments of Good Code: Write Code That Stands the Test of Time
How do you define good code? Is it 100% test coverage, or is it backwards compatibility with decade-old hardware? We may not be able to reach an end to this debate yet, but good software always seems to conform to a few certain qualities of code.
In this article, Toptal Freelance Software Engineer Zachary Goldberg walks us through six simple ideas that can help you make better, more maintainable software.

Zachary Goldberg
A former engineering lead at Google and Entrepreneur in Residence at Tencent, Zachary is a seasoned professional with C-level experience.
The Duel: React Native vs. Cordova
As a result of smartphones and mobile applications becoming so popular, web developers have been looking for ways to create mobile applications using JavaScript. This increased demand has led to the development of many JavaScript frameworks capable of running native-like applications on mobile devices.
In this article, Toptal Freelance Software Engineer Johannes Stein compares the current two most popular choices for mobile-oriented JavaScript frameworks, Cordova and React Native. Examining their advantages and pitfalls, he dives into details of each and compares them across different disciplines.

Johannes Stein
Johannes is the author of two books and a highly skilled software architect specializing in JS, web tech, and cross-platform development.
Testing Your Go App: Get Started the Right Way
Testing frameworks such as Testify, Ginkgo, and Gomega can streamline testing for Golang applications, however, some of the most efficient and effective tools for testing can be found in Go’s standard libraries. In this article, Toptal developer Gabriel Aszalos covers the basics of testing in Go, from table testing to JSON response assertion.
Toptal Talent Network Experts
Gulp: A Web Developer's Secret Weapon for Maximizing Site Speed
When dealing with web-based projects that run in the production environment, being able to build and deploy changes quickly is a top priority. However, repetitive processes such as building front-end assets, when not automated, can be prone to critical errors.
In this article, Toptal Freelance Software Engineer Anton Kanevsky shows us how Gulp can solve various challenges of build automation through simple JavaScript routines.

Anton Kanevsky
With a bachelor’s in CS and 15+ years of full-stack development, Anton is a pro software engineer who’s delivered numerous complex projects.
Keep Calm and Transition to a New Development Team
Many product owners don’t have a technical background and thus often find themselves unprepared and scrambling when it comes to bringing on a new development team. This often results in hindered progress, wasted time, and frustration for everyone involved. If this sounds like it could be you, either now or in the future, then you should be somewhat concerned.
In this blog post, Toptal Freelance Software Engineer Carlos Ramirez III will walk you through the various steps of a typical transition process in project management so you can prepare for this eventuality and make the transition as smooth as possible.

Carlos Ramirez III
Carlos is a professional software engineer specializing in the Ruby on Rails framework. He has worked with US tech companies for years.
World-class articles, delivered weekly.
By entering your email, you are agreeing to our privacy policy.
Get Your Angular 2 On: Upgrading from 1.5
“So much of what’s new and exciting about Angular 2 is its new way of thinking rather than its new architecture,” says Toptal Freelance Developer Ethan James.
In this article, Ethan walks through the inner workings of a simple Angular 1.5 app and then shows us how to upgrade it to Angular 2 while giving us the necessary understanding to truly appreciate it.

Ethan James
Ethan is a passionate Javascript developer who writes clean, semantic HTML5 and CSS3 and is as responsive as the sites he builds.
Web Audio API: Why Compose When You Can Code?
Meet Web Audio API, a powerful programming interface for controlling audio on the web. Gone are the days when the web browser could rarely play a sound file correctly. With this API, you can now load sound from different sources, apply effects, create visualizations, and do much more.
In this article, Toptal Freelance Software Engineer Joaquín Aldunate shows us how to unleash our inner musician using Web Audio API with the Tone.js framework by giving us a brief overview of what this API has to offer and how it can be used to manipulate audio on the web.

Joaquín Aldunate
With a degree in industrial design, Joaquín has a rare versatility: He can make the web UI for a product but also invent the product itself.
Bidirectional Relationship Support in JSON
Ever tried to create a JSON data structure that includes entities with bidirectional relationships? If you have, you know that this often results in errors or exceptions being thrown.
In this article, Toptal Freelance Software Engineer Nirmel Murtic provides a robust working approach to avoiding these errors when creating JSON structures that included entities with bidirectional (i.e., circular) relationships.

Nirmel Murtic
Nirmel is a software engineer with more than eight years of professional experience. He excels as a solo developer but has lead experience, too.
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.
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.
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.
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 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.
Handling Intensive Tasks with Laravel
When dealing with time consuming, resource intensive tasks, most PHP developers are tempted to choose the “quick hack route”. We’ve all used “ini_set(‘max_execution_time’, HUGE_INT);” before, but it doesn’t have to be this way.
In today’s tutorial, PHP developer Daniel Gheorghe demonstrates how an application’s user experience may be improved by separating long-running tasks from the main request flow using Laravel.

Daniel Gheorghe
Daniel is a Zend Certified PHP Engineer with 10+ years of experience as the lead PHP developer for multiple companies around the world.
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.
















