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’ve worked on we’ve read, processed, stored data in S3 in some way. Typically I see lazy attempts at design like the below - where we don’t 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’s 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’re going at a good pace or behind? Having a solid reference to benchmark against can be helpful so I’ve 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’s 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’ll be doing: In this article I’ll show you how to build a GraalVM native-image to be deployed on AWS Lambda to massively decrease your cold start times. What’s 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