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

The GWT Toolkit: Build Powerful JavaScript Front Ends Using Java

The GWT Web Toolkit, formerly known as Google Web Toolkit, is a set of development tools for building and optimizing complex browser-based applications using the Java programming language. What makes GWT not “yet another Java tool to write web apps,” is the fact that the heart of the toolkit is a compiler that converts Java into JavaScript, enabling developers to write front-end web applications while leveraging all of Java’s strengths.

11-minute readContinue Reading
Alberto Mancini

Alberto Mancini

Dr Alberto spent 20 years working as a researcher in Applied Math & is experienced in managing large computational infrastructures.

Developer’s Guide to Open Source Licenses

Many developers often overlook, or do not thoroughly think through the implications of open source licenses. Whether you’re planning to open source your own project under one of these licenses, or you intend to integrate some other open source project into one of your own, it’s important to have at least some knowledge of what these licenses are, how they may affect your projects, and how they complement or contradict one another. In this article, Toptal engineer David Marín gives us a comprehensive guide to some of the most popular open source licenses, and several rules of thumb to follow when choosing a license for future open source projects.

15-minute readContinue Reading
David Marín

David Marín

David is an open source and open data enthusiast with 18 years of experience as a professional developer specialing in web development.

World-class articles, delivered weekly.

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

Towards Updatable D3.js Charts

When Mike Bostock created D3.js, he introduced a tried and true reusable charts pattern for implementing the same chart in any number of selections. However, the limitations of this pattern are realized once the chart is initialized. In this article, Toptal engineer Rob Moore presents a revised reusable charts pattern that leverages the full power of D3.js.

11-minute readContinue Reading
Rob Moore

Rob Moore

where he tries to bring to the web development the experiences got in the field of HPC and (Big) Data Processing.

Apple Pay and Android Pay for Developers

Today, we will be taking a look at the future of mobile payments and emerging opportunities for developers. Needless to say, with each new opportunity, developers will have to face new challenges.

However, since we are talking about money, I don’t think anyone expects a shortage of software developers eager to learn a few new tricks and get into this space.

12-minute readContinue Reading
Nermin Hajdarbegovic

Nermin Hajdarbegovic

As a veteran tech writer, Nermin helped create online publications covering everything from the semiconductor industry to cryptocurrency.

Software Reengineering: From Spaghetti to Clean Design

Inheriting someone else’s code can be a nightmare, especially when the code is poorly designed and lacks documentation. In this post, Toptal Engineer Juan Pablo Scida provides a case study of how he reengineered a chat server written in Node.js, transforming its original spaghetti code into a cleanly architected and designed piece of software.

10-minute readContinue Reading
Juan Pablo Scida

Juan Pablo Scida

Juan is a software architect with more than 10 years of experience. He is a certified .NET and Java developer, and loves Node.js and Erlang.

Implementing a Remote Framebuffer Server in Java

Connecting to remote computers and working on them through terminals over a network is something we often take for granted. Technologies that enable us to do this have changed the way we work and have opened doors to amazing possibilities. Although the inner workings of these technologies may seem like obscure knowledge, implementations of many of these technologies are surprisingly straightforward. In this article, Toptal engineer Igor Delac gives us a step-by-step tutorial on how to implement the Remote Framebuffer server-side protocol in Java, allowing Swing-based applications to run and be interacted with remotely using standard VNC clients.

15-minute readContinue Reading
Igor Delac

Igor Delac

Igor is an enthusiastic and skilled professional with experience in Java development, system administration, and he loves to experiment.

A Remote Worker's Guide To Staying Healthy

There are a lot of developers who take good care of themselves and enjoy a healthy, active lifestyle. If you are one of them, you can skip the rest of this post, because I wrote it to help developers like myself, who could benefit from a healthier lifestyle.

Even if you are entirely focused on your career, and think you don’t have enough spare time to lead a healthy lifestyle, bear in mind that good physical health will also boost your productivity.

11-minute readContinue Reading
Victor Abadio

Victor Abadio

Victor is a front-end developer & wordPress specialist with 7+ years of experience as a freelancer. He has worked with agencies & start-ups.

Sass Style Guide: A Sass Tutorial on How to Write Better CSS Code

When working on big web applications as a team with other developers, code needs to be scalable and readable. This can be a challenging process when it comes to CSS, although preprocessors like Sass are available. But only using preprocessors will only get you so far. In this article, Toptal engineer Matias Hernandez presents a style guide with advice on how to improve the way you write your code.

