Tuesday, November 25, 2014

Comparative Lifelines

It's weird to think about the fact that, when my father was my age, his life was completely different from mine. Like, entirely different in nearly every way. 

When my dad was 39, he had four kids, one of them under 5.  He'd been married to my mom for more than 10 years. He had had a dozen jobs by this point, including a short-order cook and a shop steward for a long-haul trucking company repair depot. His jobs were transitory, though, because my dad had a career, and that career was union organization. Whatever job my dad had, he was always focused on improving things for the workers around him, via collective action and collective bargaining. I know it cost him at least one job. I know it also got him at least one job. I don't know if that constant fear of losing a job at the cost of his career was part of why he drank. From our (very sparse) conversations about it, my father drank because he was an alcoholic, just as his father was an alcoholic. By the time he was 50, my father had given up drinking, saved his marriage from dissolution, and reconnected with his family and his faith, all without ever losing his drive for collective action and collective bargaining. In many ways, I am envious of my father's life, even as I recognize that he lived it specifically so I wouldn't have to. 

When looked at in comparison, my life seems a litany of failures: two failed marriages, many failed relationships, always drifting from one IT job to another, never doing much manual labour, always concerned with myself first, never connecting much with others. Some friends, some business contacts, but never the kind of driven focus that was the centerpiece of my father's life.

But we remake ourselves, especially as we get older. I am a different person than I was even at 35. I have roots, and a comfortable life even as I'm trying to find more work for myself. I'm contemplating going back to school, to avoid the death-sentence that is a gap in the resumé. I socialize more now. I seek diverse voices. I seek diversity. I seek to support those who are not as fortunate as I am even while recognizing that in itself that seeking is a privilege. I am more aware of my privilege and more willing to talk about it and recognize it and call it out in myself and others than I was even a year ago (much of that is because of my now-wife, who is so compassionate as to sometimes make me weep). I'm much more interested and connected to the messages of collective action than I was when I was younger, and might've understood the drive that burned within my father, seems to burn even now, even in his frailty and greyness.  

My father remade himself, at an age not too far from where I am now. I hope that I can be as courageous, as present and active, in my remaking. 

We are all remaking ourselves, every day, whether we recognize it or not. The trick is, what are you remaking yourself into today? Tomorrow? 

Friday, November 21, 2014


Rejection sucks.

Here is a really interesting job. It sounds really cool and it feels like a great chance and a great fit. Except someone else doesn't think so, it turns out. And so you get an email (sometimes), and they've gone in another direction. All the cool stuff you thought about, all the nifty ideas you had, are going to have to go somewhere else. Sorry, try somewhere else.

Is it personal? Did I talk too fast? Did I get my words mixed up? Did I answer something wrong? Do you feel like I'm a bad fit for some reason? No idea. There's no exit survey for job hunting, just a stream of "no" until hopefully you find a "yes" somewhere. It's a grinding, brutal, dehumanizing experience where the productivity and joy can be sucked out of you one sip at a time. The average unemployment period for someone in my industry is 9 months. The average unemployment period overall is 8.5 months. Two-thirds of a year of grinding, pulverizing rejection.

Rejection sucks.

So what do you do? I know what I do. I don't know if it will work for anyone else, though.

I vacuum the carpet (we have two dogs and a cat; the carpet always needs vacuuming, even when I've just finished vacuuming). I make a mug of tea. If it's after 5, I pour in a jigger of bourbon. I fiddle with my resume (again). I post another couple of applications, work on a couple of cover letters. If it's around noon, I take a nap (because naps are awesome and restorative and everyone should take them, as often as possible; there's a whole raft of studies about productivity boosts from naps, but this isn't that essay). I wash and dry and put away the clothes (because there's always dirty clothes; remember the dogs and the cat?), I try to learn a little something: Puppet, maybe some Python, a little javascript. I write a blog post.

I email friends, I let my partner know where I'm at. Because rejection sucks. But it's the thing you have to get through to get to acceptance. At the end of all the "no", there's a "yes". There has to be. I won't let it not be true.

Maybe I wasn't a good fit this time. But maybe next time, maybe at a different opening, maybe at a different place, I'll find a good fit.

That's how I feel today. Ask me tomorrow how I feel, and you'll probably get an essay on the cultural binding of worth and value and work, and how that makes me feel. But that's tomorrow. Today, I have to grind it out.

