You read the docs, you did the learn to code exercises, you spent time in production. How do you know when you’re good at this? We’re programmers, so let’s break it up into parts. Let’s look at how we see ourselves, how our code performs, and how others see our code. Okay, now add, commit, push.
Intro (1 minute):
The python community is filled with many people from many disciplines that learned python for all kinds of different reasons. Not all of us took computer science in university, not all of us learned to code when we were 8.
I work in post-production for film, I’ve been writing python every day at my job for two years now. When I started I was pretty rusty. I’d taken a few courses in university, but hadn’t written anything substantive for a couple of years. Getting good creeps up slowly. Your first day on the job you’re not good, your second day, your third. But I look at myself now and I’m writing full stack plugins. How did I get here? Am I good yet? How many grains of sand make a heap?
The Aha moments, from veteran pythonistas (3 minutes):
Featuring quotes from my interviews with veteran coders:
Tell me a story about when you sucked. What was the moment you knew you were getting kinda good at this thing? What do you look for in others when gaging their python competence? The answers to these three questions will frame the rest of the talk. Question 1: talks about how you see yourself. Coding is hard and we all start out sucking, we keep seeing ourselves as beginner programmers long after our skills outstripe this. Question 2: how our code actually performs. When does your curiosity/excitement get stronger than your fear or uncertainty, when do you start seeing efficiencies outside the scope of what your instructed to do. Question 3: how others see your code. Make your code reader friendly and your code reviews will be nicer, your coffee will taste sweeter, your coworkers will stop hissing when they see you. Do future you a solid.
How you see yourself (1 minute):
Working with your impostor syndrome
Some of it’s in your head, some of it isn’t Make smart friends. If you’re the smartest person in the room, you’re doing something wrong. Embrace feeling dumb. Being wrong now is an opportunity to be right later. * Be wrong early, be wrong often, learn from mistakes. The psychologist Carol Dweck talks about something called growth mindset. Don’t be smart, do smart. Look for opportunities to grow yourself rather than being ego protective about your coding skills How your code performs (2 minutes)
Automate your little tasks! Then automate more! (this will include a short example from production) Write your own mandate! If something isn’t strictly in your job description, but it will make your life easier, your team’s life easier? Well just write that sucker. Psychologist Amy Wrzesniewski writes about how individuals with higher job satisfaction engage in what she calls “job crafting”. How others see your code (3 minutes):
three habits for leveling up, each of these will have short examples
Docstrings and descriptive variables. When you come back to something you wrote a year ago you’re going to be happy your variables aren’t called: var1, var2, var3. Use sphinx to auto-create documentation out of your docstrings! Get in the habit of this and you’ll feel like a wizard! Testing! * I’ll have a short example using PyTest
Sure, formatting isn’t the sexiest part of coding, but when you look back at your clean, pretty code, it can make you feel polished in a way nothing else can. Also, I mean, other people can read your work and stuff…