Through the stack / 01-01 (Week 4)
This is "Through the Stack", a weekly list of links relating to topics relevant to Lead developers (actual or aspiring) working with an internet related product.
We split the content in several sections :
- Building : writing software (with a focus on Ruby but we won't limit ourselves to it)
- Making : directly related to Building but more in the soft skills around software such as team lead, team management, methodologies and so on
- Hosting : getting code shipped, deploying code, tools and stacks to deploy and host
- Keeping online : this part is all about monitoring, managing incidents and the likes
Many lead developers, tech lead and staff engineers have their hands in many projects and influence many layers in their organisations. This publication is an aim at sharing thoughts and content that are relevant to such profiles.
If you have comments or content to suggest please reach out to us by email through-the-stack@imfiny.com .
Edito
This is a first, at least this year. I have shared similar posts with friends and colleagues over the years in the past. Now, I am seeing a bigger need for reading, sharing and exchanging about all those topics with peers.
This week it's mostly high altitude but with some quite crunchy bits :
- Hexagonal architecture at Netflix
- Hg-Git
- Accountability and decentralization in teams
- Some great nuggets for people relying on AWS
Building
This week : no Ruby (told you so) as we stay mostly focused on some methodologies and approaches.
Software engineering
- The netflix tech blog is a great source of content to learn. Following a request by one of my current teammate I stumbled upon this nice nugget that covers Hexagonal Architecture from a high level and practical level : https://netflixtechblog.com/ready-for-changes-with-hexagonal-architecture-b315ec967749
- Alongside the above link I stumbled upon "Contract testing" which is a good name and approach to describe how to test third party API for example : https://docs.pact.io/#what-is-contract-testing
- Laurent Baumann @lobau shares a couple of great nuggets of design rules through a small thread on twitter : https://twitter.com/lobau/status/1486578799835639809 ; handy to keep in mind when creating content and you are not an experienced designer
Others
- Hg-git is getting close to a v1.0 (https://twitter.com/MercurialScm/status/1486638943982530564) which prompts me to direct you to Heptapod (https://heptapod.net/) and their efforts to bring gitlab to the mercurial masses
Making
This part is about how we work : on our own or with others.
- I have been reading a bit on the #noestimates topic usually Twitter@allenholub is my main source of food for thoughts on the topic but this week https://twitter.com/WoodyZuill/status/1486410684909125633 was the nugget that got me thinking for a bit
- Being a remote worker for a while now I am always interested to hear how teams around the world are doing it. LeadDev published an interesting piece about twitter teams in Singapore : https://leaddev.com/managing-distributed-teams/how-twitter-built-decentralized-engineering-organization-singapore
- But I also found an interesting piece on "Accountability" : https://leaddev.com/culture-engagement-motivation/fostering-culture-accountability worth a read
After years working with different teams with Agile methodologies and remotely those articles are a great to reflect on our practices and how we can try out different things with our teams. Remember : being agile is about refining our ways again and again so we work better together.
Hosting
Infrastructure
- A first announcement from AWS : Guard Duty is improving and adding a way to detect ec2 credential exfiltration : https://aws.amazon.com/blogs/aws/amazon-guardduty-enhances-detection-of-ec2-instance-credential-exfiltration/ . This is a great feature : EC2 instances can inherit rights from their role and code on those instances can extract credentials and reuse them, but also ... exfiltrate them. So, GuardDuty will now be able to tell you if another account on AWS is using credentials that come from your EC2 instances. Neat.
- A second one that is also quite interesting. AWS EFS is a way to share data (as a file system) between EC2 instances, lambdas and other things. You can now replicate EFS volume so that if the primary version of it fails you can jump to its clone : https://aws.amazon.com/blogs/aws/new-replication-for-amazon-elastic-file-system-efs/
- What are indexes in a database ? A question many of use aren't sure how to answer so here is a post to refresh our minds on the topic : https://blog.crunchydata.com/blog/postgres-indexes-for-newbies
Keeping online
Monitoring
- AWS RDS is a great solution to host your PostgreSQL instances. AWS Cloudwatch is also a great way to monitor AWS resources. This post covers what and how to monitor RDS instances in Cloudwatch : https://aws.amazon.com/blogs/database/create-an-amazon-cloudwatch-dashboard-to-monitor-amazon-rds-for-postgresql-and-amazon-aurora-postgresql/ . It also covers Amazon Aurora Postgresql instances.
About Imfiny
We are a small studio specialized in helping companies level up their teams and scale up their product. We work through the whole stack : software engineering, infrastructure and, also, team management and technical culture.
You can read more about our work on blog.imfiny.com and https://www.imfiny.com/ .
You can find our courses on https://learn.imfiny.com/ .