So another year is over and I keep seeing posts (some great and some rather canned, both enjoyable) about what 2019 meant for folks. Which made me think, what did 2019 actually consist of for me? I don't consistently write posts like this last one I wrote was 6 years ago 2013 and I wasn't really interested in doing it again until this year.
Too much happened not want to process it. I went through some personal things, a job transition, I went to a bunch of conferences and felt like I learned so much (as trite as that may sound).
I broke it down by section.
I don't think time really allows us to be the same people year over year and this year was no different. I don't think I'm the same person who made it through 2018 looking at 2019.
I did learn quite a few things about the world and myself. Some good and some bad.
- I have value as an engineer and my capacity to grow and lead is much greater than I believed. I spent a lot of time in toxic work environments, being gaslit and minimized by senior engineers on the teams I was on. Coming into Microsoft and then migrating onto the team I'm on outside that place, I don't feel this way anymore, I don't feel like I'm in the way, but I can contribute at a higher-level.
- Taking care of my body is a good idea. I keep learning that, I'm reaching the end of my 20s and my body isn't the same as it was at 21, let alone 18. It needs care and maintenance and green vegetables. I wrote a really long blog post on taking care of yourself.
- TypeScript has continued being the most rewarding programming experience I've had in my career. I can't say enough good things about it. There's lots of ways it could be overkill, but the tooling and the environments and the feedback it provides you as a developer without getting in your way, ughhh too good.
- Fighting with errors never gets anywhere, taking them piece by piece is usually a better approach. I used to get angry by error messages and things not compiling or tests failing, but I feel like my attitude shifted into "Hmm...why did that happen?"
- I am less interested in learning new frameworks unless they meet a threshold of almost instant productivity. For instance, Vue and Svelte are fantastic and come with a lot of benefits, but they have to compete with 5 years of muscle memory of React and the initial learning curve. My views on frameworks haven't really changed since this I wrote this blog post and I'm hoping the root of that doesn't change but I hope I can re-examine my defaults on this.
- Speaking of productivity, I have side projects that I really want to ship and I'm not sure where I can make time to do the planning and product planning and designing that goes into them. That spiral never seems to end.
I worked on a few things this year outside of work that I was really proud of:
- Data Structures and Algorithms: I worked with a mentor to understand some CS fundamentals, like data structures that aren't common to TypeScript (like linked lists and trees), basic search algorithms and common interviewing questions. They're all documented in this repo and have accompanying unit tests.
- Basic React Todo List: In one of the interviews I went through, I built a simple todo list. That alone, with a timer was awesome. It was like perfect, we just sat and built something together and I narrated what I did. A few months later I rewrote it with Hooks and then recently updated it again to use Immer and state reducers.
I gave several talks this year, about TypeScript and React called "Trial by TypeScript" and I have that at Seattle React.js Meetup. I really loved doing that and met so many great people from that community. I've been doing a lot more speaking the last couple of years in venues like this and I hope to do more of it.
I started a newsletter this year which you can subscribe to if you're interested (you can also subscribe if you're not interested). I was able to put out a couple issues and have plans for more this month.
One of the other projects I worked on was my project, Downwrite. This is a markdown writing application that I've been working on. I really wanna ship it but I need someone to help me do some actual planning, I'm not a great project manager for myself. It's open source, I'm doing a big re-write to use serverless GraphQL and Apollo.
At the beginning of the year I was about a third of the way through my 18 month contract at Microsoft. I was planning on moving there full time, but that wasn't in the cards.
So I went out on interviews and I prepped for interviews. I read through books like Cracking the Coding Interview and Grokking Algorithms. I had my resumée audited and did interview prep. I walked out of interviews, I was disappointed by some interviews, and I learned so much about myself, the industry and this process.
I wrote more about that process here.
Don't get me wrong, I met lots of amazing people and great engineers and made a few friends along the way in this process. But it wasn't a picnic.
I hung up on Amazon, twice. In one solution during a technical interview, I used the keyword
There were some I enjoyed quite a bit and learned a lot and the little algorithms were really fun. Like I said, I met lots of great people, the bad apples, however, were just a little more animated than the folks who let me nerd out about TypeScript or why typed languages are a cool thing.
The biggest thing I learned, is that my barometer for whether I can work someone is pretty well-tuned at this point, saying "no, this won't work" and moving on is a great way to not fight against what that metric is telling me. When I figured that out, cutting things short, declining to move forward was a much clearer choice to make. You're not obligated to participate in something that makes you feel disrespected or unprofessional.
There wasn't one process that let me walk away without a take-home assignment. Some had an outrageous scope for the time allotted and I turned them down. Some were really really fun, like one I got to like build MobX from scratch and another one I got to build out little algorithms I had read about.
There's one I remember being really outrageous, where the company asked me to build out a whole screen to a pretty high fidelity in less than a week, it needed to be responsive, built with React and matched the company's branding guidelines, I had a good laugh about that one.
Finding a Place for Me
Eventually after a couple offers, I ended up at the place I'm at now a small agile team, working out of Pioneer Square. I'm noticing I'm enjoying have a big impact on a small team, that leadership opportunities are being handed to me and the things I enjoy about programming like trying things and experimenting with approaches.
For instance, I made it a point to re-write the codebase in TypeScript and got no push back and was given the freedom to try and fit it in a really nice time-box. I started speculating that working with GraphQL would be beneficial for all the services we had to interact with and being able to generate React Hooks for a given query would be really helpful if we were dividing labor across the stack. To my surprise, the team welcomed the idea gladly, and it's what we're doing 5 months later and I'm (still) really excited about the work we're doing.
This was a big and stressful part of 2019 for me. And I'm just glad it's behind me while still I feel like took away so many important things, like small teams work for me and being in a place that values my input and is open to trying things is a great environment for me to work in.
I went to three conferences this year. I felt incredibly lucky to have been able to afford to attend these conferences and travel to the Netherlands for the one.
- Framer Loupe: I didn't intend to go to this one, but someone asked me to come and it was in Europe and I needed a break from the interviewing grind. It was really interesting going to a design conference. I spent a really long plane ride processing what this community was looking for since Framer uses React and TypeScript as their main interface for building prototypes. My biggest takeaway was that the line between engineer and designer is so wonderfully blurry at this point and that there's a weird obsession for these types of tools to build "production code" which feels like misappropriated energy.
- TSConf 2019: This was just affirming of all of the things I loved about TypeScript before and made me excited for the ways people were building really cool things with it. I reconnected with some friends and got just take a lot of new information in and make an Irish exit.
There's more conferences I want to go to, I went to React Rally in 2017 and I'm interested in going again. I definitely bought tickets to React Summit in Amsterdam and I'm still going to see if I can repeat TSConf and CascadiaJS. There's also GraphQL Day in Berlin that I'd like to go to, but the goal for a few of those events is make someone else pay for it.
Well, I finally got to travel to Europe, had never been. I really want to go back, I'm thinking one of those conferences would be lovely to take me to another part of that continent, I'd love to go back to Amsterdam, but Berlin and coastal Ireland would be lovely. I was so tense about getting my passport in time and when it finally came, my dad commented out physically relieved I was and he actually took me to the airport for my flight and it was such a nice ride down.
This year I finally fell in love with flying, it always made me feel nervous for whatever reason. But there's something about being stuck in the air with nowhere to go that leads to the best time just getting lost in a book. Plus, you're up there close to God with all those free sodas.
I finally saw the Who perform when they came to Seattle. I loved hearing them live finally, even it was just Pete Townshend and Roger Daltrey with a backing band. The two of them did this wonderful stripped down version of "Won't Get Fooled Again" with Roger stomping along as it's own percussive element and Pete reinterrupting the synthesizer parts on acoustic guitar, (you can see it from an earlier part of their tour here). They've been one my favorite bands since childhood. The Who have more US tour dates in Colorado this year and I really want to see them again.
But I also got see the Seattle Symphony at Benaroya Hall.
Google Stadia got released and I've been enjoying it so far, but it has made it clear how bad my television is and how bad it needs replaced.
I got new glasses this year and I'm told I need to wear way more often. It's an awkward transition because I dropped these and broke them a week ago getting out of a car.
Beer seemed to lose it's appeal in 2019, I got really into trying different wines. I'm pretty cheap when it comes to drinking if it's just me. Ravage's Cabernet Sauvignon became my go to cheap grocery store red wine.
I did get through quite a few books in 2019. Here are a few of my favorites:
- Amateur: A Reckoning with Gender, Identity, and Masculinity by Thomas Page McBee: This was such a fantastic read about re-examining masculinity and what makes it toxic and how confronting the roots lead validating the gender and body you're in. the author was the first trans man to fight at Madison Square Garden and this is his memoir of getting to that fight and unpacking what it means to be a man.
- Ruined by Design by Mike Monteiro: This book was a manifesto on how to be a decent human being in tech, it outlines what responsibilities you have and whether we can clean up the messes of Uber, Airbnb, Twitter and Facebook. I'm both optimistic while growing more jaded.
- Coders: The Making of a New Tribe and the Remaking of the World by Clive Thompson: I went to see the author on his book tour and it was interesting to read this. Since this is a world I inhabit, it's weirdly fascinating to see it from the perspective of someone who's looking at it with fresh eyes and answering the root questions of why things are the way they are and how they got to be that way.
Got really into Marvel this year. I found reading comic books and easy way to disengage and enter into a wonderful fantasy world where villians are actually stopped and not appointed to the Supreme Court or bankrupt companies while walking away with almost \$2 billion in cash. But the collector's editions that Marvel publishes, had like 4 or 5 issues inside them and they were the perfect size to devour in a single sitting. I loved taking them on plane rides. Plus everything going on with MCU's Phase 4 and not having another film until spring of 2020, it was great to still engage with these characters and speculate on what's coming next.
Some good Marvel titles:
- Nick Spencer's current run of the The Amazing Spider-man; this feels like perfect Spider-man, the way he was meant to be understood.
- Mark Waid's current storylines on Doctor Strange; I just love Doctor Strange, this is more cosmic and space driven than magic driven and it's a fun twist.
- House of X from Jonathan Hickman; this was just pure hype that delivered and I was a fair-weather X-men fan to begin with
- Nova Vol. 1 from Dan Abnett; with all the Nova rumors with the MCU, I was really really eager to dive into who this character was and I was not disappointed.
I got to see my dad more this year than I had since I moved out to the Pacific Northwest. We had a big reunion and I spent time with both of my sisters and my sister's kids and my older cousin and his daughter. And I more affirmed in those ties and how much they all mean to me.
One funny thing that happened, my nephew Patch (5), was driving his mother up the wall when we were all together. I cut in and asked if he wanted to read with me. I had a Fantastic Four comic with me and he flipped through it and he could point out a lot of the characters like Ant-man and She-Hulk and Spider-man. That moment was sweet on it's own but it got better. Before they left I asked him if he wanted to take it with him on the plane and he asked "But do I have to mail it back to you?" and I said "Don't worry about it, it's all yours" and then he gave me a big hug. Then to make it better, he started school this year and kept it in his backpack for weeks.
I don't have any resolutions other than focus on the hobbies I care about, like reading, exercising and sitting and doing absolutely nothing. I'm just thankful, thankful I made it through, thankful to have connected with some many new people, thankful to have grown as a person.
Happy new year to everyone and I would love to hear how your 2019 turned out!