How to use the bug tracking system
May 19, 2025
error
report
information
public
team
3 min read
No matter what you call them – bugs, defects, or even design side effects – it is impossible to eliminate them completely. For a project to be successful moving forward, it is very important to be able to correctly write an error report, as well as to know what to pay attention to in it.
In a good bug report, three things should be described: • How to reproduce the error – as accurately as possible – and how often the error manifests itself. • What was supposed to happen – how do you see it? • What is actually happening – at least the data you were able to record.
The volume and quality of the provided information equally characterize the report’s author, as well as the error itself.
...
➦ Read the code
May 17, 2025
start
code
reading
skills
today
projects
2 min read
We, programmers, are strange creatures. We love writing code. But when it comes to reading code, we usually shy away from it. After all, writing code is much more exciting, and reading code is difficult—sometimes almost impossible. Especially hard is reading code written by others. Not always because it is poorly written, but because another person thinks and solves problems differently than you do. Have you ever thought that reading someone else’s code can help improve your own code?
The next time you read some code, stop and think. Is it hard to read or easy? If it’s hard, why? Is it poorly formatted? Is the naming system inconsistent or illogical? Are multiple tasks mixed in one piece of code? Perhaps the chosen language makes the code difficult to read.
...
➦ Incredible, but testers are your friends
May 12, 2025
in •
CANADA
canada
whenever
got
program
issues
testers
intelligence
fix
3 min read
They may call themselves quality control or quality assurance, but many programmers simply call them a nuisance. My experience shows that programmers often have a hostile relationship with those who test their programs. “They’re too picky” or “They want everything to be perfect” are common complaints. Sound familiar?
I don’t know why, but I have always had a different view on the work of testers. Maybe it’s because the “tester” at my first job in Canada was the firm’s secretary. A very pleasant lady who handled paperwork and tried to teach a couple of young programmers professional behavior in the presence of clients. She also had the gift of spotting any program defect, even the most inconspicuous, in a matter of seconds.
At that time, I was working on a program written by an accountant who considered herself a programmer.
...
➦ The drama of hype technologies, customer needs, and pangs of conscience
Apr 12, 2025
in •
COBOL
•
JAVA
•
PYTHON
java
python
cobol
client
project
technology
work
solution
3 min read
We, programmers, sometimes choose to use certain technologies, methodologies, and approaches to problem-solving not because they provide the optimal solution, but simply because deep down, we want to mention them in our resumes. Such a choice very rarely leads to a positive result.
The most powerful catalyst for any career will be grateful clients lining up in long queues to recommend you to others – after all, you worked so hard for them. If this is true, it’s strange that they let you go. Client goodwill It will serve you much better than any trendy object of a trendy language and any trendy paradigm. Although it is very important (and even vital) for a software architect to stay updated on the latest trends and technologies, never try to broaden your horizons at the expense of the client.
...
➦ The performance of an application is determined by its architecture
Apr 06, 2025
application
performance
architecture
product
fine-tuning
2 min read
The performance of an application is determined by its architecture. At first glance, it seems that this statement should be obvious, but real-world experience shows otherwise. For example, software architects often believe that application performance issues can be resolved simply by switching to software infrastructure from another vendor. The source of this belief may be the advertising hype surrounding testing results – for example, it is claimed that the leading company’s product outperforms the nearest competitor by a certain percentage. However, if the leading product performs an operation in 3 milliseconds, while the competing product does it in 4 milliseconds, the claimed percentage (one millisecond) means very little against the backdrop of overall low performance rooted in architectural inefficiency.
Besides IT managers and performance testing teams, there are and other groups of people, such as the support service of the development company and authors of books on application performance management, which they recommend fine-tuning the application infrastructure: play with memory allocation operations, connection pool sizes, the sizes of thread pools and so on.
...
➦ Satisfy your ambition through Open Source
Apr 05, 2025
in •
GOOGLE
•
PC
google
apple
microsoft
code
projects
project
work
programmer
3 min read
As a rule, the programs you write at work do not satisfy your most ambitious programmer dreams. It may happen that you are developing software for a huge insurance company, but you would like to work at Google, Apple, Microsoft, or start your own startup that will bring about the next revolution. You will never reach your goal by developing software for systems that do not interest you.
Fortunately, there is a solution to your problem: open source, that is, projects with open source code. In the world, there are thousands of open-source projects, and many of them are quite active, where a programmer can gain any experience their heart desires. If you are drawn to the idea of developing an operating system systems, choose one of the ten available operating system projects for yourself.
...
➦ Only the code will tell the truth
Apr 02, 2025
code
comments
program
source
description
3 min read
In the end, the semantics of a program are defined by the working code. If you only have it in the form of a binary file, it will be difficult to read! However, the source code is usually available if it is your own program, a typical commercial development, an open-source project, or a program in a dynamically interpreted language. When reading the source code, the meaning of the program should be obvious. You can confidently know what the program does just by looking at the source code. Even the most precise description of technical requirements will not tell the whole truth: it contains not a detailed description of what the program actually does, but general wishes of the requirements compiler. An architecture document may contain a description of the planned architecture, but it will not describe the necessary implementation details.
...
➦ You are negotiating
Apr 02, 2025
servers
system
manager
need
server
3 min read
Have you encountered projects where reasonable technological solutions are “buried” for the sake of saving costs?
The conversation goes something like this: “Do we really need X?” asks the project manager. You can substitute X with almost anything essential for system operations: software product licenses, redundant servers, external backups or power sources. The question is always asked in a fatherly tone, as if you were spending all your pocket money on comics and chewing gum, while serious adults need to think about buying new buckets in which they will carry their future profits.
The correct answer to this question is: “Yes. Absolutely necessary.” But for some reason, almost no one responds.
After all, we have a technical education, and any technical discipline is an art of compromise.
...
➦ Two mistakes can cancel each other out, making them difficult to correct
Mar 30, 2025
code
allan klumpp
apollo
everything
timetolive
problems
fix
defect
users
3 min read
Code never lies, but it can be internally contradictory. Sometimes contradictions cause confusion: how can this even work?
In his interview, Allan Klumpp, the lead software developer for the Apollo lunar module, revealed that the engine control software contained a defect that caused the lunar module to behave erratically. However, there was another bug in the program that compensated for the first one, and during the Apollo 11 and 12 moon landings, this software was successfully used before the bugs were discovered and fixed.
Let’s consider a function that returns an exit code. Let’s say it returns false when it should return true. Now imagine that the calling function does not implement the check for the return value. Everything works perfectly until one day someone discovers the lack of a check and adds it.
...
➦ A verbose journal will deprive you of sleep
Mar 28, 2025
system
log
error
systems
operation
2 min read
When I encounter a system that has been in development or operation for a long time, the first sign of real trouble is always a “dirty” log. You know what I’m talking about: it’s when clicking a link during normal web page usage results in a whole stream of messages being recorded in the system’s single log. Too many log entries can be just as useless as having none at all.
If your systems are similar to mine, then when your work ends, the work of others begins. After the development is completed, the system will be long and successfully serve customers (if you’re lucky). How will you learn about problems if the system is in operation, and what will you do about them?
...
➦