Evangelizing Python for...2019/06/03 · Evangelizing Python for Business DATA TECH - May 30, 2019...
Transcript of Evangelizing Python for...2019/06/03 · Evangelizing Python for Business DATA TECH - May 30, 2019...
Evangelizing Python for Business
DATA TECH - May 30, 2019
comments/questions?text HELLO to (612)324-8502
Katie:KatieKodes.com
Chris:PBPython.com
Know what you’re trying to accomplish
What inspires you to “preach?”
PBPython.com Don’t want to forget a great question? Text HELLO to (612)324-8502 KatieKodes.com
“IT runs on Java 8”-Vicky Boykis
What do YOU want?
• Chris wants to bring Python out of IT and into the business• DOESN’T want to rephrase the documentation• Help people envision the benefits of using Python• Help people see what they will need to learn to get where they want to go
• Katie wants the same, but a bit more hand-holding.• DOES want to rephrase the documentation, to expand its reach
• Chris loves observing what types of problems people solve
• Chris loves watching people “latch on” and have “wow, so efficient!” moments
“IT runs on Java 8”
Most business rules are still just that: hardcoded case statements decided by the business, passed down to analysts and done in Excel sheets, half because of bureaucracy and intraction[sic], and sometimes because you just don’t need machine learning
- Vicky Boykis
https://veekaybee.github.io/2019/05/10/java8/
PBPython.com Don’t want to forget a great question? Text HELLO to (612)324-8502 KatieKodes.com
Pick your battles: peopleHave you shared within your own personal workplace? Why or why not?
💔 Is everyone worth your time & energy? 💔
PBPython.com Don’t want to forget a great question? Text HELLO to (612)324-8502 KatieKodes.com
Pick the right people
• Chris thinks the best audience is people who already have “substantive expertise” in some business task and are interested in gaining the skills to “automate the boring stuff.”
• Chris has learned that some people would rather collect a paycheck to manually do the “boring stuff” than learn to automate it.
• Neither of us have managed to convert people at our office; both a bit scared off by “lottery factor.”
• There may be a bigger gap between “I can cut and paste VBA” to “I can cut and paste python” than you may think
“Gotchas” when training colleaguesBoss expects me to do
How much work is required outside of normal hours?
Co-worker dynamics
PBPython.com Don’t want to forget a great question? Text HELLO to (612)324-8502 KatieKodes.com
Colleagues vs. wider community
● Payoff could be higher at work○Personally because you made a difference at a place you spend a lot of time○Professionally because your boss noticed you making a difference
●Tread lightly at work…○Colleagues could be (perhaps even correctly) afraid to be seen struggling by peers or
supervisors○Are there politics/emotions about students you select?○Politics / emotional impacts of who’s told to learn/teach what by hierarchy?
Adjust to your audienceWhat’s surprised you about trying to share what you know?
What have you learned / changed?
What’s changed around you?
PBPython.com Don’t want to forget a great question? Text HELLO to (612)324-8502 KatieKodes.com
Adjust to your audience
• Chris found the internet surprisingly helpful
• Katie caught off guard by requests for nonexistent take-home documentation
• Katie surprised how advanced “level 2” self-filters to
Imitate better teachersKnowing python != Being a good teacher
PBPython.com Don’t want to forget a great question? Text HELLO to (612)324-8502 KatieKodes.com
Imitate better teachers
• Neither of us are teachers
• Great sources:• Other blogs• Meetups• YouTube• Other hands-on workshops
•Bring in lab assistants to help out! “You forgot a semicolon”•Might just cost you a burger/pizza•Don’t be ashamed to bring in “better” teachers / python knowledge•“Team of Excellence” not just one person
Know what they’re trying to accomplish
How do you “read your audience?”
PBPython.com Don’t want to forget a great question? Text HELLO to (612)324-8502 KatieKodes.com
Choosing the right problem
Reasons to automate
❏ Save time (easy but not best reason)❏ Get a quick win❏ Learn about the problem❏ Develop improvement mindset❏ “Art of the Possible”❏ Boring task❏ Lots of mistakes and rework
Characteristics of “good problems”
❏ “Large data sets”❏ Well understood problems❏ One step in a long process❏ Text manipulation❏ Does not have to look pretty
PBPython.com Don’t want to forget a great question? Text HELLO to (612)324-8502 KatieKodes.com
Helping people choose a good first problem
Make sure the person is truly up to the task of owning it once you help them make it.If not, maybe something else to focus on.
Try to avoid “magic show” demos in “coding on demand” / “let me hook you by helping you build your first solution” situations.
If you can’t help yourself & do a “magic show”:● Don’t just do it and leave, like a sorcerer● Bridge the comfort gap: let them know it’s draft 1 & to call you back to iterate if they get stuck
Pick your battles: processWhat’s worked as a way of sharing knowledge?
What’s failed?
What do you want to try?
PBPython.com Don’t want to forget a great question? Text HELLO to (612)324-8502 KatieKodes.com
Actually teaching (process)
• Chris: watch your “lottery factor;” try to build a training team like Cargill did
• Chris: don’t let the internet get you down (demanding for updates to old code)
• Katie: personally bother alums about new content to try to retain them (Twitter tags, e-mails, etc.) (then don’t let the internet get you down)
• Katie in the classroom:• Take a moment to address confusing things (like df[]’s many meanings) and reassure people• When “teaching a woman to fish,” include some CS 101
• Admit that it’s confusing and in the way of exciting stuff• Admit that people can forget it for now if they remember it exists
• Clarify it’s usually a key part of getting un-stuck• Gamification (riddles with participation/right-answer chocolate & swag) for tough/key concepts
• Katie: balance examples (like Chris’s style) & lessons (like my style); people get excited about the examples.(Even self-learners do love a good magic show now and then.)
Finding the right content
Not a trivial process to find/curate/develop good content
PBPython.com Don’t want to forget a great question? Text HELLO to (612)324-8502 KatieKodes.com
Takeaways
Know what you’re trying to accomplish
Pick your battles: people
Know what they’re trying to accomplish
Adjust to your audience
Imitate good teachers
Pick your battles: process
Be ready for success -- the reward for good work is more work!
PBPython.com KatieKodes.com
Resources
• Talk Python Podcasts:• Escaping Excel Hell • Beginners and Experts in Software Development Part 1 • Beginners and Experts Panel
• Katie Kodes - Setting Up Python on Windows• Teaching Python podcast