Since the last time I worked with Javascript the landscape, environment and community have greatly evolved - technology never sleeps. With a plethora of frameworks, package managers, tools and language features which enhance our ability to deliver customer value fast I decided it was time I went full stack.

Getting Things Done

Following David Allens Getting Things Done methodology I have been capturing resources, which I document using markdown, to get a high-level view of the landscape which I have so far collected:

  • Frameworks
    • React
      • Redux
      • Router
      • Styling - Material UI/Bootstrap
      • Thunk
    • Vue.js
    • Next.js - React Framework
  • Content Management
  • Testing
    • JEST Framework
    • Jasmine BDD
    • Nightwatch - end-to-end testing
  • Axios HTTP client
  • Package Management with Yarn
  • Task Runners with gulp and grunt
  • CSS Modules
  • Asset Bundling with webpack

Clarification

Within 'Getting Things Done' framework the step of clarification is similar to prioritising with an agile mindset - does the framework, library or test tooling deliver an increment towards a measurable goal? If so, and it is of benefit in the long run, we will prioritise this higher and if there is no value then we shall backlog - or strike off the item.

To take a real world example. I prioritised React as there are many frameworks which make great use of the technology. By looking at React earliest when investigating the Gatsby Framework the learning curve was noticably flattened.

Organise

As a way to organise thoughts, notes and resources to learning across all areas above I make use of markdown written using VS Code. This is my scrap book used to extract the bare essentials from documentation which is then used as a local reference until the knowledge is tacit.

Reflect

As knowledge learned creates a feedback loop in to new concepts reflection becomes a natural aspect to the learning process. Working with GraphQL with Gatsby will naturally reinforce working with GraphQL in other contexts.

Engage

Having captured, clarfied, organised and reflected on the myriad of development opportunities unlocked through the immense Javascript ecosystem it is time to do. Through the creation of developing modular components towards a full system knowledge gathered throughout the learning journey will be commited to memory then the learning begins again.

Knowledge and skills are muscles. They need to be worked to improve and get better. This is especially true in the world of technology whereby not moving forward will see you left behind. I will always remember the words of Richard Folley while studying at university.

We aren't teaching you how to code. We are teaching you how to learn.