Monday, November 17, 2014

Self Care

Today I set up the burn board and powered through a bunch of chores around the house. I did this because another day of jobhunting seemed less appealing than scrubbing the stovetop and vacuuming the carpets (which in and of itself says something about jobhunting, I think). As a joke, a assigned points to my chore list based on how long I thought each thing would take, and then powered through them, marking them done as I went along. My partner asked how long my sprint was (one week, obviously), and at that point it became a running joke that we're now an Agile Household. Given that we both think this is hilarious, it's likely to go into the in-joke repertoire with "Stand Back Six Pack" around the house.

Today was a back-to-work day for both myself and my partner, as we had both basically taken the last week off to play videogames and just be present with each other. Which is important in a relationship. And then I promptly forgot about taking care of myself today.

I am not a big breakfast person (except Sunday Brunch, but that's a Thing here in Portland), so I usually force myself to have toast with peanut butter with my morning coffee or tea so I don't end up making bad choices later in the day. Not so today; today I realized suddenly at around 1 PM that not only had I not eaten anything for breakfast or lunch today, I also went light on dinner last night because of an upset stomach. I realized it because when I stood up to go and get clothes out of the washer I was suddenly light-headed and shaking, and nearly fell over.

I quickly heated up some soup and made a grilled cheese with salami slices, which seemed to even out my shakes, and then I went and took a nap. Because self-care is important, especially now that I'm no longer 20-something and able to eat anything on any schedule.

The IT industry often forgets about self-care, even at places that claim that "work-life balance" is important. The expectation is often that free snacks and beer and lunch on certain days will make up for the expectation of "crunch time" and deadlines, forgetting that even short stretches of long hours are fantastically detrimental to creativity, productivity, and long-term happiness.

The culture of IT is often a Young Male culture of Macho Bullshit, where staying up all night to do something is considered a bonus, when in fact it's likely to be a bad decision even if the person doing it is good at the work. For every hour over eight worked by the average human being, productivity drops by 30%. For every hour over 10, it's 80%. Also, it's bad for brains and brain chemistry to be taxed without breaks.

All of this is to say that self-care is fantastically important. It's better for the person, it's better for the employee, and it's better for the company, too. Well-rested, well-fed employees are going to be much better at finding and fixing issues, and avoiding them in the first place.

So now my burn board also includes 'toast and tea' and 'lunch' as items. Here's hoping I can keep up my velocity!

Friday, November 14, 2014

The Mistake of Hierarchy

I was having lunch with a friend the other day and they were selling me on applying for a position in their company, which I was totally up for and interested in and in fact had already done for a couple of other positions. And the point we kept coming back to was the idea that I was "overqualified" or that somehow putting in for this job would be "beneath" me. Now, this is a customer-facing position in a software company where the users are generally going to be relatively bright engineers or sysadmins, so it's not exactly a Comcast Helpdesk job, but there was still this stigma, this idea both in their head and in the culture in general that a customer-facing role, any customer-facing role, is somehow less than a job as, say, a developer, or a devops job, or something like that.

I worked in a technical support role for six years, the last three or so in a supervisory role (mostly because if I'd've taken the "manager" title, my salary would've gone down, given all the OT we were expected to do). It shaped the way I think about IT, about as-a-service solutions, and as an Operations professional, in some very fundamental ways, ways that often get overlooked in a technical interview or on my resume. Thinking about the customer as something other than a PEBKAC, thinking about the solutions being developed as a tool for others rather than just a clever new toy, is now a bedrock principle of my operational ideology. But that sort of work and that sort of thinking are often devalued in IT, for reasons that are not entirely clear, except for this false hierarchy that has been created by... someone? The culture, I guess.

The hierarchy I keep seeing goes something like this: there are all of the people who aren't IT people, and they exist basically as parasites: sales, customer engineering, HR, etc. We'll set aside for the moment that all of those roles are what make it possible for the rest of the people to have jobs, but just bear with me for a bit. Then, in the IT "approved" levels, there are at the bottom anyone who's customer-facing: account reps, technical support, etc. Often this level also includes anyone from Alphabet Row: the CTO, the CIO, the CEO, who used to be part of the elite and then decided they wanted to stop doing "real" work. Then, above them, are the "true" operations people: the sysadmins, the dbas, the SAN managers, network engineers, etc. Then, at the top, are the "real" coders, the engineers that write software and find clever ways to be clever.

If you're like me and came up in Ops, the last two layers are swapped, but that's tribalism for you. But this hierarchy is built on a model that looks almost nothing like today's IT industry. It hearkens back to the old Microsoft-in-the-90s shops where if you wanted a job in IT you got a phone-bank job in the back of the paper with no experience and were expected to either educate yourself or burn out and go back to flipping burgers. Nevermind that that model didn't even exist then, that was just the template for this image we have now.

The model for software has changed significantly in the last decade or so. There are no longer "ship dates", or "gold masters", or for that matter "boxes" in which physical media is shipped. If you're lucky, you're working in an Agile shop where you don't even have "patch days" or "releases" (though there's only a couple of places, like Twitter and Facebook, where that's actually true, and the lesson to be learned there is that a successful business model that relies not at all on the user base is the most valuable piece of Agile Methodology possible). If everyone in the organization doesn't understand at a fundamental level who the customer is and why they are important, the organization is likely to struggle in its growth plan and maybe even kill the company. 

So it turns out that having people talking to customers, people who know what they're doing and a have a strong understanding of the fundamentals as well as the product being sold, is vital to a healthy company and a good growth plan. It's seven times more expensive to get a new customer than it is to keep a current one. Good, responsive, intelligent technical support for a company is about as valuable as another round of startup funding. So disabusing not just the culture but the workers themselves of this false hierarchy is fantastically important. A good company needs to value TS and Helpdesk teams just as much as the rockstar developers working on the New Shiny Thing for the next release. And most importantly, there needs to be a clear career path for those folk, even if that means creating new roles in the TS framework. 

I liked my time in TS, and enjoyed both the customer-facing work and the emergency-response role. But it's wearing to be at the bottom of a pyramid with no clear way to move up, and very little reward either in kudos or cash for a lot of what is sometimes very hard work. I'd love to work at my friend's company, and not just because it would mean a job, but also because the environment and the people and the customers sound pretty awesome. So I hope they don't think of me as "overqualified" and I hope they don't think I see this as "a step down". That's the culture talking, not me.

Wednesday, November 12, 2014

What I Did For My Winter Vacation

(Or: the BlizzCon After Action Report)

Friday and Saturday my partner and I went to BlizzCon. I may have mentioned that. Here is what we did.

Thursday: Flew in early to LGB(T), a great little airport which happens to have a JetBlue direct flight from PDX. PDX is also a great little airport, which makes the experience of flying the PDX-LGB route one of the more pleasant experiences you can have while flying these days. Even the TSA people are unfailingly polite and positive. We then grabbed our rental car and got In-n-Out (because In-n-Out). We ran a couple more errands getting various electronica we'd managed to forget to pack, and then we were off to the Anaheim convention center to get our BlizzCon badges and goodie bags. Some folk had lined up for hours to be the first through the door at registration; we showed up at around noon, strolled straight through the line, and never stopped walking until we were back at the car, loot and ID in hand. This will be a theme for the whole con, actually: if you're not particularly invested in being first, there's really no reason to spend a lot of time in queues. Not that I didn't spend time in queues, but it was a much less daunting and painful experience when compared to other cons I've attended.

We hung out, checked out the loot, and then grabbed dinner at a fantastic hole-in-the-wall place which we'd discovered on our last trip to Disneyland, Lindo Michoacan. It was still there, and still delicious. As far as I can tell, there isn't really any great authentic mexican food here in PDX, so the chance to really tuck in (the menu is in Spanish and if you can't read it you have to ask for the gringo menu) was great. After a filling dinner, we went and picked up a fellow convention-goer from the airport, and then the three of us hit up the World of Podcasts preconvention party in the Hilton. Drinks and panels and art, oh my! We also met up with some friends we hadn't seen in ages, and two friends we'd never met in person before, and had a great time being terrible and disruptive.

Friday morning we headed over to the convention center, and tried to avoid the gigantic crowd of people waiting for the doors to open. Since the Opening Ceremony was being broadcast everywhere, and there were big screens everywhere, front-row seating wasn't really a priority. Instead, we wandered around avoiding the initial crush, then homed in on our more hardy friends who had scored some great seats and saved them for us. It pays to have dedicated friends.

Mike Morhaime delivered his usual earnest-but-incredibly-stiff speech (because while I'm sure he's a great person it's fantastically clear that being a public figure isn't really his forté), which included a condemnation of GamerGate. Then, of course, Chris Metzen took the stage, and there's a guy who's comfortable in front of crowds. That was when they announced the brand new IP that rose from the ashes of the TITAN project: Overwatch. A pretty impressive phoenix, too; a new IP in a new genre-space that Blizzard hasn't tried to compete in before, it's definitely got people talking. Then they officially kicked off the Con, and it was "wander around and find stuff to do" time. I mostly orbited the space, deciding that this or that line was too long for me, and checking out the cool cinematics, interesting art, and fantastic cosplay.

For lunch my partner and I hit up the carts lined up outside the convention center, and then dove back in for a while, me doing my random walking while others in the group pinned down what they wanted to do. We stood in a surprisingly short line to play the new Hearthstone expansion, Goblins vs. Gnomes, and then we went on to get creamed trying out the new Starcraft II expansion, Legacy of the Void.

Not wanting to hang around so much for the talent contest (though the MC this year was Chris Hardwick, a much better choice and a much more enthusiastic and positive guy all around), we bailed a little early and went for dinner, and then post-convention drinks at more parties.

Saturday was the second and final day of the con, and we got there rather early in a bid to get a good spot for the Live Raid. The Live Raid sounds pretty silly: two raid teams competing against each other to complete content in the least amount of time. It's not PvP (player versus player) (though there is a PvP Arena competition which is pretty cool), it's strictly PvE (Player versus Environment), so what's really on display is strategy and proficiency in managing a team and working as a team to overcome obstacles. I like team-based stuff, and I'm already in a raid, but I was shocked at how into watching (and rewatching) the Live Raid last year; this year, on the big screen with a room full of fans, it was brilliant. My partner mentioned that now she knew how football fans feel at a live football game, where everyone is watching and reacting and understands what certain things mean and why other certain things are good or bad or surprising. It's true that the crowd watching the raid, no matter which side they were rooting for, was very engaged and interested in the experience itself. If Blizzard decided to put on some sort of Live Raid competition every week, I would buy a season pass and watch it every damn week. I'd buy jerseys and foam fingers and everything. I would be so invested in a Raid League, it's not even funny.

After the Live Raid, which was awesome, we then went to catch the collection of various trailers, cinematics, and clips at the theatre they set up. They had rolled everything into one 30 minute presentation which included a teaser trailer and a screen test for the Warcraft Movie (due out in 2016) and that was very, very, good. I then snuck back to the hotel for a nap and a soak in the hot tub while my partner and some friends chain-queued for more demos. I joined up with them and tried out the Overwatch demo, and I have to say I was actually quite impressed.

Overwatch is a FPS battleground-model game right now, which means it's squared off to compete with games like Team Fortress 2 or Call of Duty, which is a risky and somewhat gutsy move on Blizzard's part. That said, what I saw and what I played, I liked. It's still early days; the beta isn't even going to be live until "sometime in 2015", but the build we demoed was pretty solid. The character models and gameplay felt good and tight, if not tuned perfectly, and the character designs and abilities were distinct and engaging enough that even though I don't usually play FPS games, I'll be interested to try this one out. Plus, Blizzard explicitly said "we want to do better with diversity and gender representation and here's our first try," which was five women, three PoCs, two robots, and a hyper-intelligent gorilla wearing glasses. Which is a pretty good first try considering TF2 has no female characters and Ubisoft keeps complaining that women are too hard to code.

The closing act for the con was Metallica, and I wasn't a Metallica fan even back when I didn't have hearing problems, so instead we played some more of the demos, then headed out for dinner and delicious, delicious sushi. After that we went back to our hotel and played Star Fluxx and drank until the bar closed.

And that was BlizzCon 2014! It was a lot of fun and assuming I'm working again soon, we'll try and go back next year. Seeing friends both old and new was great, and I am sad we didn't get to spend more time with everyone, and part of the hope in 2015 is to make that possible by getting a more centrally-located room with space to entertain with boardgames and drinks and whatnot.

The Limits of Human Endurance*

* - a very specific human, i.e., me.

This past weekend was BlizzCon, the gaming convention for all of those people out there (like my partner) who like to play videogames made by Blizzard with friends. I'm not as hardcore as some other players (like my partner), but as a "filthy casual" I did enjoy both the spectacle of going to BlizzCon and the chance to meet up in meatspace with folk who I've been friends with for a while. We had a fantastic time doing random stuff both at and not-at the convention, and it was, for the most part, quite enjoyable.

The trick is, I'm anxious in crowds. This didn't used to be a thing, but somewhere over the last ten years or so I've developed a pretty serious anxiety problem in groups of people; where there are crowds of any sort, I tend to not do terribly well, and when the crowds get loud and random, I get even less functional than normal. Thinking about it, when I was younger being up on stage in front of people would terrify me to no end, but being in the crowd was often quite freeing; now that I'm older, being in the crowd terrifies me but the idea of getting up on stage in front of them is if anything energizing. That's an interesting point to come back to some other time. Right now, I'm talking about my limits and crowds.

I had several moments during both days when I had to "check out", leave the convention center, and just sit and be still. Medication helped (I think without medication I couldn't have gone at all), but the ability to step away and just breathe was really important.

We also had a two-day visit to Disneyland planned, and the assumption was that Sunday would be busy but Monday (when everyone went back to school) would be OK. And Sunday wasn't bad at all; we had a very good time running around and taking rides and such with several of our friends, and I was even rather looking forward to the next day.

However, the thing we hadn't counted on was that it was Veteran's Day, and so all the schools were closed. Which meant that Disneyland on Monday was actually more crowded not just than I expected but more crowded than when we went on Sunday. This resulted in me damn near having a breakdown, saved only by the judicious application of supportive hugs from my partner and the decision to completely abandon the park for a second day. I still feel pretty bad about the wasted money, but it was either that or having a panic attack.

A point that my partner made later, which I hadn't thought about, is that crowd management (for me, at least) is obviously a finite resource (just like willpower, decision-making, and dozens of other resources that human brains use all the time), and we had manage to find my limit. Sometimes finding a limit like that is relatively easy, because a resource is ablative; other times, finding a limit is hard because it's a boolean setting. I was fine, until suddenly I wasn't. And at least part of that suddenly not being fine was the mismatch between my expectation of crowds and the reality of the crowds themselves. Sometimes that mismatch can work in my favour; if I'm expecting or remembering worse, and it's not as bad as I think, that's often a huge relief that allows me to deal with stuff better than I normally would.

Managing expectations and finding limits are both as important in the industry as they are for any human experience. Planning for failure modes isn't defeatist thinking in life any more than it's defeatist thinking to have a Disaster Recovery plan. Knowing when to say when and abandon the sunk costs is just as important as investing and committing to a plan or a technology.

Wednesday, November 05, 2014

Early to Rise

Tomorrow at 7 AM I board a Jetblue flight to Southern California for an extended-weekend vacation with my wife, who (by virtue of being gainfully employed) is financing all of this (along with some very generous friends). We're going to meet friends whom I've known for quite some time. Some of them I've met in-person before, and I'm looking forward to reconnecting. Some of them I've never met or seen, and I'm looking forward to putting a voice and a face to the personality I already know. Some of them I consider colleagues and heroes and I just want to give them whatever support and cheering I can.

It's odd, though, because as I get older and grayer, I get more interested in playing games and thinking about the games I play, and less interested in identifying as a "gamer" as a significant indicator of my personal identity. Honestly, I'm not sure I'd make the grade, as it were, as a gamer in most circles: I came to videogames pretty late in my life (like, late-20s late). It was my mother and my sister who were really into videogames when I was a kid. The Atari 2600 and the TRS-80 and the Commodore 64 that lived in our house weren't mine and I wasn't particularly engaged with them. Even when I was lobbying my parents to shell out the cash for a 56K modem, it wasn't to play games on BBSs, it was to make connections and share recipes and programs and stuff like that.

I've been playing tabletop games since I was eight or nine, and I started playing euro-style boardgames when I moved to San Francisco and got involved in that, but again, that was in my 20s; before that, I was mostly about rolling dice (though I didn't really engage with Dungeons and Dragons until 3rd Edition, and I know those words probably don't really mean much to most folk but trust me I just forfeited my "nerd" card with that statement).

I read a lot of genre fiction but that doesn't make me a "fictioner"; I've watched a lot of movies and TV but that doesn't make me a "movier" or a "TVier". I play games, but that doesn't really make me a gamer. And I've spent a non-trivial amount of time distancing myself from the "nerd" and "geek" subcultures because they are often fantastically toxic and frequently unwilling to even admit to the toxicity.

The thing is, though, I'm a male and I'm white and I work in IT, so I get a pass on a bunch of stuff by being emblematic of the norm in all of these subcultures. I wear glasses and t-shirts and jeans and I can quote Monty Python so my gaps or quirks are overlooked. No one challenges my right to engage in the conversation about Batman despite the fact that I've only read a handful of trade paperback collections by only a couple of authors that I really like, and none of the historical stuff. I can pass, so I get a seat at the table. I don't have to produce my bona-fides.

This got really dark and maudlin so I'll just finish up by saying that I'm really looking forward to seeing my friends. And I'm glad I get to make this trip with my wife, who loves and engages and invests in all of this and thereby makes me want to love and engage and invest in it, simply through her force of will. I'll be back next week with more musings, and probably a couple of days of cursing at python.

I promise I'll have fun storming the castle!

...Or I Will Replace You With A Very Small Shell Script

Once again I remain convinced that there is no problem that is insurmountable when a possible first-draft solution includes a hacked-together bash script.

I spent the better part of an hour trying to bang my head against Windows, gave up, and grabbed my Mac laptop, opened a terminal, and accomplished the end-goal in 10 minutes, which included writing my own hacky first-draft do_the_thing.bash file. More and more, my solutions (including production-ready solutions in some cases) start life as do_the_thing.bash, and eventually evolve into a proper script with error conditions, failure modes, self-checks to prevent multiple runs, etc. But mostly, they start as do_the_thing.bash, which I blame a developer friend for doing in front of me and thereby teaching me terrible habits.

My own personal goal, after I get back from my convention trip, is to throw away do_the_thing.bash and rewrite the entire process, soup to nuts, in python (including checking for ruby and installing it if needed, among other steps)(and yes, I know, but ruby is also a thing I should be learning, and I feel like this is a good test case for that). I'll be leaning heavily on my more advanced dev resources (aka, my friends Rachel and Matt), but this is the first project I feel really excited about trying on my own.

When I was just making the transition from Tech Support person to DBA, I was often convinced that it was faster and easier for me to just execute a given command directly, rather than building a tool that executed a command. But as I've grown and matured, I've been put in positions where the execution of a particular command isn't the issue; it's the repeated execution of some set of commands that must be automated, and so I've built up a repository of script fragments stolen researched and designed as a library. It happened in bash and SQL; it's starting to happen in python, and I imagine as I get more dev experience it'll happen more and more in other languages. Often the hardest part of learning is making the transition from reinventing the wheel to recognizing that it's not always necessary to reinvent the wheel. Wheel-inventing is an important step; that's the point where I'm learning the "why" of things, not just the "how".

For now, though, I'm all about do_the_thing.bash. Or do_the_thing.py, or do_the_thing.js, or whatever. First build a skateboard. Then build a bicycle. Then build a motorcycle. (As a life-long motorcycle rider, we can just stop there.)

Monday, November 03, 2014


Friday night I was very privileged to be able to hang out with my wife at her place of employment; it's a very cool, very forward-thinking place to be working and I'm extremely grateful that my wife gets to work there (not the least of which because it means that my night-terrors about being out of work aren't money-related). I've met a number of really nifty people who work there, but that night was special. That night, I was surrounded.

Specifically, I was surrounded by enormously talented, confident, intelligent women who work in development, engineering, and operations. It was not exactly brand-new to me; I've taken to trailing along to PyLadies with my partner and it's where I met some really fantastic people I'm very happy to know. But this was an environment where everyone knew one another; everyone was relaxed and open and laughing and having a good time and talking about nerdy stuff and the energy was just fantastic.

I tried very hard to be quiet. As a man, especially as a white man in IT, my voice is basically the default one; it's the voice that comes out of most of the CEOs and CTOs and CFOs and the rest of the alphabet-soup-level people not to mention most of the Dev and Ops people. So when I found myself in a situation where my voice wasn't the default, I tried very hard to listen more than I spoke.

I had a great time, but I was reminded again that there are amazing people here in Portland and amazing companies here in Portland and I want to be a part of that amazing stuff. And that listening is a skill that I need to work on.