The Programmer’s Cookbook: A Toptal Developer’s Experience


“I love to cook. I like it because it takes my mind off my job and any problems that may be going on, because if I lose my focus, I will burn the food. It’s nice when you see your wife and your friends eating your food and they say, ‘Hey, that was good!’”

The question was, on the surface, an innocuous one. I had asked Willian Fernandes if he had any hobbies outside of work. It was one of my final questions from our Skype call—I’d wondered if I could throw in a few interesting tidbits about his personal life to include alongside my article about his career as a freelance developer for Toptal.

The more I thought about it, though, the more apt it seemed that Willian should have a passion for cooking up delicious meals for his friends and family. When I looked back at our conversation, it struck me how much Willian’s career to date has resembled the way one cooks a great meal, throwing in spices here, searing something delicious there, trying a new seasoning every once in a while, and finally putting all the ingredients together for the perfect job and lifestyle.

The only difference is, when Willian cooks, he knows what’s going to come out when the meal is ready. His job at Toptal, though, is a sumptuous feast he never thought he could have dreamed up.

“I never would have guessed that things would work out so well. But here I am, and I couldn’t be happier.”

The first ingredient to Willian’s success as a remote freelancer? A healthy curiosity for how things, specifically electronics, work.

“I’ve always been interested in discovering how things worked. When I was little, I would oftentimes break things in order to find out what was inside—I broke my father’s computer because I tried to break it open and see how it worked on the inside.”

Willian laughs as he recalls his insatiable curiosity as a boy. This drive to learn more and discover never left him, and he soon began to hone his passion into a curiosity to discover everything he could about this newfangled phenomenon, the internet.

“In 1998, a friend of mine told me that if I downloaded this certain program on the computer and used my social ID number, which is Brazil’s version of a social security number, I could get one month of free internet, and I said to him, ‘Wait, what is internet?’ It got me very curious to learn more about it. I was playing guitar at the time, and I wanted to build a website that gathered together all newsletters on guitar things. That was the first time I dabbled in HTML. It never went live, but it was what sparked my interest.”

By the time Willian was heading into the world of higher education, he knew exactly what he wanted to study: computers, everything there is to know about computers. He got to achieve this goal at IBTA São Paulo, where he received his Master’s degree in Computer Engineering. The next ingredient in his journey? Finding work that let him utilize his passion and skills.

“In the year 2000, I enrolled in some technical courses in computer programming, and while working on my studies I started work at an advertising agency—I wanted to put my skills to practical use. It was an informative experience, because it showed me how to work in an office environment, to have a boss, all those things I’d never done before. After a while, I got quite sick of it, so I quit to focus on my studies.”

The next ingredient in Willian’s journey, the sauce that tied the meal together and brought out its flavor, is one that he would argue to be the most important: a love interest.

“I was continuing along in my studies, and after a while, I found I needed a new job. You see, I was dating the woman who would become my wife, and we were using her income to go out, see movies, all that, and I said, ‘I need to chip in to our life together.’ So after a bit of searching and a bit of seeking people out, I found a job with a tech company near São Paulo. It was a good, interesting job. I got to work on big projects outside my city, all around Brazil. That said, the job wasn’t doing much to advance my own career. I was really just teaching other people how to do things.”

Slowly but surely, Willian was beginning to piece together a picture—a recipe, to continue the metaphor—of what his ideal career was going to look like. But one key ingredient was missing: a real engineering job that would put his tech skills to work.

“At the time I was studying Python, really getting into it, and I had found this company that was really serious about web standards and other such relevant material. I applied to work with them, got the job, and I was really excited about it. It was my first time living on my own outside my father’s house. The job was really great to me, and I learned a lot from them and from subsequent jobs. I loved the people, but a problem came up. The company wasn’t in a great place financially, and the particular client I had was not great. I wanted to quit, and so I did, but they wouldn’t pay me. That was hard, a real learning experience, but I had to walk away.”

That Willian wouldn’t get paid for his tech services was something that had never occurred to him, nor should it occur to someone of any rational mind. Ultimately though, Willian says he’s glad he learned the lesson because it’s helped him appreciate his job at Toptal even more.

