It was a quiet summer night playing LoL with some friends. Suddenly I came up with an idea: “What if we play with all the champions of LoL and we cannot go to the next one until we won a game?”. Sounds cool but it’s not, believe me. With these innocent words we sentenced our lives to a decadence of early surrenders and humiliating defeats. After a deep silence, our developer souls raised the key question: “how can we automatize the track of this challenge?”. Well, that’s this post about: why playing with Riot API is even more fun than playing the game.
Salesforce is a multi-tenant environment, which means that resources are limited and we will need to design our products by taking care of the governor limits. However, sometimes we forget about other kind of restrictions that we have to keep in mind not only in Salesforce, but along other systems that work with databases.
Formula fields are read-only fields that are defined by a calculated expression. It’s the most similar thing of a Excel formula that you can find in Salesforce and it doesn’t require strong knowledge to set one. As a read-only field, you cannot assign values to it. That should not be an issue in most of the times, but it could cause you problems when you want to test an apex piece of code.
Recently, I took the decision to move to another company. It’s not an easy decision, believe me. Even you were not having the best of the times in that job, leaving a place is like saying goodbye to an old friend. In these moments, your mind starts to process all the memories and experiences you have passed. In my case, I carry lot of learnings that I can use in my next challenge. One of them is definitely my first experience as a Team Lead, something that was brand new for me.
In this post I won’t be telling you exactly the best official guidelines to follow if you want to be leading with excellence. There are plenty of good trainings and set of rules on internet that you can check for that. In this case, I will be only talking from my experience. A guide that I developed by having proper training and taking my own observations. This is what it worked for me and I wanted to keep it as simple as possible.
Most software developers are always looking to improve their skills and experience. What is the last cutting-edge technology I can learn? what antipatterns should avoid? what are the new updates of my favorite framework? These things are important for all of us and for the companies we work in, but in all this chaotic mess of libraries, conventions, patterns, … we could easily forget the basics that we learn when we studied the concepts of algorithm design: “an algorithm should be efficient”. But, is it really that important? when should we worry about that?
Some time ago, at my company, we had the problem that certain parts of our users should use some different versions of our services depending on the subscription plan that they have at that moment. As we are running microservices using Docker containers and Kubernetes we had to come with some different ideas on how to implement this.
During these past days I was struggling with something that I thought it should be straightforward: I have one repository on GitHub and I wanted to commit changes using two different computers, my PC from home and my Mac from work. At first glance, I was wondering if only cloning my repository in my Mac laptop and start pushing some commits could work, and it worked partially, but when checking the repository from GitHub I discovered some weird issues with the authority of the commit:
Git is an excellent tool to safely develop applications with total control of our source code. It can be used to track changes, collaborate with others and save your work in remote in servers that GitHub or Bitbucket offer us. But all people have bad days and mistakes can occur at any moment. Luckily, Git implements some mechanisms to fix all those commits that you pushed with a wrong identity, really bad messages or you just want to remove them forever.
There is always a good reason to face a new challenge, but sometimes you just don’t know what could be a good one. As programmer you have a bunch of opportunities that sometimes can overwhelm. Should I create a new app? What technologies should I choose? What if my idea is not original? How big this new project should be?