Know that you will save it in the repository
Feb 18, 2025
code
repository
work
changes
task
3 min read
I patted three programmers on the shoulder and asked what they were working on. “I’m refactoring these methods,” was the first one’s reply. “I’m adding some parameters to this web operation,” said the second. The third one said, “I’m working on this use case.”
It may seem that the first two were absorbed in the details of their work, and only the third saw the bigger picture, and his approach was better. I asked when and what they were going to put in the repository, and then the picture changed dramatically. The first two clearly understood what files they would be, and were going to finish the work in about an hour. The third said, “I suppose I’ll finish in a few days. I’ll probably add some classes and somehow modify the services.
...
➦ Try before you decide
Feb 16, 2025
in •
JAVASCRIPT
mary
tom poppendieck
javascript
architect
decision
team
solution
information
3 min read
Many choices must be taken during the attachment-forming process. Some may be related to the library or infrastructure selection, while others may be related to the application of particular design patterns.In any event, the architect is often in charge of making the choice. The architect gathers all available data, considers it for a period, and then specifies the guidelines that the developers must follow. The fact that there is an improved method won’t surprise you.
The decision-making process is described by Mary and Tom Poppendieck in their work on lean development. They think that the ultimate choice should wait until the most crucial moment, when the team’s inaction will have permanent (or difficult to reverse) repercussions and a decision will be made on its behalf if no decision is made.
...
➦ Do not touch this code
Feb 15, 2025
development
server
testing
code
team
3 min read
Each of us has had something like this happen at some point. Your code has been uploaded to the staging server for system testing, and the department head Testing informs you that there is a problem. You are immediately ready to respond: “Let me quickly fix everything: I know what the issue is.”
However, in a broader sense, the problem is that you, as a developer, believe you should be granted access to the server where testing is being conducted.
In most cases, when it comes to web development, the architecture can be broken down into the following parts:
-Local development and unit testing on the developer’s machine
Development server where automated or manual integration testing is conducted Staging server, where the quality control team and users conduct acceptance testing Combat (production) server Yes, there are other servers and services, for example, for managing source code or software defects, but the idea is clear.
...
➦ Prevent the occurrence of errors
Feb 01, 2025
july
dd
recording
date
errors
user
users
instructions
3 min read
Error messages are the most critical form of interaction between the user and the system. They arise when the user’s communication with the system is on the verge of breaking down.
It is easiest to assume that errors occur due to user fault from entering incorrect data. However, the mistakes people make are predictable and happen systematically. Therefore, you can “debug” the interaction between the user and the system just as you debug the interaction between other components of the system.
Let’s say the user needs to enter a date within a specific range. Instead of allowing them to enter any date, wouldn’t it be better to provide a tool like a list or calendar that shows only the permissible dates? This would eliminate any possibility of entering a date outside the allowed range.
...
➦ Install me
Jan 23, 2025
in •
CANADA
•
NORTH AMERICAN
ip
canada
immediate
world
program
file
problems
textbook
product
3 min read
I am not at all interested in your program.
I have plenty of my own problems and a long list of tasks. I only visited your site because of unverified rumors that your program would solve all my problems. Please forgive my skepticism.
If eye-tracking studies are correct, I’ve already read the headline and am scrolling through the page looking for the blue underlined link Download Now. By the way, if I accessed this page from a browser running on Linux and my IP is from Canada, it can be assumed that I need the Linux version from a North American mirror, so please don’t ask about that. I understand that the file download dialog will open immediately, so I’ll send this thing to my downloads folder and continue reading.
...
➦ One binary file
Jan 19, 2025
in •
GIT
environment
bazaar
git
code
changes
version
production
3 min read
I have encountered projects where part of the code was rewritten during the build process so that a separate binary file was generated for each runtime environment. This approach always complicates things unnecessarily and creates the risk of incompatible versions appearing with each installation. At the very least, several almost identical instances of the program are built, each intended for installation in its corresponding environment. Too many moving parts arise, which means more opportunities for error.
Once, I worked in a team where after every property change, it was necessary to save the code and conduct a full build cycle, so the testers were idle every time a minor bug was found (did I mention that the project also took an incredibly long time to build?
...
➦ Durability of temporary solutions
Jan 14, 2025
first
change
solution
solutions
standards
problem
3 min read
Why do we create temporary solutions?
Usually, the culprit is an urgent task. Sometimes, it’s an internal task for developers—to create a missing tool for the development chain. Other times, the task is external, user-oriented, such as a workaround to compensate for missing functionality.
In most systems and teams, you can find a module that somehow stands out in the system. It is considered a draft version, and it will need to be redone later because it does not meet the standards and rules that the rest of the code lives by. You will definitely have to hear developers’ complaints about this. The reasons for the appearance of such code can vary, but the main reason for the emergence of intermediate solutions is their usefulness.
...
➦ Use quantitative criteria
Dec 28, 2024
ms.
system
criteria
time
work
users
3 min read
“Fast” cannot be a requirement. Nor can “having a good response time.” Or, let’s say, “scalable.” The main reason is the lack of objective criteria for meeting such requirements. But users still need these characteristics. The architect’s task is to ensure that the system possesses the necessary qualities and to balance the inevitable contradictions that arise. between them. Without objective criteria, the architect depends on whims the client (“No, I can’t accept the program – it doesn’t work fast enough”) and the developers, obsessed with their compulsions (“No, the program isn’t ready yet – it doesn’t work fast enough”).
Usually, we try to record all such requests, just like any other requirements. But this record often looks like a set of vague epithets: “flexible,” “easy to accompany,” and so on.
...
➦ Satisfy your ambition through Open Source
Dec 19, 2024
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.
...
➦ Your clients mean something different than what they say
Dec 17, 2024
start
clients
need
client
task
project
3 min read
I have yet to meet a client who wouldn’t be happy to tell me what they need – usually down to the smallest details. The problem is that clients don’t always tell the whole truth. Overall, clients don’t lie, but they speak in their own client language, not in the language of developers. They have their own vocabulary and their own context. They leave out important details. They talk as if you have also worked in their company for twenty years. And it is all complicated by the fact that, in reality, clients often don’t know what they need! Some have an understanding of the big picture, but they are rarely able to articulate their vision clearly. For others, the overall picture may be less vivid, but they know what they don’t need.
...
➦