RSSAmplifier

Blog

Mina Andrawos

Thoughts on software engineering, and life

minaandrawos.comRSS feed ↗10 posts

Latest posts

Availability in Distributed Systems

In a typical distributed software environment, besides latency, a key metric that correlates well with the health of the business is what is known as “availability”. Availability is usually measured by the percentage of time the software is not down (i.e.: available). Availability is vital to modern software organizations. ‘High availability’, or HA for short, is a term commonly used by software…

Distributed Software Systems at scale

One of the most potent skills a senior engineer can possess in modern software engineering orgs is the ability to navigate distributed software systems at a global scale. Designing, constructing, and maintaining such systems can be an immensely challenging yet profoundly satisfying intellectual exercise. For some of the top players in the industry, like Google or Meta/Facebook, the…

Well Oiled Engineering Teams

In 1965, a brilliant psychological researcher, Bruce Tuckman, came up with what became known as Tuckman stages of group development. These stages describe the distinct phases that a group working together, or in other word a team, goes through as they get more effective over time. The phases (or stages) are Forming, Storming, Norming and Performing. Each stage exactly reflects what it’s name…

Thoughts on managing engineering teams

Below are some thoughts that I put together in my journey to learn how to become a better manager of engineers. The learning journey continues. Photo by fauxels on Pexels.com There are three main areas that need focus: Vision, strategy execution People Alignment Vision, strategy execution You must have a vision of where you would like the team to go. A team needs to have long term goals that fit…

Outside the box

For most of my career, I was advised to “think outside the box”. It’s a fun concept, a cute idea really! It’s a popular piece of advice, especially in the Silicon Valley culture, where I currently belong. The thing is though, I don’t really think the majority of us understand what the “box” is, let alone what thinking outside of it looks like! I don’t claim to fully understand it myself either. If…

The Golang News mobile app

tl;dr I wrote a Golang news aggregator mobile app, I open sourced it . If you use Android, you can get the app . It is no secret that I am a huge fan of the Go language! Go has proved to be a very reliable partner in my projects, whether the project in question is personal or professional. One of my favorite sources of up to date news about Go, is a website called golang news , which I have been…

My first book journey

Coding is a passion for many software developers. A lot of us do it because we simply like it, not because it pays for fancy steak dinners, or make our loved ones proud. But why do we like it? From my own experience, the reason for that passion is different from one developer to another. It’s about what makes you ‘tick’. For some developers, they enjoy the logical constructs that work together to…

Practical thoughts on HMIs and industrial software environments

Welcome again to the world of industrial software. This article is a collection of thoughts to provide practical exposure into the concept of HMIs, and why they are important. We will also cover important concepts that apply to the data performance of industrial software in general. The article will first go through the basic concepts around HMIs, their use cases, and how they work. From there,…

Introducing Mastering Golang Programming

For the past year, I had worked really hard with Packt publishing on building an advanced video course about the Go language called “ Mastering Go Programming “. Mastering Golang Programming is an extensive video course on the world of the Go language. The Go programming language is considered by many as a phenomenal disruptive technology despite it’s young age. A game changer when it comes to…

Practical thoughts on industrial OPC

Industrial OPC is a vital, yet relatively small component in a SCADA system. This is because OPC is typically responsible for the software communication aspect between a piece of industrial software, and a monitoring or control device (sensors, PLCs..etc). It may not be as complex as analysis algorithms embedded in data historians , or as fancy as visuals reflected on HMI screens . However,…