A year ago, when I changed jobs, I didn’t even publish my resume. I acted like this from previous experience: every time opening a resume to the public, I had to communicate a lot with companies with which we obviously could not succeed. So I asked my friends what companies are currently looking for developers, knocked on a couple of doors and found a great place. Later, however, it turned out that we did not quite fit each other with this company, and I quit. I am sure that if I opened my resume, I would again, like a couple of years before, have to dig myself out of the responses of HRs. For me personally, things have changed a lot since then.
What are the worst mistakes in programming? I would single out two types:
- those that cause a business to lose a lot of money
- and those that are the least common.
While the first ones are immediately clear, what about the second ones? The fact is that the less often we encounter some type of error, the more difficult it is to understand what caused them.
This happened to me at work as well. One morning, the testers noticed that some requests to the backend returned a 502 (Gateway Timeout) error. This bug was a release stopper, so all the senior developers and a devops engineer took it up. At first, it was believed that Nginx returned this error, and the backend had nothing to do with it. After a while, we realized that PHP was to blame. We sinned for everything: turned off the BlackFire, changed OpCache settings, tried different patch versions in PHP, and so on. However, the error itself was not in the infrastructure, but directly in the application code.
There are many architectural patterns in the development world. Some of them we use every day, some - less often. Surely each of you has seen the Singleton and the Factory many times. Many of you have written them on your own. But when I first read about the Builder pattern