The Pragmatic Passionate Practiced Software Craftsman HOW TO

  • Slides: 20
Download presentation
The Pragmatic, Passionate, Practiced, Software Craftsman HOW TO BE A BETTER DEVELOPER NICHOLAUS LAWSON

The Pragmatic, Passionate, Practiced, Software Craftsman HOW TO BE A BETTER DEVELOPER NICHOLAUS LAWSON – CODE PALOUSA 2018

Covering… • DISTILLED THOUGHTS FROM … • ‘PASSIONATE PROGRAMMER’ • ‘SOFTWARE CRAFTSMAN’ • ‘PRAGMATIC

Covering… • DISTILLED THOUGHTS FROM … • ‘PASSIONATE PROGRAMMER’ • ‘SOFTWARE CRAFTSMAN’ • ‘PRAGMATIC PROGRAMMER’ • ‘PRACTICE OF PROGRAMMING’ • COUPLED WITH REAL LIFE EXAMPLES

OWN IT – RELY ON YOURSELF • YOUR CAREER, LEARNING, DEVELOPMENT…. OR YOU GO

OWN IT – RELY ON YOURSELF • YOUR CAREER, LEARNING, DEVELOPMENT…. OR YOU GO NO WHERE • DON’T LET YOUR COMPANY, YOUR BOSS, OR ANYONE ELSE DICTATE YOUR GROWTH • KNOW YOUR MARKET AND WHAT TECH IS HOT

OWN IT – WHAT’S HOT NOW https: //insights. stackoverflow. com/survey/2018/

OWN IT – WHAT’S HOT NOW https: //insights. stackoverflow. com/survey/2018/

OWN IT – MAKE A PLAN • KNOW HOW YOU’RE GOING TO INVEST IN

OWN IT – MAKE A PLAN • KNOW HOW YOU’RE GOING TO INVEST IN YOUR CAREER • PLAN HOW YOU WANT TO GROW • PICK A TECH STACK • LEARN THE LANGUAGES YOU NEED FOR THAT ENTIRE STACK • PRIORITIZE WHAT BOOKS YOU WANT TO READ

BE A STUDENT – COMMIT TO LEARNING • UNIVERSITY, CODE CAMPS, ONLINE TRAINING ISN’T

BE A STUDENT – COMMIT TO LEARNING • UNIVERSITY, CODE CAMPS, ONLINE TRAINING ISN’T THE END OF THE JOURNEY • FIND A MENTOR • MAKE A PLAN FOR SELF-GUIDED LEARNING[NOTE 1]

BE A MENTOR – LEAD BY EXAMPLE • BE A MENTOR TO THOSE AROUND

BE A MENTOR – LEAD BY EXAMPLE • BE A MENTOR TO THOSE AROUND YOU • RESEARCH PARTS OF YOUR CODE BASE/BUSINESS AND DOCUMENT IT (RUBBER DUCK TALK) • FOSTER CULTURE OF LEARNING AMONG YOUR CO-WORKERS • LUNCH AND LEARNS • JOINT POC AND EXPERIMENTAL PROJECTS

BE A MENTOR – TEACH AND LEARN • COMMIT TO TEACHING SOMETHING YOU WANT

BE A MENTOR – TEACH AND LEARN • COMMIT TO TEACHING SOMETHING YOU WANT TO LEARN • TO YOUR CO-WORKERS OR AT USER GROUP • GO TO LOCAL USER GROUPS • LOOK FOR PEOPLE EAGER TO LEARN • DON’T BE AWKWARD ABOUT SHARING YOUR EXPERIENCE • LOUISVILLE MEETUPS • HTTP: //LOUISVILLE. IO/ • HTTPS: //WWW. CODELOUISVILLE. ORG/

BE A GENERALIST • DON’T BACK YOURSELF INTO A CORNER • DEV VS ARCH

BE A GENERALIST • DON’T BACK YOURSELF INTO A CORNER • DEV VS ARCH • MANAGER VS DEV • CODER VS DBA • C# VS JAVA • BE CURIOUS ABOUT IT ALL • DON’T RELY ON OTHERS

BE A SPECIALIST • ONCE YOU KNOW WHAT YOUR FOCUS IS, BE AN EXPERT

BE A SPECIALIST • ONCE YOU KNOW WHAT YOUR FOCUS IS, BE AN EXPERT • EXPERT !=DAILY USER • BE ABLE TO SPECIALIZE IN MULTIPLE AREAS

THE T-SHAPED DEVELOPER • THE IDEA IS TO BE BOTH • GROW KNOWLEDGE OF

THE T-SHAPED DEVELOPER • THE IDEA IS TO BE BOTH • GROW KNOWLEDGE OF A SPECIFIC LANGUAGE • GROW SKILLS IN A SPECIFIC ROLE

KNOW YOUR BUSINESS • BE AN EXPERT ON YOUR BUSINESS AND YOUR COMPANY •

