Barefoot Developer's Guide
Set 1: Start Here
Use your browser's print dialog. Select "Save as PDF" as the destination.
Barefoot Developer's Guide
Set 1: Start Here
What is barefoot development?
Code you can understand,
fix,
and share.
Not about being better.
About being understandable.
What happens when code breaks
and the person who wrote it is gone?
Two paths:
1. Hire an expert
(expensive, creates dependency)
2. Start from scratch
(lose everything)
Barefoot is a third option:
Code you can read.
Code you can fix.
Code you can learn from.
Single file = no mystery
Example: index.html
• Open it → browser shows the page
• View source → see exactly how it works
• Edit it → changes happen immediately
• Break it → error shows what's wrong
• No build step, no dependencies
What about larger projects?
Still keep it legible:
• Multiple files: named clearly
(not bundle.min.js)
• Folders: organized by purpose
(not by framework)
• Transformations: readable
(TypeScript → JS = translation)
(Webpack bundles = obfuscation)
Domain knowledge
>
Framework knowledge
Which do you want to learn?
React component lifecycle
or
How maps work?
Frameworks change.
Problems don't.
Who is this for?
• Researchers who need tools
• Designers who want to code
• Architects building their own software
• Anyone maintaining code someone else wrote
• People who want to understand, not just use
Not anti-professional.
Not anti-framework.
It's about:
Choosing tools that match your context
Knowing the tradeoffs
Not being trapped by your own code
Tools should serve you,
not the other way around.
Repair culture
When it breaks,
you can fix it.
Not call someone.
Not reinstall.
Not start over.
Personality permitted.
Code can have a stance.
Code can be conversational.
Code can reflect how you think.
Personal instruments
These tools don't need to outlive you.
Knowledge transfers through:
• Teaching
• Conversation
• Legible code
Not maintained codebases.
These slides are barefoot.
Single HTML file.
View source to see how it works.
Edit the JSON to change it.
Next:
Set 2: Making It Run
• Getting code working
• Understanding what you downloaded
• When something breaks
• Reading error messages