Ten Percent Practice
Continuous improvement is easier with practice. Practice is easier when you are subject to clear expectations.
As a member of HYFN Local engineering, you are expected to spend ten percent of your time at work practicing to improve yourself as a programmer.
Ten Percent Time
By ten percent of your time, we mean:
- Pick one hour per workday.
- Missing one day of practice per week is expected, missing an entire week is not.
- Turn off distractions, including Slack and your email client. If there's an actual emergency, someone will physically find you or call your phone.
Practice
By practice, we mean:
- Writing code to solve problems from books or online courses, and checking it in
- Translating code from a language you know well to one you don't (or vice versa)
- Helping someone else who is stuck on a practice problem
Practice does not mean:
- Just reading or watching a video without solving any problems
- Copying code examples
- Doing someone else's work for them
Checking in code
We want everyone to practice on their own interests, but also be able to see others' work, so we're using a single master branch:
- Make a folder in the root with your name.
- Pick a book or course, make a subfolder named after it.
- Add a readme.md in the subfolder with enough information for someone else to find the book / course.
- Check in code at least once per practice session.
There's no need for a pull request unless you're modifying this document.
Feedback
Ask for help. Feel free to read what other people are working on and ask questions.
Do not force unsolicited help. Do not criticize.
Resources
We will help you get access to the resources you need, whether that's buying physical books, a Safari digital books account, or online course fees, up to $500/year. Talk to your manager.
Suggested starting points
If you do not have a formal computer science background:
- How to Design Programs 2e or the First Edition. Yes, it's pitched at a highschool level, but is very well written and tested with students. There's also a 2 part edX course based on the material, How to Code: Simple Data and How to Code: Complex Data
If you do not have experience with a reasonably modern statically typed language:
If you want to learn more about data science: