Time changes everything Jun 22, 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.
...
Thinking about performance is never too early Jun 03, 2024 first performance system testing requirements issues
3 min read

The needs of business application users manifest primarily in the functional requirements. Non-functional aspects of the system (such as performance, flexibility, uptime, support needs, etc.) are the responsibility of the architect. When this preliminary testing of non-functional requirements is often postponed until a very late stage of the development cycle, and sometimes fully delegated to the team servicing the system. This error occurs much more often than it should. At its core, it can there are various reasons. Concern for the speed and flexibility of a program that still doesn’t properly perform the required function may seem pointless. The test environments and the tests themselves are quite complex. It’s possible that early working versions of the system won’t be subjected to realistic loads. due to insufficient use.
...
Warning - Common code ownership May 30, 2024 study code context dependencies parts number
2 min read

My first project in the company. I just defended my thesis, and I’m eager to prove myself, so I stay late at work and thoroughly study the existing code. Working on my first task, I apply everything I’ve been taught: comments, event logs, extracting common code into libraries (where possible), all that stuff. I feel completely ready for code review, but my colleagues seem to pour cold water on me: I get criticized for code reuse! How so? During my university studies, code reuse was hailed as one of the best practices in software development. All the articles and textbooks I read, guided by experienced professional programmers—were they all wrong? It turns out, I overlooked something very important. Context. The fact that two directly unrelated parts of the system use the same logic means less than I thought.
...
Creating architecture as the art of balance May 29, 2024 match first product priorities software organization development
3 min read

Match the interests of the parties with the technical requirements. When it comes to software architecture development, First and foremost, we envision classic technical operations: breaking the system into modules, defining interfaces, distributing responsibilities, applying templates, and optimizing performance. In addition, the architect must consider a number of other aspects, including issues of security, ease of use, maintainability, release management, deployment parameter selection, etc. But all the listed technical and procedural aspects must be aligned with the needs of stakeholders. Taking these interests into account when analyzing requirements is an excellent way to ensure the completeness of the specifications for the requirements of the product being developed. All parties involved in the project have interests that affect both the software development process adopted in the organization and the organization as a whole.
...
Apply the principles of functional programming May 22, 2024 programming transparency paradigm objects functions
3 min read

Functional programming has recently regained the attention of the majority in the programming community, partly because the emergent properties of the functional paradigm resonate with solving the challenges arising in our industry due to the increasing importance of multi-core architectures. And although this application is undoubtedly important, it is not the main reason for my urging to learn functional programming. By mastering the functional programming paradigm, a programmer can significantly improve the quality of code produced in other contexts. A deep understanding of the functional programming paradigm and its practical application will help you design systems with a much higher degree of referential transparency. Referential transparency is a highly desirable quality: it implies that functions consistently produce the same results for the same input data regardless of the place and time of calling these functions.
...
Only the code will tell the truth May 20, 2024 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 need to take care of the code May 14, 2024 sherlock holmes enjoy code programmers work programmer programming
3 min read

You don’t need to be Sherlock Holmes to understand that good programmers write good code. Well, the bad ones don’t. They create ugly things that everyone else has to clean up. But you want to write good code, right? Then you need to strive to become a good programmer. Good code doesn’t just appear out of nowhere. Its emergence is not caused by the favorable alignment of the planets. To make the code good, you need to work on it, and quite a bit. You will create good code only when you truly strive for it. Good programming is not the result of mere technical competence. I have encountered very smart programmers who are capable of creating strong and impressive algorithms, know the standards of their language perfectly, and yet write completely terrible code.
...
Give developers their own space May 08, 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.
...
Writing code in the spirit of Ubuntu for the friends May 06, 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.
...
Keep everything in version control May 05, 2024 store subversion git mercurial cvs life version project code repository system
3 min read

Store everything related to any of your projects in a version control system. The necessary resources are already available: free tools like Subversion, Git, Mercurial, and CVS, ample disk space, cheap and powerful servers, ubiquitous Internet access, and even project hosting services. Once you have installed the version control system, saving your work in the repository is very simple: just execute the corresponding command in the clean directory with the code. And you only need to master two new basic operations: committing (commit) changes you made in the code to the repository, and updating (update) your working version of the project to the one in the repository. Once the project is placed in the version control system, you can easily view its history, find out who wrote each piece of code, and refer to a specific version of a file or project using a unique identifier.
...