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

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.
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.

Nermin Hajdarbegovic
As a veteran tech writer, Nermin helped create online publications covering everything from the semiconductor industry to cryptocurrency.
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.

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.
Toptal Talent Network Experts
Getting Started With Docker: Simplifying DevOps
Docker, an open source tool, has changed the way we think about deploying applications to servers. By leveraging some amazing resource isolation features of the Linux kernel, Docker makes it possible to easily isolate server applications into containers, control resource allocation, and design simpler deployment pipelines. Moreover, Docker enables all of this without the additional overhead of full-fledged virtual machines.

Radek Ostrowski
Radek is a blockchain engineer with an interest in Ethereum smart contracts. He also has extensive experience in machine learning.
World-class articles, delivered weekly.
By entering your email, you are agreeing to our privacy policy.
Digital Nomads Can Manage Teams, And Manage To See The World
Some people like the known and predictable. They freak out when their daily routine gets disrupted. But, I’ll bet if you are doing any kind of creative work like programming or design, you are not one of those people. Ordinary day-to-day office work will kill you. It will eventually strip your motivation, creativity or flare for what you do.

Lora Plesko
Lora has over 10 years of experience in IT as UX designer, business analyst, project manager, and QA.
Google Cloud Source Repositories vs. Bitbucket vs. GitHub: A Worthy Alternative?
Google’s new cloud code platform does not appear to be taking on GitHub head on. Instead, Cloud Source Repositories (CSR) will allow users to connect to repositories hosted on GitHub or Bitbucket. However, everything is automatically synced to the Google Cloud Source Repository.
The good news is that a Google CSR can be connected to another Git repository hosted on GitHub or Bitbucket. All changes will be synchronised on both platforms, as you can set Google CSR to automatically mirror from GitHub and Bitbucket.

Nermin Hajdarbegovic
As a veteran tech writer, Nermin helped create online publications covering everything from the semiconductor industry to cryptocurrency.
Unit Testing and Coding: Why Testable Code Matters
In this article, I will show that unit testing itself is quite easy; the real problems that complicate unit testing, and introduce expensive complexity, are a result of poorly-designed, untestable code. We will discuss what makes code hard to test, which anti-patterns and bad practices we should avoid to improve testability, and what other benefits we can achieve by writing testable code. We will see that writing testable code is not just about making testing less troublesome, but about making the code itself more robust, and easier to maintain.

Sergey Kolodiy
Sergey is a software engineer with extensive development experience in the .NET technology stack, with strong architecture & coding skills.
Ergonomics for Digital Nomads: Working on the Road Without Killing Yourself
We live in a time where technology has made it possible to work from anywhere, and many people have eschewed the traditional office for the chaotic din of a cafe in Bangkok or a hotel in Prague. Yet, while this trend has opened up unprecedented opportunities, it also brings with it a number of challenges, perhaps the most insidious of which is a lack of ergonomically healthy options in non-traditional workspaces.

Casey Rosengren
Casey works in the community-related business space and has experience in the startup world.
The New Wave of Entrepreneurship
We will see technology push its way forward and society will be the better for it. The exciting question is who will lead this wave of disruption?

Matt Swanson
CEO of the startup Augment, Matt (MCS) is a tech entrepreneur who wants to one day create truly intelligent machines.
Toptal and Facebook - Creating a Global Virtual Office
Toptal has taken its place as one of the strategic partners in Facebook’s effort to connect the world. Our vision of a distributed and office-less company with developers spread all over the globe has proven to be an amazing match to Facebook’s attempts to connect people worldwide.

Demir Selmanovic
Demir is a developer and project manager with over 15 years of professional experience in a wide range of software development roles.
How Not To Manage Your Remote Team of Developers
When entering the remote developers’ world, the biggest obstacle that managers must overcome is to change their mindset by accepting that the developer will not be in plain sight, and where they can manage and follow the work being done.
This new paradigm requires businesses to implement a number of mechanisms to track progress and avoid a redundant workload. Such mechanisms will help both manager and developer be more productive, which is in everyone’s best interest.

Senad Biser
Senad is a highly experienced software engineer and project manager, skilled in a variety of technologies, most notably Java ands Android.
Building Business Rules Engines with Drools - Power to the SMEople
A business rules engine is a tool for executing business rules. Business rules are composed of facts and conditional statements. Any “if-then” statement that appears in traditional business logic qualifies as a business rule.

Jeff Marin
With 30+ years as an engineer, PM, and director, Jeff’s worked in financial, entertainment, manufacturing, and medical tech, among others.
Tips for Developing an Android App: My Lessons Learned
This article provides an overview on building a great Android application, from defining an idea to releasing an application to the store. Toptal developer Ivan Dimoski gives us a chance to learn from his experience in making Ooshies, an Android Live Wallpaper designed to give you a hug and make you feel loved each time you interact with your Android device.

Ivan Dimoski
Ivan is an accomplished Android developer and consultant with six years of experience developing user-friendly applications.
5 Golden Rules for Great Web API Design
Web services and their APIs abound. Unfortunately, the vast majority are difficult to use. Reasons range from poor design, to lack of documentation, to volatility, to unresolved bugs, or in some cases, all of the above.
Follow the guidance in this post to help ensure that your web API is clean, well-documented, and easy-to-use. Such APIs are truly rare and are therefore much more likely to be widely adopted and used.

Jordan Ambra
With past employers that include Coca-Cola, Concentra, and VMWare, Jordan is a top-notch architect, developer, sysadmin, and entrepreneur.
Anti-Patterns in Telecommuting
As a veteran telecommuter through multiple jobs in my career, I have witnessed and experienced the many joys of being a remote worker. As for the horror stories, I have more than a few I could tell. With a bit of artistic inclination and a talent for mathematics, I also have a fascination with patterns: design patterns, architectural patterns, behavioral patterns, social patterns, weather patterns—all sorts of patterns!
When I first encountered anti-patterns, I discovered a trove of wisdom I wish I had known before I had learned the hard way. Anti-patterns are recognizable repeated patterns that contribute significantly to failure. For example, the manager that keeps interrupting the employee in order to see if the employee is getting any work done is engaging in an anti-pattern that serves to prevent the employee from getting any work done!
Based on my own experiences and experiences of friends and co-workers, I am assembling descriptions of anti-patterns related to telecommuting.

Steven S. Morgan
Steven is an expert Java architect and developer with extensive experience in distributed architectures, scalable solutions, and more.
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.
















