Functional Composition in Javascript

What is ‘functional composition’? Functional composition is when you take two or more functions, and make one a single function out of them. When you compose functions into a single function call, you can start using them as pipelines of specific behavior. These pipelines can then take the result of each function that comprises it, and use it as the argument to the next function in the pipeline. This approach of making a pipeline of functions might seem more cumbersome, but it ends up giving you more flexibility in how you work with your data, while also aiding predictability/readability/testability/etc.

Engineering Roles

Nailing down the roles and responsibilities a company expects from their engineers is one of the most over-looked, but important, areas of a company’s organization. It’s often talked about when hiring or promoting, but rarely at other times. When it is talked about, it’s usually more of a gut feeling by individual stakeholders rather than objective criteria. The conversation usually resembles something like this: Person A: I feel like what I’m looking for in a senior is someone who has a real hacker mentality and isn’t afraid to tackle the difficult problems

Chief Architect

Focuses on understanding the business needs of the company, and translates that into a consistent and forward-thinking vision for the tech team as a whole

Platform Architect

Works closely with the Chief Architect to understand the tech vision for the company, provide feedback based on the platform of their focus, and help others understand and follow the companies tech vision


Work with the architecture team to make sure they have the information they need to make wise choices for the company, work closely with engineers to surface the root of important problems before they become systemic

Lead Engineer

Able to look at the whole project, and figure out how to best implement the vision from the architect team. Helps co-ordinate tasks between engineers so that the technical decisions are consistent throughout the project

Senior Engineer

Able to to do all task, along with helping mentor the junior/mid engineers, and also see past the individual tasks they are given to accomplish the true objectives of the company

Mid Engineer

A capabale engineer that has a good understanding of the necessary technologies and how to accomplish 95% of the tasks given to them.

Junior Engineer

Able to do basic tasks, and is familiar with the necessary technologies, but frequently needs steps explained and laid out for them.

React Context Api

The React context api is a simple messaging system similar in concept to the Publish/Subscribe pattern. It has three main parts you need to implement to use it: Context, Provider, and Consumer Context: the store of value. Also where the Provider and Consumer come from Provider: the publisher/emitter of the value aka the source Consumer: the subscriber/listener for the value to be received to aka the destination What about Redux?