5 traits of a successful engineering leader

5 traits of a successful Engineering leader
Photo by rob walsh on Unsplash

My experience has taught me how - in technology but also I suspect in other fields - companies tend to spend very little time defining important senior positions in terms of responsibilities, expectations and deliverables.

And yet, defining a simple but exhaustive list of the most common traits of successful leaders in technology isn’t actually that hard.

Engineering persona

Engineering persona - what good looks like
Photo by KOBU Agency on Unsplash

I need to admit I always enjoy interviewing candidates for software engineering positions: there is a unique power that comes with choosing the right people, bringing them into a team and observing how the best individuals can really make the difference.

While I have been relatively lucky in my hiring endeavour, it always somehow bothered me that I didn’t know why it worked the way it did.

System Design primer

System Design primer
Photo by Sven Mieke on Unsplash

System design interviews are becoming more and more common among top tier software companies inside and outside Silicon Valley.

Given that highly scalable systems are one of my areas of interest, in the last few months I had the opportunity to review what preparation material is available online - videos, tutorials and blog posts.

Not surprisingly, a lot of free and paid material is indeed available.

The top 5 mistakes of non tech co founders

The top 5 mistakes of non tech co founders

Throughout my career and especially In the last few years I had the opportunity to offer advice to tens of technology startups at different stages of maturity.

After having similar conversations with multiple people on the same topics I have decided to do a write up of the top 5 mistakes every non tech cofounder makes while trying to start a technology company.

The magic of well run 1:1s

Agile and software delivery

My personal experience as an IT professional has always been that 1:1s often got deprioritized, continuously rescheduled for weeks or sometimes months, and when they did happen they were mostly used as opportunities to provide unidirectional top down updates.

As I have discovered relatively late in my career, 1:1s are instead by far the most important meetings as a manager.

Agile and software delivery

Agile and software delivery

Making software is hard and it’s been the case ever since the IT industry came about after WWII.

It comes with no surprise that people have continuously tried to come up with sets of rules and processes that would reduce the traditional risk associated with software development projects and increase speed of delivery and predictability.

Attracting the best

Attracting the best

The war for talent is here, in every field of business but especially within the software development space.

Over time I have experienced first hand how software engineering is a truly inventive profession with proven benefits associated with hiring top performers.

While the demand for software engineers is at all time highs and it’s quite hard to find great people - increasingly the problem is getting the right candidates - when you find them - to accept your offer.

Nginx by examples: naxsi waf

Naxsi is an open source WAF module developed by NBS System and released under GPL v3.

In the past a nginx-naxsi standard Ubuntu package was available from the official repositories. Unfortunately this package is no longer maintained so we must now rebuild Nginx from source to use Naxsi.

Nginx by examples: DOS protection

If your web server is directly exposed to internet traffic it’s always a good idea to have some sort of Denial of Service protection enabled.

Nginx alone cannot protect from more complex and Distributed DOS attacks (that would require a CDN) but this is no reason for not having some basic protection in place, which is also very easy to setup.

Nginx by examples: caching

Nginx offers out of the box very efficient caching support where

  • the cache index is stored in a memory mapped files
  • all cache files reside on the filesystem.

Nginx by examples: the basics

Nginx is a very popular http server/rev proxy and can be used in multiple configurations. Knowing how to configure it can literally save your day!

Gentle backups with mysql

More often than not we are required to make backups of mysql databases running in production.

If the db size is small there are relatively little problems. Once the database starts growing in size the risk is stealing resources away from your app and hence impact on customer experience.