In this post, I want to briefly talk about how your environment (Linux), your hardware (keyboard & touch typing), and your tooling (shortcuts) form the three pillars of Software Craftsmanship.
Let’s be clear: these are not the most important skills for a developer, nor are they the primary way to evaluate a grade. They won’t replace business domain knowledge, solid architectural decisions, or problem-solving abilities. However, "Mastership is not just about WHAT you create, but also HOW you create it." By removing the friction between your mind and the screen, you free up space for pure creativity.
Here are my three pillars:
1. The Environment: Linux
Switching to Linux is more than just changing an OS; it’s a transition from being a "consumer of interfaces" to a "creator of systems." In Linux, the boundary between you and the running code fades away. You start to understand how the file system, processes, and networks actually work just by living in the environment.
For me, moving to Linux was a massive skill bump, even though many friends told me at the start that "the OS doesn't matter." The journey from being afraid of the terminal to confident mastery is incredibly rewarding.
- The Rule: Anything you can do in a GUI (and many things you can't) can be done via the terminal—often much faster.
- The Base: Terminal skills are "evergreen." They are portable and don't become obsolete when a new fancy app comes out.
- The Perks: Native containers, Btrfs snapshots, and total control. Once you go Linux, you’ll only keep Windows around for the games that won't run elsewhere!
2. The Physicality: Split Keyboards & Touch Typing
This is about removing physical bottlenecks. When you don't have to look at your hands, code flows directly from your brain to the editor.
- The Health Factor: A split keyboard is about longevity. Avoiding wrist pain is a professional necessity, not a luxury.
- Touch Typing vs. "Hunt & Peck": An office "hunter" might peak at 50 WPM, while the average is closer to 20-30 WPM. A decent touch typist easily hits 60–80 WPM, and pros go well beyond 130–160+ WPM.
- The Joy: Honestly, the biggest win isn't just speed—it's the feel. You start enjoying the process of typing itself. Even 40-50 WPM for plain text makes work remarkably comfortable.
3. The Tooling: Shortcuts & Flow
Shortcuts are all about the Flow State. Every time you reach for the mouse, you create a micro-interruption in your train of thought.
A quick disclaimer: Don't be a fanatic. If you get frustrated every time you touch a mouse, or if you insist on reading raw Markdown in a terminal just to look "pro"—that’s probably too much. I use VS Code, I don’t mind using the mouse when it makes sense, and I read my emails in a browser. Balance is key.
Bonus: My VS Code Navigation Toolkit
As a bonus, here is a snippet from my personal cheat sheet for VS Code navigation:
Using F-Keys (via Fn layer)
| Action | Standard Binding | On Split Keyboard |
|---|---|---|
| Go to Definition | F12 |
Fn + = |
| Go to Implementation | Ctrl + F12 |
Ctrl + Fn + = |
| Rename Symbol | F2 |
Fn + 2 |
| Next Error/Warning | F8 |
Fn + 8 |
Without F-Keys (The Essentials)
| Action | Binding |
|---|---|
| Go Back | Alt + ← |
| Go Forward | Alt + → |
| Quick Open (File) | Ctrl + P |
| Symbol in File | Ctrl + Shift + O |
| Symbol in Workspace | Ctrl + T |
| Go to Line | Ctrl + G |
| Command Palette | Ctrl + Shift + P |
| Go to Bracket | Ctrl + Shift + \ |
Typical Workflow
Ctrl + P (Open File) → Ctrl + Shift + O (Find Function) → F12 (Go to Definition) → Alt + ← (Go Back).
Useful Additions
| Action | Binding |
|---|---|
| Find in Files | Ctrl + Shift + F |
| Replace in Files | Ctrl + Shift + H |
| Toggle Sidebar | Ctrl + B |
| Toggle Integrated Terminal | Ctrl + ` |
| Split Editor | Ctrl + \ |
| Switch Editor Tab | Ctrl + Tab |
| Close Tab | Ctrl + W |
| Quick Fix / Code Action | Ctrl + . |
| Trigger Suggest | Ctrl + Space |
| Parameter Hints | Ctrl + Shift + Space |
Conclusion
Craftsmanship is a journey. These tools won't make you a Senior developer overnight, but they will make the road there much more enjoyable and efficient.
*What does your "craftsman" setup look like? *
Top comments (0)