9-minute readContinue Reading
Matias Hernandez

Matias Hernandez

Matías is a software engineer with more than 7 years of work as a freelancer for companies all around the globe.

Embracing Sass: Why You Should Stop Using Vanilla CSS

CSS preprocessors have been around for quite a while now. These tools, among many things, promise convenience in writing style sheets for the web. However, not everyone is taking advantage of these utilities, and is still resorting to writing vanilla CSS. In this article, Toptal engineer Marcelo Mazza discusses some of the reasons why he thinks Sass is the way to go and why you should be using it in your projects.

8-minute readContinue Reading
Marcelo Mazza

Marcelo Mazza

Marcelo has 10+ years in UX, spanning various fields. He has solid knowledge of mobile platforms, UX, design, and front-end development

Things to Watch Out for While Working Remotely

Remote jobs can be good for you, but depending on your character, they can also have some unpleasant side effects. Burnout affects people in all walks of life and in all industries, so what makes remote workers different?

Recognizing burnout symptoms early is of vital importance, and I cannot stress this enough. The deeper you sink into it, the longer it will take to recover, it’s as simple as that.

14-minute readContinue Reading
Nermin Hajdarbegovic

Nermin Hajdarbegovic

As a veteran tech writer, Nermin helped create online publications covering everything from the semiconductor industry to cryptocurrency.

Automation in Selenium: Page Object Model and Page Factory

Proper test automation is a challenging yet essential ingredient for quality software applications. Explore maintainable test automation in Selenium, including Page Object model and Page Factory.

9-minute readContinue Reading
Dejan Zivanovic

Dejan Zivanovic

Dejan is a senior QA engineer with significant experience in web and mobile testing. He has also worked extensively on Android app development.

Software Development Anywhere: My Distributed Remote Workplace

Working as a remote software development freelancer has many benefits, but setting up an effective distributed working environment can be a real challenge. In this article, Toptal Engineer Ivan Voras describes how he leverages SSH and a number of related technologies, along with the Raspberry Pi and ownCloud, to be able to work effectively from anywhere.

9-minute readContinue Reading
Ivan Voras, PhD

Ivan Voras, PhD

Ivan’s 15+ years of back-end and blockchain architecture experience has seen everything from DBA ops to development of OS kernel modules (FreeBSD).

Software Costs Estimation in Agile Project Management

One of the hardest things to do in software development is to determine how long and how much it will take to deliver a new software product. Should it be so hard? The answer is not straightforward.

19-minute readContinue Reading
Toptal emblem

Toptal Talent Network Experts

Taming WebRTC with PeerJS: Making a Simple P2P Web Game

WebRTC has opened doors to all kinds of new peer-to-peer web applications and games that can run in the browser without the need of additional plugins. However, being a relatively new technology, it still poses some unique challenges to developers. PeerJS aims to tackle some of those challenges by providing an elegant API and insulating developers from WebRTC’s implementation differences. In this article, Toptal engineer Mahmud Ridwan provides an introductory tutorial to building a simple, peer-to-peer web game using PeerJS.

8-minute readContinue Reading
Mahmud Ridwan

Mahmud Ridwan

Mahmud is a software developer with many years of experience and a knack for efficiency, scalability, and stable solutions.

A Brief Overview of the Vulkan API

Here’s the Vulkan API in a hundred words or less: It’s a low-overhead, close-to-metal API for 3D graphics and compute applications. Vulkan is basically a follow-on to OpenGL. It was originally referred to as the “next generation OpenGL initiative,” and it includes a few bits and pieces from AMD’s Mantle API. Vulkan is supposed to provide numerous advantages over other GPU APIs, enabling superior cross-platform support, better support for multithreaded processors, lower CPU load, and a pinch of OS agnosticism.

15-minute readContinue Reading
Nermin Hajdarbegovic

Nermin Hajdarbegovic

As a veteran tech writer, Nermin helped create online publications covering everything from the semiconductor industry to cryptocurrency.

Toptal's List Of Top Free Programming Books

The Internet is mankind’s biggest repository of knowledge, information, useful (and useless: think of cat pics) digital content. Today, we will be taking a quick look at something useful and down to earth: free online programming books.

11-minute readContinue Reading
Nermin Hajdarbegovic

Nermin Hajdarbegovic

As a veteran tech writer, Nermin helped create online publications covering everything from the semiconductor industry to cryptocurrency.

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.