4
0 Comments

Which of these technical skills would you pay for custom coaching?

TLDR; I want to know if you would pay someone to coach you in software engineering skills. Answers can be provided in the poll for this post.

I think there is luckiness in how people grow their technical skills through their life. Some have mentors which value growing younger engineers. Others are able to self teach or find resources to find the next best step for self-improvement. Some are in the right company at the right time solving problems which push their individual skills to the next level.

But can we hack our luckiness by paying someone to teach us?

I want to hear where you had trouble growing your career as a software engineer. If you had the opportunity (either now or in the past), what skills would you have a coach create lessons for and work with you to improve? Below is a list of some categories I think might be pretty common, but if your experiences are different I would love to hear it!

If you are at all interested in receiving or want to hear me about professional coaching for your skills, make sure to drop a line here.

Code Authorship

This can be learning to consistently write code that is easy for you and others to read and comprehend. Or learning how to navigate and integrate into an existing codebase and work with "legacy code".

Code Collaboration

How to provide feedback for design discussions and pull requests. Knowing what to focus on versus what is nitpicking/personal preference.

Design Patterns

Being able to apply common programming patterns and algorithms to everyday scenarios.

Framework/Language Proficiency

I have found building proficiency in any framework or language requires repeated and consistent usage. This can happen when personal interests don't align with the business needs/infrastructure (e.g. I'm writing Java code at work, but want to learn TypeScript).

Framework Example - React, SpringBoot, Vue, Rocket, Gin, etc.
Language Examples - TypeScript, ELM, Java, Scala, Haskell, etc.

Project Ownership

Being able to start, build out, and complete a project end-to-end is a skill. Often people learn this by watching other leaders around them and/or "stepping up" and taking a new project on themselves.

Specific Technologies

Adopting new technologies can be a challenge if there is significant risk, tight timelines, or restricted budgets.

Technology Examples - Spark, Elasticsearch, Redis, Honeycomb, etc.

Specific Practices

(Domain driven design, Test driven design, pair programming, etc)

These are often attributed the misnomer of buzzwords, but they are practices that have emerged because of their effectiveness for certain groups. It can be challenging to dip your toes into something if there are individuals at work not willing to try and evaluate new paradigms. This means individuals lose an opportunity to assess if the paradigm has value add for them.

System Architecture

Creating architectures requires pulling many pieces of a bigger picture together. This risk of having novices doing this for the business is high and is often left for more senior team members to do.

on September 19, 2021