Hello! 馃憢

I’m Alex. Welcome to my blog. I write mainly about software engineering but also other cool things.

Abstracting Away AWS S3 using Object-Oriented Design

I love thinking of abstraction. By separating the concerns of data access and business logic, we are able to make changes to one without affecting the other. In many of my data engineering applications I鈥檝e worked on we鈥檝e read, processed, stored data in S3 in some way. Typically I see lazy attempts at design like the below - where we don鈥檛 hide away S3 at all. public class S3Service { private final S3BucketRepository s3BucketRepository; public S3Service(S3BucketRepository s3BucketRepository) { this....

March 15, 2023 路 5 min 路 Alex

Frontend Tech Stack 2023

After examining many job openings and frontend development trends here are some short and brief notes on what I think some good skills to have for 2023 will be for frontend development Creating a design system or component library Web3 frontend stack web3.js, ethers.js TypeScript + React Next.js GraphQL/REST/gRPC Experience with static page generation / server side rendering Golang or Nodejs backend experience for fullstack

March 14, 2023 路 1 min 路 Alex

Gitlab Reusable Pipeline

creating a reusable pipeline can be very beneficial to reduce duplicate code and also to standardize across other pipelines in the same project or across other projects. For let鈥檚 start by defining the reusable pipeline Create a new pipeline pipeline.yml variables: VAR1: "" VAR2: "" VAR3: "" stages: - stage1 - stage2 - stage3 job_1: stage: stage1 image: name: some-image variables: SOME_VARIABLE_1: "$VAR1" script: - echo 'Do something with $SOME_VARIABLE_1 like validate/lint ' job_2: stage: stage2 image: name: some-image variables: SOME_VARIABLE_2: "$VAR2" script: - echo 'Do something with $SOME_VARIABLE_2 like build/test' job_3: stage: stage3 image: name: some-image variables: SOME_VARIABLE_3: "$VAR3" script: - echo 'Do something with $SOME_VARIABLE_3 like deploy to specfic environment based on the input variable' Use The pipeline ....

May 10, 2022 路 2 min 路 Alex

Benchmarking Code Review SLAs

Have you ever wondered if your teams code reviews are in line with industry standards? Do you sometimes not know if you鈥檙e going at a good pace or behind? Having a solid reference to benchmark against can be helpful so I鈥檝e gone ahead and done some research and summarized key findings here that I thought might be useful to reference and ponder on. Review Frequency and Speed Google Median 4 MRs per week [1] 80 % reviewers review < 10 MR鈥檚 per week [1] Time to get initial Initial feedback on an MR/PR: Google...

January 15, 2022 路 3 min 路 Alex

Beating Java AWS Lambda Cold Starts With GraalVM Native Image and Quarkus

What we鈥檒l be doing: In this article I鈥檒l show you how to build a GraalVM native-image to be deployed on AWS Lambda to massively decrease your cold start times. What鈥檚 the result? Java AWS Lambda Function with near 200 milliseconds cold start. Some of the instructions for this article came from following instructions from Quarkus here - however this article explains the steps I needed to take to get working and hope it helps you too....

May 21, 2021 路 5 min 路 Alex