Training

I can help you sharpen the skills of your JavaScript and FrontEnd teams.

Increasing the knowledge and coding quality of your own teams is a sensible thing to do – but often it’s a mere lack of time for team members to catch up on current ongoings and improve their own coding skills. This is where a training comes in: having developers gather together for a set amount of time and focus on improvement is often more effective than cutting off two hours each Friday for self-improvement.

Attending a training is more in-depth and sustainable than just reading a blog post on the internet: The content is tailored to the team’s needs and skill level, questions can be raised and answered and the attendee receives an extensive list of further resources along with the teaching material to dive even deeper into a topic at a later time.

Topics

I cover the topics that you see the largest demand in. Topics that are covered often are:

In practice:

  • Performance: JavaScript Performance, DOM Performance, Rendering Performance
  • Performance in mobile context
  • Memory Profiling & Memory Efficient JavaScript
  • Optimization vs. Premature Optimization
  • Module Format, AMD vs. CJS, and ES6 modules
  • Module size: Many modules vs. large modules
  • Strategies to handle cross-target and cross-device development
  • Avoiding GC issues
  • Avoiding memory leaks
  • Micro Optimizations, e.g. closure scope lookup vs. instance property lookup
  • API Design: Implications of semantic versioning
  • API Design: Common mistakes, boolean trap and friends

Theory:

  • Application architecture
  • Frameworks: Does the project need one? If so, which one?
  • Tooling: Modern dependency management
  • Tooling: Continuous Integration, automated building/testing and commit hooks
  • Tooling: Grunt, Gulp and friends: Choosing a JavaScript Task Runner
  • Tooling: Using maven and still benefit from automated JavaScript building
  • Version control: Git, SVN, Perforce: Which one will ease deployment?
  • Why testing? TDD, BDD and why it saves you time.
  • User-documentation vs. Developer-documentation
  • Successful commit strategies for git
  • Setup: Does your IDE really make you faster?
  • Efficient communication: Less distraction using one single tool

Audience

I have experience in both training highly skilled teams as well as medium skilled ones.

Group Sizes

I’ve been holding workshops for audiences of 50+ developers as well as small teams. A rule of thumb is: The smaller the team, the more intense the training will be.