



It’s time for more cowbell as we have a special guest in the studio, Will Madison (@IAmWillMadison), join us as Allen finally gets tripped up trying to pronounce a name, Joe teaches us the value of practice, and Michael evacuates in a rainbow colored straight line.

Sponsors

Airbrake.io/CodingBlocks – Try Airbrake *free* for 30 days _and_ get 50% off the next 3 months!

Survey Says

This episode we ask: Do you pay attention to 3rd party licenses?

Anonymous Vote Sign in with Wordpress Do you participate in open source projects? Yes, but only on my own projects.

Yes, but only when I'm trying to beef up the résumé.

Yes, but it's documentation, not code.

Yes, but I only participate in projects owned by others.

Yes. I have some of my own projects _and_ I also participate in projects owned by others.

Man. I'd love to. But dang, who has the time? vote

News

We say thanks to everyone that took the time to leave us a review iTunes: peteoshea, NOpcBuzzwords, Montimur, BusterInDallas, MrBimble, Haydxn, oran0007, ChannelZ13, Ram Kasyap, VirtuaBoza, Sravan Kumar Kilaru Stitcher: IikkaO. LeanWebStart, mains, TacticalPenguin, SuperGoodDave

CloudFlare takes advantage of haveibeenpwned‘s API to let _your_ users know if they’re using credentials that have been compromised. (Security Now episode 652)

Windows Server 2019 to feature Kubernetes and Linux support – (VentureBeat) Not to mention Docker on Windows now supports Linux containers on Windows side by side

Think you know everything about blockchain. Listen to some use cases you might not have thought of – (MS Dev Show)

Practice Makes Perfect

What does it mean to be “good”?

The myth of the myth of the 10x developer

Are you familiar with the notion of the “10x developer”? https://www.codingblocks.net/practice/four-reasons-why-10x-developer-controversial/

Looked at things like program size, time to complete, code performance speed Are those accurate measures? What’s missing? Original study was 12 devs with 7 years xp over a couple hours – what would have been sufficient? Original study is 50 years old, is it still relevant? Can one dev really be 10x more productive than another?

Books like Peak, https://www.codingblocks.net/outliersOutliers separate knowledge from skill

Knowledge is what you know (understand) and skill is the application of that knowledge

You can’t have skill without knowledge

Difference between knowing the SOLID principles, and being able to apply them

Hot topics: 10x Developer, Hiring practices, 4 year degree vs Bootcamp

Knowledge is easy to find on the internet, what about skills?

Be careful with side projects

Side projects are great for learning, and for the cv but…

Side projects require knowledge, skill, time

Mixed incentives can encourage and codify bad habits

Inefficient (Scrimmage vs Drills)

A little more on habits…

Have you ever cussed in front of your grandma?

Brains love short cuts, they don’t remember the algorithm for FizzBuzz – the remember the rules and re-generate the algorithm

This is good, because it’s expressive – bad because of negative stereotypes, biases, and bad habits

Want to break a bad habit? Recognize the cue or Change your scenery

Books like “Blink” and “The Power of Habit”

Deliberate Practice

Deliberate practice is a results driven feedback loop that requires focused attention.

Researchers say it’s the best

Playing your favorite song on guitar is not deliberate practice. Recording yourself playing your favorite song, grading yourself on the various skills involved, and then devising, executing, and measuring practices that specifically target those areas over time is deliberate practice

Do you have 10 years experience? Or do you have the same year of experience 10 times?

5 rules: Intentional Improving and Appropriate Responsive Repetitive Not fun



How software engineers can practice

Do X for Y

Soft Skills

Toastmasters, writing group, peer reviews, hackathons

Tools

Static Analysis, peer programming, reviews

Coaching

Interviewing.io

Architecture Diagrams / Setup

But before you jump in…you should really design your exercise around your you 0. Identify your goals 1. Map the relevant skills 2. Assess skills independently 3. Identify a high value target 4. Design an exercise 5. Do the exercise 6. GOTO: 2



Tips for practicing

Beware of “flow” – nice way to get through the work week but skills can stagnate

Should see things moving up and to the right immediately

What about the things that are hard to measure? Software Engineering is not unique in this! How do other fields do it? (Coaching, Mentoring, Peer Review)

Deliberate practice is specific, don’t ask me how your code “is” – ask how your variable names are, or if your architecture is scalable

Book “Practice Perfect” has 42 great tips

Mentoring tips

Make a plan, stick to it

Call your shots

Encode success

“Get a whistle”

Come up with a name “SOLID” or common design patterns

Save the discussion till later

Don’t forget to measure and utilize

Resources We Like

Tip of the Week

Krypton – Store your SSH and PGP private keys on your phone

Sourcegraph for GitHub Chrome extension (Chrome Webstore)

Will Gant talks about the benefits of learning other programming languages on Junior Dev Podcast episode 11

unpkg – A CDN for everything on NPM Example uses of unpkg on GitHub

Titan Fitness A2 – an affordable motorized sit/stand desk (Amazon)

Azure Cloud Shell – A browser-based shell experience to manage your Azure resources