When to be a ‘Yes Person’

For the most part, being described as a ‘Yes Person’ is not a compliment. If you see yourself as a self-motivated, grab-life-by-the-horns type of individual, it’s the last thing you’d want to be labeled as. But, as is the case with many things, there are exceptions to the rule. For almost a year I have been conducting an informal experiment in one particular area of my life and saying yes to any and all opportunities that cross my path in the realm of web development.

I decided to start down the path of becoming a web developer roughly a year ago, and as part of my roughly outlined plain, I decided that I would pursue and make time for any opportunity to meet with someone on an individual level. I was specific about the ‘individual level’ part of it because I’m not exactly a social butterfly, and I know that dropping into bigger events where I know absolutely no one is not a good fit for me, and not a productive use of my time. For the last year I have taken advantage of every opportunity to talk to fellow a developer, pair program, have code reviews, or anything else of that nature that comes my way.

The meeting of people was a little slow at first, one caveat that I’ve mentioned before about learning with an online program is that it severely lacks a person-to-person community. You can only do so much with Slack. To supplement this, I started attending meetups. Initially I went to any and all meetups that piqued my interest. This was good to see what all the meetups had to offer, but attending multiple meetups a week was absolutely exhausting. I narrowed it down to two meetups a month, which may not sound like a lot, but with everything else I have going on, even one every other week is a lot.

Meetups are a great way to meet people. You know that you already have two things in common, the tech stack that the meetup is about, and the fact that everyone attending likes that stack enough to talk about it outside of work/school. Almost everyone I regularly keep in touch with has come directly or indirectly from the Boulder Ruby meetup. Another great thing about meetups is that if there’s not one that fits your particular interest you can just start one! I know I’ve written about this before, but starting a meetup that better fit my interests (beginner level developing) has been incredibly beneficial to my networking and web dev skills. It takes a lot less effort than one might assume, and once it gets rolling there will almost definitely be someone attending that can be coerced into helping plan future events.

Meetups lead to meeting a lot of different people, and those people know other people, and on and on it goes. If I have a great conversation with someone at a meetup I make it a point to try to meet them again on a one-on-one basis. It could be for any reason, I almost never have a prerogative when meeting with someone. I’m not meeting with them to ask about work opportunities, or how they could directly benefit me, but instead to learn more about them and their journey with web development. It always leads to interesting conversations, and sometimes to potential opportunities, but it does that naturally, not because that was the goal of the meeting.

If you can’t carve the time out of your schedule to make it to meetups you can utilize other resources like Twitter and Slack. It can take time to aggregate the right industry people to follow and the best Slack channels to be a part of, but both are super useful services when utilized correctly. I’ve had remote chats with seasoned professionals on the other side of the country because I stumbled across the right tweet. And I’ve had more than a few in-depth discussions with people on local Slack channels that I’ve then followed up with in person.

Following up is a huge part of the process. It might seem super obvious, but after being in the position to hire freelancers in a different career I was shocked at how many people didn’t follow through after a conversation where I basically told them the work was theirs. Just follow through, it’s super simple, and I can almost guarantee that if you do it you’ll be in the minority.

Over the past three months I have met with an average of one new person every week. That means I’ve spoken to at least 12 different people and have heard 12 unique stories of how they got to where they are, the speed bumps they encountered had along the way, and the lessons learned in the process. That’s incredibly valuable to someone like me who is trying to break into the job market with a ton of other junior developers. Ive basically learned from the mistakes and success of 12 different people. That makes for a huge chunk of experience that I don’t have to learn the hard way, on my own. It’s almost like pushing a fast forward button my career.

This whole thing is an experiment, and its not ‘complete’ yet, and it may never be. I’m still in school, have only recently started to actively pursue a job, so I can’t say that this networking experiment was the magic key that landed me a kick-ass developing gig. But I can say that I like my current trajectory and I’m confident something good is right around the corner.

PS – For the sake of consistency with the blog formatting, this post is for weeks 36 & 37 of school with a date range of 161007 – 1611210

Weeks 33 – 35

161017 – 161106 — Total classroom hours – Stopped counting

Well, not too long ago I said I wouldn’t let the blog go more than two weeks without a post. I’m not going to go back and count, but it was probably less than two months ago. So, I didn’t hold true to that very well, but better now than never! I’m not one for excuses, but it definitely didn’t help that I didn’t really feel like I was kicking ass in anything, but at the same time still felt incredibly busy. I did reach some high notes at the end of this week, so that was a good morale boost.

We had our first retrospective at my internship. Scheduled retrospectives of some sort was a prerequisite for my accepting the internship position. He was all for it, so it’s not like I had to fight for it, but I wanted to know that I would be getting and giving feedback to ensure forward progress for both of us. Up to this point the internship didn’t have a whole lot of structure. What I mean by that is I never really knew what we were going to be getting into during each meeting. That, coupled with the fact that it was running on Rails 2.x, and that the codebase was pretty crusty (as my mentor willfully admitted), all made for a learning, but not super productive experience. During our retrospective we discussed this and decided that working on a different codebase might benefit both me and him more.

This new project is a current codebase, Rails 4.2.5, has a full Rspec test suite, and is much less crusty. During the retrospective we decided that we should try me working on my own more, for many reasons, mostly to force me to dig through tough problems and make decisions based on my best judgement. I was a little hesitant at first, thinking it would take me hours just to decipher what was being asked of me. But I sat down on Saturday and looked at my Pivotal Tracker user story and started to chip away at it.

It felt really good to be working through current Rails again. I’ve been working all front-end with Bloc, and old Rails/JS with the internship. This felt like seeing an old friend again. I took about 30 minutes clicking through the file tree to get an understanding of what was going on, then tackled some routes and fresh .haml files. What’s nice about working on an existing codebase is that there’s a good chance a lot of the solutions to the problem at hand can be found somewhere in the code if you know what to look for and how to find it. I blocked most of Saturday for this user story, and to my amazement I had the first PR ready to submit after about 4 hours. I did go back and forth with my mentor a few times about some syntax I wasn’t quite understanding, but I tackled most of the overall problem on my own and I think pretty efficiently. I mean, I’m writing production code! Thats a huge step in the right direction!

When I started this project I also started a sort of journal to keep track of what I am doing, where I’m getting stuck, and what I need to research more. Initially I started it to be able to talk my mentor through my process, but I think I’m going to keep the entries for a while to reference later on down the road. Im sure that if I find myself at a roadblock once I’ll probably be there again in the not-so-distant future. I probably should have been doing some kind of journal all along, but, as is the theme for this blog post, better late than never.

As far as Bloc goes, at this point I’m really just trying to get it done as ‘efficiently’ as possible. The deeper I get into the front-end section the more I’m finding that I’m probably more of a back-end, database developer. That might change, and I hope it does, I hope that I do enjoy both aspects equally, but right now the front-end isn’t nearly as fun as Ruby/Rails. I stopped logging my hours that I spend on the curriculum. I’m on pace to finish quite a bit early, not unlike the back-end section, so I think it’s safe to say that I understand what I’m doing within the scope of how fast Bloc wants me to pick it up. I probably put more hours into the internship per week, especially now that I’m working on Rails code from home. At the end of all this, some day soon, I’ll need to prove to a team that I’m a solid web developer, and I feel like any and all experience that I have under my belt will help me in that endeavor whether it be from school, internship, or personal projects.