After spending the last couple of years in Vue.js land I’ve got used to its inter-component communication paradigms. Now working on a side-project and building a Blazor app I find myself looking for the same tools I’ve practiced for a while.
One of the simplest approaches in Vue.js for parent-child component communication is the “props-down & events-up” pattern. You can read more about it in my previous article.
Without a surprise, it was easy to adapt existing knowledge and implement this pattern also in Blazor. In this article, I will show you how to extend the
Sometimes people in the tech industry assume that being lean means deliver software fast, even in cases the requirements they provide to the team and engineers are way too obscure.
Delivering fast and cheap, delivering an MVP with buggy security and privacy, delivering half baked solutions, etc. is not lean.
Lean starts from planning which predicts that a product and feature could be developed and released iteratively and in a resource-efficient way. Moreover, each iteration must add value to the product and benefit the customer.
The release of the iteration must provide the stakeholders with additional data and feedback that might adjust the plans of future iterations. …
In today’s, competitive world companies who strive and those who flop are determined by the execution of its people and teams. Working in a software development field for a decent time I’ve been a part of various teams with notably different performances. And since I’ve been put in a Team Lead role the question of how to establish a high-performance team and how to measure the performance has been one of my daily focus. This article is a summary of our team’s findings and current approach which I hope might be helpful to others too.
Monitoring the performance just for the monitoring sake is a waste of effort and time. Also monitoring some vanity metrics to determine the team’s and individual contributors’ gratuities is a bad idea too which might lead to low-quality value for the customer. …
We held the first Tech Stash by Mintos event on January 23, 2020 in the Mintos head office in Riga, launching our meetup series with one hundred guests from tech companies working in our ecosystem. I spoke about going from the monolith to distributed monolith, and here is a short study of our case.
In the second half of the year 2019, our engineering team was starting a project which would introduce significant change in our core system.
And by Conway’s law
“organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations.”
these changes should inevitably affect also other engineering teams in our organisation because a change in a core system of the business cannot happen without changing the way teams communicate and collaborate when working on the system.
This brings us to the point of how do we ensure that the other teams are aware of the upcoming changes. Our first approach was holding periodical meetings where we introduced how the system will change and how this would affect the engineering processes and everyday work. …
Monitoring a running nodejs application in production is a critical activity which allows detecting applications performance degradation automatically without manually testing and looking at it.
Besides monitoring only the total memory utilisation, the monitoring of Garbage Collection performance over time can expose more information about a potential problem in the application which can lead to a memory leak.
Running a node app with the --trace_gc flag will write GC information to the logs at every GC event. Following is the output after running an example app, e.g.
node --trace_gc app.js
This will sound very opinionated which is true. But in my brief career as a team lead I find this question the most important on the regular 1-on-1 meetings with my team. The question I ask is
What do you want?
It might not sound precisely like this but paraphrasing the question the main goal is to understand what motivates people to do their best work.
Motivation is a powerful and intrinsic tool which allows people to thrive at what they do. And motivation is not fixed. It changes as time pass and at the moment of the 1-on-1 meeting it might be different as it was when the employee was going through the interview process to land a job with your company. …
When developing a Vue app in one large file we have the advantage of having the whole application state in one place — in data object on Vue components instance. As soon we start to modularize the application by splitting it into child components we face the challenge of state management between the parent and child, and between sibling components.
In my previous articles, I’ve explained one of the solutions to this challenge — an EventBus pattern. Even though EventBus is quite simple to set up and start to use I find it fits better to more complex applications. …
As an individual contributor to software development, I used to feel effective and useful in delivering software solutions. This changed with the change of the role and lead to many weeks of redefining the purpose and focus of my everyday work.
Suddenly my technical skills felt less useful. And the lack of people skills and management experience became more obvious. …
Nowadays it's hard to find a website or web application which doesn't use few or more SVG icons in its UI. A common approach is to use the <img> tag providing the source of the icon image or icon fonts.
Whenever using the <img> tag and there's a need to change the color of the icon we have to change the value of src attribute which results in a new request.
On the other hand, when icon fonts are used, all it takes is to change the CSS color property of an element. …