Give developers their own space Sep 02, 2024 api developers architect work system design
2 min read

Nearly all architects begin their professional lives as developers. Although the architect has more duties, he also has more say over how the system is designed. It will be hard for you to give up some of your programming habits in your new work as an architect. Even worse, you might think that in order to put your concept into practice, you have to keep an eye on the developers and everything they do. But it’s critical for your success—as well as the success of your team—to provide each of your coworkers with enough autonomy to showcase their abilities and originality. It is rare for a developer to have time to sit down and consider the overall coherence of the system. The architect should give this their whole attention at the same time.
...
Time changes everything Sep 01, 2024 in • DUDE
wise first easy dude time assignment look solutions lot
3 min read

Seeing what has survived and what hasn’t has long been one of my favorite vivid forms of amusement. There were a plethora of patterns, infrastructures, paradigm shifts, and algorithms. Wise people debated them fervently, considered long-term views, and attempted to strike a balance between all the known components, but in the end, they came to naught. Why? What is the past attempting to teach us? Pick a noble assignment For a software architect, this is highly challenging. We receive assignments and issues from the client, so we really don’t have a choice, do we? It’s not really that easy. First of all, we frequently make the error of thinking that we have little power over what the customer desires. But it’s typically possible to just step outside of your comfort zone when it comes to technology.
...
Continuous learning Aug 31, 2024 development twitter google journeyman master delve neo matrix technologies technology group subject code online
4 min read

We live in interesting times. Development is distributed all over the world, and it turns out that many people are capable of doing your job. To remain competitive in the labor market, you need to continuously learn. Otherwise, you will turn into a dinosaur stuck in your job until one fine day it turns out that you are no longer needed, or that your job has been given to someone who is willing to do it for less. How to solve this problem? Some employers are generous and organize training to develop already hired programmers. Others simply cannot afford to allocate time or resources for this. The most reliable solution is to take care of your own education. Here is a list of ways to continue learning.
...
Architectural compromises Aug 27, 2024 in • ATAMCBAMCOSTCOST BENEFITCOST BENEFIT ANALYSIS METHODINSTITUTEITALIANITALYMETHODPOLANDSWEDENSWEDISHVAZA
vaza sweden poland king time soa atam architecture tradeoff benefit analysis metod sei software engineering institute architecture software ship ships swedish king italy benefit analysis method cbam
2 min read

An architecture cannot accomplish high security, high availability, high abstraction, and high performance all at once. All that software architects need to do is know, understand, and relate one real narrative to their peers and clients. I am speaking of Vaza’s history. In 1620, there was a war between Sweden and Poland. An attempt was made to bring this expensive war to an early end by the Swedish King by ordering the construction of a galleon known as the vase. The ship was not like the others. It was unlike any other ship of the time in its features. It had to be longer than sixty meters in order to safely convey 300 men at a time to Poland while also carrying 64 weapons on two battery decks.
...
Writing code in the spirit of Ubuntu for the friends Aug 25, 2024 in • UBUNTU
zulu ubuntu code moment quality person
3 min read

Very often we program in isolation, and our programs reflect both our personal interpretation of the problem and a very personal solution to it. We can work in a team, but even then we are isolated as a team. We easily forget that the code created in such isolation will be executed, used, and extended by other people. It’s easy to overlook the social aspect of programming. Creating software is both a technical and a social endeavor. We should look around more often to understand that we do not work in isolation and that we share a common responsibility for the potential success not only of the group of developers but also of every person around us. It is possible to write high-quality code in isolation from reality, completely detached.
...
Do not be afraid to break something Aug 21, 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.
...
Simplicity is achieved through reduction Aug 18, 2024 stefan extra code line algorithm variables start
2 min read

“Do it again…” my boss said, firmly holding down the Delete key with his finger. With familiar sorrow, I watched the screen where my code was irrevocably disappearing, line by line. My boss Stefan wasn’t particularly eloquent, but he could spot bad code at first glance. And he knew exactly what to do with it. I took that job as someone learning programming – full of energy and enthusiasm, but with no idea how to write code. I was under the terrible delusion that any problems could be solved by adding another variable in the appropriate place or by adding another line of code. On bad days, my code would degrade—its logic wouldn’t improve, and moreover, it would become bulkier, more complex, and more unstable.
...
Beauty is the result of simplicity Aug 12, 2024 plato development first code beauty simplicity system methods
2 min read

Plato has one saying that, it seems to me, would be especially useful for all software developers to know and take to heart: The beauty of style, harmony, elegance, and good rhythm are based on simplicity. This single sentence embodies the values that we, as developers, should admire. There are a number of things we aim to achieve in our code: Readability - Ease of maintenance - Development speed - Elusive beauty Plato tells us that all these qualities are possible only thanks to simplicity. What is beautiful code? This is probably a very subjective question. The perception of beauty is heavily dependent on personal experience, just as our perception of anything else is. Those who have studied art perceive beauty differently (at least approach it differently) than those with a technical education.
...
The myth of the guru Aug 11, 2024 in • GURUS
guru people myth context questions
3 min read

Everyone who has been working in the computer industry for a long time has had to hear questions like: I am getting an XYZ exception. Do you know what the problem is? Those who ask such questions rarely bother to show the stack trace, application log, or provide any context that would help understand the problem. Apparently, they think you operate on some other plane where solutions are revealed to you without any analysis of the facts. They consider you a guru. We expect such questions from people who are not familiar with software, from those for whom the system’s operation seems almost magical. What worries me is that we encounter this even within the programming community. Similar questions arise during software design, for example: “I am writing an application for warehouse management.
...
Write code wisely Jul 31, 2024 below devil code fragments proof function correctness
3 min read

Attempts to prove the correctness of software manually lead to a formal proof that is longer than the code itself and contains errors more frequently than the code. It is preferable to use automated tools, but this is not always possible. Below, a middle ground is described: semi-formal proof of correctness. The method is based on dividing the code under investigation into short fragments ranging from a single line, which may contain a function call, to blocks no longer than 10 lines, and discussing their correctness. The proof must be convincing enough for your colleague playing the role of the “devil’s advocate.” Fragments should be chosen in such a way that at the end point of the block, the program state (namely, the instruction address counter and the values of all “live” objects) satisfies a property that is simple to describe, and the functionality of this fragment (state transformation) can be easily described as a single independent task.
...