“The remote work lifestyle is great for me. The ability to work from wherever, travel where I want, when I want, that is a great luxury. Can I do this without Toptal? Sure. But I would never want to. The pay with any other service is far too unreliable, as I learned.”

Thus came the next ingredient in Willian’s career: find a tech job he enjoyed with a stable source of income. He was now married, living in São Paulo, and looking for a job.

“I knew I was qualified to do good work remotely in the São Paulo area, but I just needed to talk to the right people to get a job that was reliable. I did everything. I posted on Facebook, sent emails, made phone calls. I even tweeted about it and said I was looking for work. A friend of mine, located in Canada, re-tweeted for me and it caught the eye of one of his followers. It turns out that the follower was Alvaro [Oliveira, Toptal VP of Talent Operations]. That was how I got connected. I had heard about Toptal before but wasn’t so sure about the job security. So then when I found out about Alvaro, a Brazilian working for this American company, I was curious to learn more about his thoughts on the matter. It’s funny. I had to send a tweet that went all the way to Canada before it landed in Alvaro’s hands, who lived just a few blocks away from me in São José dos Campos, which is near São Paulo.”

Willian spoke to Alvaro, and after hearing his advice, he felt Toptal might just be the perfect mix of ingredients for the kind of career he was looking for.

“Toptal is great about matching clients with my skills. So if a client needs a project in, say, JavaScript or in Ruby on Rails, or one of my other fields of expertise, then I might get matched with that client, but I’ll never have to do work I don’t like or am not qualified for. Oh, and the pay is always reliable. It’s a perfect situation. I can do work I love, in the city I love, and still have time to walk my dog, spend evenings with my wife, and cook for my friends. What else do I need?”

So, after a long search for the perfect ingredients, Willian had cooked up the perfect remote work lifestyle, thanks to the quality of freelance work Toptal guaranteed them. He joined in 2013 as part of Toptal’s technical screening team for its developer screening process, and he’s since taken on full-time clients as a developer. Now, he’s ready to make his mark in the Toptal community.

“Toptal has these really great communities all over the world, but there’s not a huge population of us here in Brazil just yet, and I think that’s a shame. I know there are many capable programmers around here. One issue is English—not enough Brazilians know English to the level of Toptal’s standards. My wife used to be an English teacher, so she and I have been kicking around this idea of doing a Toptal-sponsored English course. It would generate local interest in Toptal, and obviously help programmers sharpen up their English. It’s just an idea, but we’ve got a few like that.”

Whether it’s cooking up a delicious dinner for his friends and family, or enjoying a walk with his dog, or competing with his flag football team (that’s right an American football team in Brazil—Willian is a huge Baltimore Ravens fan), Willian Fernandes has learned to savor every ingredient of the journey that led him to his job at Toptal, to his life in São Paulo with his wife, and his soon-to-be-growing family.
“If there’s one lesson I’ve learned, it’s this: just go out there, learn as much as you can, and do your job, but don’t be afraid to fail. Don’t get too down if something doesn’t work out the way you’d planned. If you don’t have the answer, that’s okay. Admit it, ask for help if you need to, and work harder to find the answer. I don’t know if I would have wound up here with Toptal if I hadn’t learned that lesson early on—and what a shame that would have been.”



Use a Cookbook Approach to Make Data Mining Easy-Peasy


Business intelligence analysts, marketers, and analytics mavens use many tools and techniques to extract useful information from all the meaningful data people generate every moment in every aspect of life.

I work with data every day, and I get great satisfaction from mining data to make things (like our clients’ marketing programs) better.

Not everyone needs or wants to be an expert, however, and building expertise in data mining can be a struggle. Experts often confuse more than enlighten. But everyone should have an idea of what data analysts do. That knowledge can help you understand what data mining can and can’t do.

Data mining is a science. That means we can repeat our successful analyses and use the results to become more effective and efficient at meeting our goals. All we really need is the recipe.

In the real world of business, the theory is not as important as getting accurate results. Data mining can resolve many of the questions and problems that arise in your daily marketing challenges.

A Cookbook Approach to Data Mining

Using a cookbook approach, even relative beginners can identify solutions by following step-by-step instructions.

