Do not be afraid to break something
Dec 14, 2024
system
code
project
structure
work
2 min read
Everyone who has worked in our industry has surely encountered a project, code which caused concern. The parts of such a system are highly interconnected, and for some reason, changing the code of one function leads to the complete failure of the system. another. When adding a new module, one has to limit changes to a minimum and hold their breath, waiting for the consequences. It’s like playing Jenga with the floors of a skyscraper – it inevitably leads to disaster.
Making changes is so nerve-wracking only because the system is sick. It needs treatment, otherwise its condition will only worsen. You know the flaws in the system, but you are afraid to take decisive action. An experienced surgeon knows that it is necessary to make incisions to perform the surgery, but he also knows that the incisions are temporary and will heal afterward.
...
➦ Take responsibility for your build and its refactoring
Dec 05, 2024
code
study
process
assembly
scripts
application
3 min read
It is not so rare for teams, which generally discipline themselves to follow good coding practices, to treat build scripts with disdain. They are considered either insignificant or so complex that only a sect of release engineers can maintain them. If build scripts are difficult to maintain, contain duplication and errors, it leads to problems of the same scale as poorly designed code.
Why do responsible and competent developers consider project assembly to be a somewhat secondary task? One explanation is that assembly scripts are often written in a different language than the source code. Another is that assembly scripts are not considered “code.” Such explanations are contradictory, as most developers are eager to learn new languages, and it is the assembly process that produces executable modules which developers and end users will test and run.
...
➦ The drama of hype technologies, customer needs, and pangs of conscience
Dec 02, 2024
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.
...
➦ Enterprise interview
Dec 01, 2024
in •
BPMN
•
CANADIAN
•
CARLEONE
•
DFD
•
GITHUB
•
GOOGLE
•
LACK
•
NAC
•
PR
•
PYTHON
•
RECRUITING
•
SKYTRAIN
•
SURE
•
USECASE
•
UTC
recruiter
google
skytrain
friday
utc
monday
calendar
code
screening
time
hour
sparkling
python
github
ram
b.
architecture
system
bpmn
kafka
it
facebook
don carleone
middle
undoubtedly
june
july
linux
udemy
advice
stay
quater
interview
interviews
10 min read
I would want to share some insights from my recent return to interviewing. This episode covers employment process design and screening in large organizations.
Examining Tech-screening then takes off like wildfire. The recruiter checks in with Sparkling and asks a ton of questions during the first call. As an example:
-How is it possible to halt the container? The original data types in Python? What is the PID of the Linux kernel? How are PACELC and CAP understood?
-… Some even go so far as to use tiny executable pieces of code to create an entire platform. Twenty queries in twenty minutes. “How do I send a message to the generator?” Or even “What does this code do?” He knows that the code is so strange that I wouldn’t just ignore it in a review.
...
➦ Do not rely on miracles
Nov 26, 2024
in •
COBOL
grace hopper
cobol
dll
magic
work
project
need
programmers
3 min read
If you look at any activity, process, or discipline with sufficient long distance, everything seems simple. Managers who have no experience software development, believe that the work of a programmer is simple, and programmers who have no management experience feel the same way about the work of a manager.
Programming is a certain activity that some people spend some of their time on. And the most difficult part of the work—the thought process—is the least noticeable and the least appreciated by the uninitiated. For decades, attempts have been made to eliminate the need for skilled thinking personnel. One of the earliest and most memorable attempts was Grace Hopper’s efforts to make programming languages less mysterious. Thanks to this, as some predicted, the need for narrowly specialized programmers may disappear.
...
➦ Incredible, but testers are your friends
Nov 25, 2024
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 golden rule of API design
Nov 23, 2024
in •
API
•
C#
•
JAVA
designing
api
java
code
testing
users
method
tests
3 min read
Designing application programming interfaces (APIs) is difficult, especially in the general case. When developing an API that will have hundreds or thousands of users, you need to consider that over time it will most likely need to be changed, and these changes can disrupt the functioning of the client code. Moreover, you need to consider the potential impact on your API from its users. If the API class calls its own method, it should be remembered that the user is capable of creating a subclass of your class and overriding this method, which can lead to disaster. And you won’t be able to change this method because some of your users have given it a different meaning. You become dependent on your users when it comes to choosing the internal implementation.
...
➦ You are negotiating
Nov 22, 2024
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.
...
➦ Program in pairs and get into the flow
Nov 19, 2024
new
team
pair
programming
flow
state
4 min read
Imagine that you are completely absorbed in your work: focused, passionate, and busy. You have lost track of time. You are happy. You are in a state of flow. On a larger scale, it is difficult for an entire team of developers to achieve and maintain a state of flow due to numerous interruptions, distractions, and other obstacles that can easily disrupt it.
If you have already participated in pair programming, you probably know how it contributes to achieving a state of flow. If not, we want to share our experience to encourage you to start pair programming immediately! For pair programming to be successful, some effort is required from individual team members and the entire team as a whole.
Being part of a team, show patience towards less experienced developers.
...
➦ Learn foreign languages
Nov 02, 2024
charlemagne
language
programmers
languages
machine
ideas
3 min read
Programmers need to communicate. And communicate a lot.
In a programmer’s life, there are periods when communication mainly occurs with the computer—more precisely, with the programs running on it. This communication is based on expressing ideas in a form understandable to the machine. The ability to turn ideas into reality through programs and with almost no use of physical matter still evokes delight.
A programmer must be fluent in machine language—real or virtual—and the abstractions that can be linked to this language using developer tools. It is important to know many different abstractions; otherwise, some ideas are very difficult to express. A good programmer should be able to go beyond everyday routines and recognize that there are other languages that are more expressive for other tasks.
...
➦