KNOW YOUR BUSINESS • BE AN EXPERT ON YOUR BUSINESS AND YOUR COMPANY • REMEMBER WHO YOU WORK FOR AND WHO YOUR CUSTOMER IS • THE BUSINESS • THE END USER • ASK QUESTIONS • FIND A MENTOR (HAVE WE TALKED ABOUT THIS ALREADY? )

SOFTWARE CRAFTSMAN AND PRAGMATIC MINDSET • ASK QUESTIONS • LEARN HOW TO ASK BETTER

SOFTWARE CRAFTSMAN AND PRAGMATIC MINDSET • ASK QUESTIONS • LEARN HOW TO ASK BETTER QUESTIONS • KNOW WHEN TO PUSH BACK • LEARN TO SAY ‘NO’ • KNOW WHEN NOT TO • LEARN TO FAIL

SOFTWARE CRAFTSMAN AND PRAGMATIC MINDSET - AUTOMATION • AUTOMATE THE BORING STUFF • HEALTH

SOFTWARE CRAFTSMAN AND PRAGMATIC MINDSET - AUTOMATION • AUTOMATE THE BORING STUFF • HEALTH CHECKS • ROUTINE MAINTENANCE • REPORTING • MAKE TOOLS TO GENERATE CODE FOR YOU • PASSIVE (OR EXCEL SHEET PROGRAMMING) • ACTIVE

PITFALLS • WIZARDS AND GUIS AND CODE GENERATORS • NOT THE ONES YOU MADE,

PITFALLS • WIZARDS AND GUIS AND CODE GENERATORS • NOT THE ONES YOU MADE, BUT EVERYONE ELSE'S • PROGRAMMING BY COINCIDENCE • THE COPY/PASTE PROGRAMMER • ANALYSIS PARALYSIS

START TODAY – NEW HABITS • WHAT CAN BE AUTOMATED? • CODE! • THROW

START TODAY – NEW HABITS • WHAT CAN BE AUTOMATED? • CODE! • THROW AWAY PROJECTS THAT WILL BE FINISHED • FULL BLOWN PROJECTS THAT HELPYOU • GET COFFEE WITH SOMEONE FROM YOUR OFFICE THAT IS AWESOME • 8 HOUR BURN • BE WHERE YOU ARE

START TODAY - DOCUMENT • KEEP A DEVELOPERS JOURNAL 1. DAILY LOG – ACCOMPLISHMENTS,

START TODAY - DOCUMENT • KEEP A DEVELOPERS JOURNAL 1. DAILY LOG – ACCOMPLISHMENTS, MEETINGS, EXPLAIN YOUR CODE AND DECISIONS 2. ADD ‘RIGHT NOW’ TASKS 3. ADD ‘DAILY HIT’ TASKS 4. ADD RESEARCH/FOLLOW UP ITEMS 5. BEGIN PLANNING YOUR DAY/WEEK/SPRINT

START TODAY – INVEST IN YOURSELF • ESTABLISH YOUR PERSONAL BRAND • SET UP

START TODAY – INVEST IN YOURSELF • ESTABLISH YOUR PERSONAL BRAND • SET UP A BLOG • MAKE A PERSONAL BRAND SITE – ONE STOP SHOP • MAKE A PLAN • LOOK AT CURRENT/FUTURE TECHNOLOGIES • MAP GOALS TO LEARN THOSE

THAT’S IT! QUESTIONS? HTTP: //LAWSON. ENGINEER HTTPS: //WWW. LINKEDIN. COM/IN/ NICHOLAUS-LAWSON/ HTTP: //BLOG. LAWSONCS.

THAT’S IT! QUESTIONS? HTTP: //LAWSON. ENGINEER HTTPS: //WWW. LINKEDIN. COM/IN/ NICHOLAUS-LAWSON/ HTTP: //BLOG. LAWSONCS. COM/ HELPFUL LINKS AND RESOURCES BELOW…

NOTES/LINKS • [NOTE 1] – RESOURCES FOR PRACTICE AND SELF-GUIDED LEARNING • PRACTICE •

NOTES/LINKS • [NOTE 1] – RESOURCES FOR PRACTICE AND SELF-GUIDED LEARNING • PRACTICE • HTTPS: //PROJECTEULER. NET/ • HTTPS: //WWW. TOPCODER. COM/ • HTTPS: //WWW. CODINGAME. COM • HTTPS: //CODE. ORG/LEARN • HTTPS: //WWW. CODEWARS. COM/ • LEARNING • HTTPS: //WWW. SOLOLEARN. COM/ • HTTPS: //WWW. PLURALSIGHT. COM/ • HTTPS: //WWW. LYNDA. COM/- FREE THROUGH LOUISVILLE LIBRARY • HTTPS: //WWW. COURSERA. ORG/ • HTTPS: //WWW. UDEMY. COM/