Sometimes, the recipes can be very complex. For example, a direct marketer would be very interested in knowing how to find and address the right number of suspects or prospects for a special offer to optimize conversion rate and ROI. That’s what our agency did for Volkswagen in China, the US, and Europe. We made a recipe that included all the data we collect—including behavioral, transactional, and self-reported data from social sites, from marketing campaigns and, with VW owners, even from their cars.

With a deep analysis of consumer profiles, we had the opportunity to create predictive models and move leads from “brand engagers” to “car-buying intenders.”

For one marketing program for this client, we were able to use a data-mining recipe to identify people who had an 85%-95% probability of buying. We sent this relatively small group a generous offer voucher to entice them to buy a Volkswagen, and more than half responded and bought a new car using the voucher.

We can use another recipe if, for example, a client wants to find customers most likely to churn. This is an important target for publishers, finance, insurance, software, online services, and companies with long-term contracts with clients, such as telecommunications organizations. It’s in these companies’ best interest to identify customers who are likely to leave and try to work out ways to prevent it. In this case, the recipe is simpler.

You can use recipes to understand:

  • How to find customers with the highest affinity for a particular offer (a discount or a new product, for example)
  • How to find which customers to eliminate from a direct solicitation
  • How to find the percentage of customers with the highest affinity to sign a long-term contract (such as a subscription or a cell phone contract)
  • How to find the optimal number of communications to activate one customer
  • How to find the optimal communication mix to activate one customer
  • How to find and describe groups of customers with similar behavior patterns (to help you find new target groups)
  • How to predict the future lifetime value of a customer
  • And many more marketing and business issues

Data mining recipes discuss ingredients, instructions for preparation, and the (potential) fully baked results.

A Look at How We Create a Recipe

Here is an outline of the structure we use.

Challenge: The basic title of the recipe. For food, it might be “coq au vin.” For data mining, it could be “How to Find Customers Who Will Potentially Churn.”

Recipe ingredients include…

  • Necessary data: All the data vital for this analysis. The data must have some direct relationship to the customer (e.g., marketing activities) or have come directly from the customer (e.g., purchase behavior).
  • Population: The defined group we want to study. For example, when analyzing customers, we need to consider the definition of “active customer” for highly seasonal purchases and include purchasers from at least one complete cycle.
  • Target variable: What is the data point that indicates the behavior we want to examine? This could be a binary value, such as “buying” or “not buying,” or it could be a quantity, such as the dollar value of sales.
  • Input data (must-haves and nice-to-haves): Key variables on which the analysis depends
  • Dating mining methods: Do you broil or roast, simmer or sauté? In data mining, you may use one of any number of methods, such as logistic or linear regression, decision trees or neural nets. A good recipe will let you know the best approach—even when other methods might do.
  • Data preparation: Getting your data ready for analysis. This is the mise en place of your data-mining recipe.
  • Business issues: Defining the needed outcome of your recipe (how the results will be used, for example, whether in a strategic overview or in detail for segmentation purposes). It’s important to discuss your definitions with colleagues and stakeholders who will be using the results.
  • Transformation: How you make final models more robust. Mistakes can occur in any stage of data input or transfer. Just as you might beat a batter until lumps disappear, we need to replace missing values, exclude outliers (or ameliorate them) and smooth the data. Transformations can also summarize data in a useful way.

The step-by-step analytics part of the recipe includes…

  1. Partitioning the data: If there is enough data, you may want to split the data into training and test samples so you can best validate your model.
  2. Pre-analytics: This may involve screening out some variables (for example, variables that are all one value and depend on each other).
  3. Model building: The best-fit formulas or membership rules, for example, in cluster analysis
  4. Evaluation and validation: Learning how well the analytical process has performed in terms of value to the business and usefulness in decision-making, as well as how well the model fits the data. This usually involves applying the model to different subsets of the data and comparing the results.
  5. Implementation: Now that you have a good indication of the answer to your original challenge, what do you do next? The strategies you introduce will fulfill the value of all this information. You’ve pulled that coq au vin out of the oven, and now it’s time to enjoy it.

These powerful data-mining techniques can bring enormous benefits by helping correctly pinpoint problems or opportunities. The strategies you derive from the information are even more important—and, with the help of proper data mining—will be built on a solid foundation.

MarketingProfs All In One