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

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.

Declarative Programming: Is It A Real Thing?

In a nutshell, declarative programming consists of instructing a program on what needs to be done, instead of telling it how to do it. This approach involves providing a domain-specific language (DSL) for expressing what the user wants. This DSL shields users from messy low-level constructs while still achieving the desired end-state.

While declarative programming offers advantages over the imperative approach it replaces, it’s not as straightforward as it may seem. In this comprehensive article, Toptal Freelance Software Engineer Federico Pereiro outlines his experience with declarative tools and explains how you can make declarative programming work for you.

25+ minute readContinue Reading
Federico Pereiro

Federico Pereiro

Maker of minimalist software. Designs, writes, tests, deploys and maintains real systems solving real (if boring) problems.

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.

World-class articles, delivered weekly.

Subscription implies consent to our privacy policy

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.

Encouraging Action And Timeliness In A Remote Workplace

Synchronizing productivity for interdependent team tasks can be a hassle even in the best traditional workplace environments. Add in the inherent challenges of a remote team, and the hassle becomes two-fold. But it doesn’t have to be.

Toptal’s Technical Editor Kate Scheer takes us along on her journey to inspire timely content from her remote authors, and her communication recommendations cross into other realms of remote work.

13 minute readContinue Reading
Kate Scheer

Kate Scheer

A true multipotentialite, Kate has worked as a video game artist, full-stack developer, movie script author, tech editor, and animal vet.

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.

Toptal Engineering Expert

Gabriel Courtemanche

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.

Subscription implies consent to our privacy policy

Join the Toptal® community.