Deploy Java Lambda using SAM and Buildkite

I've recently covered how to deploy a Node JS based Lambda using SAM and Buildkite. I would say that this should cover most use cases, since I believe a majority of AWS Lambdas are implemented with JavaScript. However, Lambda supports many more programming languages than just JavaScript and one of the more important ones among … Continue reading Deploy Java Lambda using SAM and Buildkite

Setting up Continuous Deployment with Lerna and Buildkite

Buildkite is a great tool for running multi-step build and deployment pipelines. Lerna is a tool for managing multiple JavaScript packages within one git repository. Given that both Lerna and Buildkite are quite popular, it is surprising how difficult it is to set up a basic build and deployment with these tools. It is very … Continue reading Setting up Continuous Deployment with Lerna and Buildkite

Testing Apollo Client/Server Applications

Following up on the GraphQL, Node.JS and React Monorepo Starter Kit and GraphQL Apollo Starter Kit (Lerna, Node.js), I have now created an extended example which includes facilities to run unit and integration tests using Jest. The code can be found on GitHub: apollo-client-server-tests The following tests are included: React Component Test This tests asserts … Continue reading Testing Apollo Client/Server Applications

GraphQL, Node.JS and React Monorepo Starter Kit

Following the GraphQL Apollo Starter Kit (Lerna, Node.js), I wanted to dig deeper into developing a monorepo for a GraphQL/React client-server application. Unfortunately, things are not as easy as I thought at first. Chiefly the create-react-app template does not appear to work very well with monorepos and local dependencies to other packages. That's why I … Continue reading GraphQL, Node.JS and React Monorepo Starter Kit

GraphQL Apollo Starter Kit (Lerna, Node.js)

In many ways developing in Node.js is very fast and lightweight. However it can also be bewildering at times. Mostly so since for everything there seems to be more than one established way of doing things. Moreover, the right way to do something can change within 3 to 6 months, so best practices documented in … Continue reading GraphQL Apollo Starter Kit (Lerna, Node.js)

Deadlines and Estimates in Agile

Time is a key resource in software development and we need to consider it in two fundamental ways: (1) Total amount of effort measured by time goes into delivering software. (2) Deadlines by which the software needs to be completed. The project management triangle provides the insight that these two elements of time are intertwined. … Continue reading Deadlines and Estimates in Agile