I feel you...in a totally appropriate way

Or how I career transitioned and kept my sanity(so far)

coding-friends

In November 2012, I was knee-deep in the process of becoming a programmer. I’m a planner, I planned everything--down to the DATE I would start looking for work as a programmer.

March 2013--Dooms Day. Otherwise known as Pycon 2013(the Python language conference), the first tech conference I would ever attend.

Turns out, plans are funny--

"Everybody has a plan until they get punched in the face."
-Mike Tyson

Let's start at a recent event I attended that was a perfect reminder of how much I've already learned.

I loathed networking.

While mentoring at a local codeschool, the program coordinator was trying to shake out the nervousness of the students and give them a brain break from pumping through code with a
fun exercise, Zip Zap Zoop.

"The reason I remembered your names is because I concentrated on learning them while you were talking." I considered myself to have a pretty great mnemonic memory, but had found that I was struggling with remembering people I'd met through events because my processing capacity was being consumed by learning code. I'd decided this was making me impersonal and that I'd need to address this pronto. How fortunate for me to happen upon this challenge! While everyone was nervous and distracted, as we went around the room and introduced ourselves by name and 'one weird thing' to remember us, I isolated the people I didn't know. I repeated the names over and over until we moved onto the next intro. I had every name down pat. I dig preparation. At the end of this game, the coordinator surprised us with an extra challenge-- who could name every person in the group the quickest? I was the only person to step up to name. For someone who'd been touting her lack of name remembrance since she started programming, it surprised me that I had no problem.

Reminder to myself: being focused and engaged is endlessly rewarding.

Embed yourself in a community.

I'm a self-taught programmer. This is a lie.

I'm raised by a community. When I first ran with the decision to career-change, I had to pick a language to learn. I reached out and always got the same answer in return--"You can always learn another language. Go with a language now that has a community you can be happy choosing".

Go to meetups. Even better, volunteer at a meetup! You don't need to be a domain expert to help out with your local user group. Your group needs people who have time and energy. There is a place for you there, too.

Get used to IRC. It's filled with people who are knowledgable
and interested in helping. It also contains a few trolls, but if you ask around for channels that are receptive to newer programmers you'll be pointed in the right direction.

I like to pay it forward. I like to not take things for granted. By trying to give back to a community that has already provided me with greater happiness than I could possibly return, I'm helping myself progress.

This is how people can remember you. They're more likely to help when they feel a sense of connection to you. Staying connected also keeps you accountable when you're feeling less than motivated.

November 30, 2012

"I'm not ready" After having seen a tweet regarding a company I wanted to work for touting their hiring bonanza, I became frantic. I hopped on IRC immediately to talk to some friends(employees of the company) to see if I should entertain the thought. I had no idea how quickly this interaction would spiral into my blessed current existence.

Luck is preparation met with opportunity.

I used to be that person looking in from the outside. That person who would always look
at people with purpose and who had passion for their work and just say, "how'd they get so lucky?" When my significant other got the job at Google, we kept hearing the same question. I started to reevalute. Luck is silly. I'm not a person that likes to believe in luck having power over my ability to make things happen. When my friend contacted me about meeting for coffee regarding my first developer job, I was prepared for this opportunity, less nervous, because I had worked hard thus far. A perfect storm in the guise of luck.

That fateful Day

That coffee meeting turned into a three hour conversation. My future team lead was there to provide me with all the warnings he could perceive. This was such an awesome indication of
my future boss's ability to manage expectations.

Questions asked of me on this Day of Days:

  • What have you been working on?
  • What proof do you have of your work thus far?
  • How did you learn? Books? Classes? Resources?
  • What are you willing to endure?(I'm pretty sure he didn't say this. It's just how I remember perceiving it!)
  • How have you worked with deadlines previously?
  • How do you work through problems with coworkers? How do you address disagreeing with your manager?

Wisdom/warnings bestowed upon me:

All-in-all: Be prepared to be consumed or GTFO. NOTE: (Again ,he didn't say this. Wild dramatic retelling)

Find your person-who-seems-to-know-what-they're-doing

You don't know what you're doing. You need to have someone around who is at the next level of not knowing what they're doing. They can let you know that what you're experiencing is completely normal. That you're in the thick-of-it and that won't change. And that you'll be okay.

It's all uphill from here!

You're going to feel stupid. Really stupid.

And I absolutely mean stupid, not silly. You'll feel silly sometimes too. However, that doesn't capture how low you will sometimes feel with the ridiculously arbitrary problems you can be dealing with in your daily grind.

This will probably be one of my more inflammatory statements--You can't learn code part-time. You can't study language as a beginner for one day per week and expect to get anywhere. This is a whole new world! You have to be able to make this
enter your muscle memory. Otherwise, this entire endeavor will never get less painful.

Speaking of, you will eventually be able to code. You will eventually get to learn other languages. Coding will get easier! There will always be a challenge, whether it is understanding the larger cogs of architecture or managing people. Being a programmer,you should want this.

It's worth it.

So why are you telling me this?

I want you to be my awesome programmer friend. You might want to learn to program! How do you get closer to that goal of getting the gig?

  • Lines of code matter. Absolutely not in the 'green box of Github' sense. More lines of code mean more experience
    getting familiar with the tools you should be collecting for your toolbox. You'll get to learn the power of your development tools and trusted methods of your language.

  • You should be publishing your code. If you, like me, use resources and tutorials, look at the licensing. This will be located at the front of your book or in the readme. Clearly indicate in what you have published that you were working through code others have provided you. You should be able to discuss every line you publish. You may very well have to. This is okay.

  • Your skills translate. Figure out how your strengths translate to work at places you're interested. I always left my
    previous position with a training manual freshly written. This showed that I was detail-oriented, patient, and demonstrated I'm mindful of the importance of on-boarding and being a good teammate.

  • Choose projects you care about. Projects that interest you are a way to keep you very motivated when the code you are working on is very un-fun. You are much more likely to finish a project when you NEED it.

  • Demonstrably show your desire and ability to learn. You're a nerd. Own it!

Most importantly, I want to help. Please reach out to me and tell me you're story. You are motivating. You are what keeps me going on days where I'm up to my neck in bugs and I've forgotten that we're all fighting the same fight. So, please do!