Posts

Showing posts from May, 2021

What Focus Really Means: Learning From Bill Gates, Warren Buffett And Steve Jobs

  In early July 1991, Bill Gates Sr. invited some guests over for dinner. The diners that evening included his son Bill Gates Jr., the founder of Microsoft, and Warren Buffett. These were two of the most successful men in the world, who, for many years, had taken it in turns to top The Forbes World’s Billionaires list. The host asked his dinner guests, “What factor do you feel has been the most important in getting to where you’ve gotten in life?” Buffett immediately replied, “Focus.” Bill Gates Jr. agreed. Bill Gates Gates admitted that he had been obsessed with computers since he was 13, “I mean, then I became hard core. It was day and night.” His parents were worried about him, “Although he was only in the ninth grade, he already seemed obsessed with the computer, ignoring everything else, staying out all night.” In the end, they ordered him to give up computers, which he managed to do for about nine months. In the words of Bill Gates Jr.’s college roommate, Andy Braiterman, “Bill h

Programmers Vs. IT Workers

Image
  This is a message to all managers and bosses in the world who think it’s a good idea offload IT work to their coders: Stop. Stop now and stop forever. It will hurt your business every single time. Meet Charles The Computer Programmer, let’s call him Charles, by his very nature loves to solve difficult problems and to create things. He has dedicated his life to piecing together the large and ever evolving puzzle that is software, discovering every day new ways to accomplish his task. Work is hard, because programming is hard. Charles likes it, though. Charles is getting to make things while expanding his skills. Charles is happy because he is getting to make a living doing something that is natural to him. It’s been years of hard work, but Charles has built a coding skill set from nothing. With nothing but a computer and a desire to learn, Charles has learned to create softwares that can solve real problems in the real world. Through countless hours of self study, Charles made himself

Implementing Django Multi-tenants

Image
  Here's how we implemented multi-tenancy on a recent Python / Django app build. This article describes our approach, shares some code and compares it with an earlier project we did using a different method. In my last post about Multi-tenancy in Elixir using Ecto  I described two approaches to implementing multi-tenancy: One solution for this would be to add a tenant_id column to every table in the database. All queries would then include this id. An alternative solution is to store each tenant’s data in a separate Postgres schema, and query against that. That first post describes the Postgres schema approach. On a recent project we made the opposite choice, and added  tenant_id  to every database record. On both projects the ask was very similar, to allow other organizations to “whitelabel” the application with their own branding but with completely distinct data. In this post I’ll describe the implementation, flag some rough spots that we didn’t initially catch, and close with s