It’s been a while since we have put a pause button on our weekly review of insightful tech articles, probably due to the overload of project works. Nevertheless, here we go again on a mission to find, review and deliver to you weekly highly valuable content for engineering leaders and software developers.
Why are we doing it?
-
Sharing knowledge is crucial in developing tech skills and we do care.
-
To help engineering leaders find out solutions they need to make evidence-based decisions in their software projects.
-
We strongly believe in the power of self-education, always striving to learn new things and strengthen ourselves, 1% at a time
-
There are tons of great tech content online that deserve more spotlight and we are about to give credit where it’s due
Building up a roadmap for this series, I have run a LinkedIn survey to ask CTOs and engineering managers about their key challenges in already difficult enough 2020 and beyond.
Here’s what they said:
![](/app/uploads/2024/05/software-development-engineering.png)
Without further ado, let me invite you for the 1st episode of TheCodestReview with guest contribution from our CTO, Head of Development and Frontend Lead covering below topics:
“Your system has a bottleneck. Somewhere!” – when we fight to improve the performance of the application, we forget about the key limitations in the system, maybe they are not the most popular elements of the application, but they may have a negative effect on the rest and scaling may not help us here.
“Monitoring is fundamental for scalable systems” – we cannot be blind in our business and better for us to know about the problem before we are informed about it by users or our CEO. Monitoring is the key to reliability.
“The data tier is the hardest to scale” – The database is the heart of our application and, like every heart, it is difficult to cut it without affecting our venous system therefore it is often our bottleneck. On the other hand, the longer we are on the market, the more data we process and the more difficult it is to maintain the expected performance.
In the mentioned article, the author highlights some specific aspects of high-performance application architecture. Over the years, we have learned to use solutions such as AWS or Azure, but even the best cloud does not protect us from ourselves. When creating an application, we do not focus on solving problems that are absent, foreseeing them upfront. Therefore we encounter a lot of problems later when our application grows. The author of the article provides us with many valuable tips on where to look for optimization, what is the biggest problem and how it affects your application. Putting my many years of experience in the industry at stake, I fully agree with Ian. I would also like to add that the advice provided in the article applies to every application we maintain. Implementing these guidelines will bring benefits to the project at the level of its reliability and predictability, which is an important feature for business growth.
– Commonly used performance measures are not strictly technical
– The speed of software delivery is measurable, but the used indicators should be properly interpreted for the optimization to get the desired effect
– The most effective team is a well-coordinated and well-connected team – engineering leaders should understand the problems and motivations of developers and vice versa to achieve healthy and synergic effects.
Juan Pablo Buritica has raised a topic that still seems to be niche. People managing IT projects often adopt some efficiency measures (such as the basic burndown chart in JIRA), but they are still not closely correlated with the deliveries of code parts to optimize the software delivery process based on them. Usually, optimization concerns the distribution of tasks and communication within the team, but it is rare to track strictly technical indicators that the author mentions, e.g. ‘time to merge’. In the era of GitHub web hooks and task management systems open to integration, this type of approach becomes relatively easy to apply – data is at your fingertips, you just need to reach for it and process it the right way.
The author rightly points to the fact that the statistics he describes can quickly turn against the development team, but this only happens when the management staff does not fully understand the specifics of the programmer’s work. Therefore, it is important for PM or PO to be technically savvy and able to sense what is behind individual tasks in the system.
In the era of a pandemic where a large number of employees have switched to remote work setup, we must pay even more attention to the security of our data. A good example is the situation quoted by Dan where users use the same or very similar passwords everywhere and are not aware of the danger that is associated with it.
If you use the same passwords in many places, it may happen that one of the sites will have “security problems”, the database will leak to the Internet or just someone will watch you type one password that accidentally opens all your doors. In my opinion all the online services should educate you about the danger associated with entering the same password during your sign up process.
Single Sing On (SSO) or using password managers as One Identity or LastPass are highly useful to keep the basic online hygiene and security standards, protecting our employees and workplaces from vulnerabilities and digital threats.
Do you educate your employees about mindful password management?
Thanks for reading till the end and stay tuned for the next episode coming soon!