I began my last two posts by apologizing for the delay since my previous post. I even said I didn’t want to be a broken record by beginning every post with an apology. But at this point, it’s too good a joke to pass up. It has been a whopping four months since my last post! That’s more than double the delay between the last two.
The other part of the joke is thinking that there is an audience out there that is pining for my next missive. When I finally got around to hooking up Google Analytics for this site, that told the sad tale: a total of thirteen visitors in the last three months. Ha.
But I never really expected to have an audience. The main reason for writing this blog was to keep a journal of my navigations through some new, uncharted life territory. Of course, it also could serve as a promotional tool for myself as an independent software contractor or for my startup idea (Bravauto). But job number one has always been to record my thoughts and struggles, to give me something to look back on, and to share my experiences, just in case someone out there might benefit from it.
At the end of my last post, I was talking about my state self-employment assistance funds running out and my concerns about draining my savings to be able to continue working on Bravauto. Well, I won’t keep you in suspense: I wound up getting a full-time job. I started as a full-time, senior back-end engineer at Weedmaps on July 15! I am doing Elixir and nothing but, and I am doing it remotely from my house–two things that were very high on my list of priorities. Also, the company has great processes and is very mellow and laid-back. I don’t think I could be happier!
Alas, the downside of the employment search process and then returning to full-time work is that I haven’t done anything on Bravauto in nearly two months. I do not want to walk away from all the work I put into that app though. Once I’m a bit more settled at my job, and once the colder weather sets in, I want to commit myself to working at least a few hours a week on it. I’d say that this startup idea has transitioned from my full-time goal for 2019 to a long-term goal that I hope to realize over the next couple of years.
When it comes right down to it, I have always been pretty risk-averse. I’ve never been an adrenaline junkie or a wheeler-dealer with money. I get nervous if I don’t have a good cushion of money in the bank. I’m also not the gregarious sort who feels comfortable approaching strangers, talking to groups, or trying to sell people on something.
Of course, I say all that and immediately think that it’s not entirely true. I’m kind of like a manic depressive but with introversion/extroversion instead of motivation. If I’m in the right state of mind, I’ll just dive in and start talking to people. But far more often, I’ll ditch out and ghost people in a social situation.
All of this is to say that I think going back to a full-time job was inevitable for me. Also, I do think I can eventually get the Bravauto app to a point of being useful, but I think I might need to find a more gregarious personality to help me pitch it. Well, no sense worrying about that any time soon.
A Bit More Bravauto
Just to close the book on my progress on Bravauto: my last bits of work on the app in May and June were almost exclusively on the React Native app. I spoke at length in my last post about the frustrations and struggles getting rolling with React Native. Things didn’t get any smoother after that.
I continued tweaking and refining my use of Phoenix Channels to load the vehicle evaluation data from the backend. I also added a login screen and made that vehicle eval code load the logged-in user’s evaluations instead of those of a hard-coded user.
Then in mid-June, Expo finally released version 33 of their SDK, which bumped the React Native version up to 0.59. This meant that React Hooks were now available in Expo! I generated a new React Native application using Expo 33 and started porting over my existing work from the bare RN project I had been using thus far. This was trickier than I expected because I had used the Expo generator that creates a basic app layout with navigation and multiple screens. I probably should have just done a bare project, but it was nice having that boilerplate done for me. I just had to thread in my existing work…carefully.
Anyway, I put in my first few job applications only a week or two after my last post, and that endeavor quickly swallowed up a lot of my time. More on that in a bit. With less time to work on the app and the reality of even less time once I landed a job, it felt like the end of a chapter.
Because of this, and because I had promised myself after I was laid off that I would try to get some meetup talks under my belt, I whipped up a presentation about my use of
use-phoenix-channels.js and Phoenix Channels in my app and delivered that at both the local Elixir and React Native June meetups (which are a night apart). The talk was well-received!
The Dehumanization of Employment Seeking
While I was neck-deep in my job search, I wanted to write a post about how frustrating and dehumanizing the process is, but I held off. Now, a couple of months down the road, I’m not sure how much I even want to talk about it. Plenty has been said on the subject. But since this is more of a “here’s what Ben has been up to” post instead of one having useful technical information, I might as well give a quick summary.
Here are some numbers: I submitted my resume to fifteen companies with job openings. Most of these were for jobs working with Ruby on Rails. Only a handful promised at least some Elixir. I really, really wanted to work with Elixir professionally! Only Weedmaps was promising fully Elixir work, so I’m so glad that worked out!
Three companies never responded at all. I guess I should feel good that I got a dozen responses! There were a couple of positions that went nowhere fast: one that expected me to relocate, and one that I’d applied to because of a post in the Elixir Slack jobs channel, but which turned out the hiring person didn’t know anything about! There were about four or five companies that either triggered alarm bells (bad Glassdoor reviews or a smell of desperation), or I dragged my feet because I already had enough options in play.
I got pretty far along in the interview process with about four or five companies. I got a couple of rejections, which stung but I had to be realistic that not everyone was going to jump at hiring me. I was still firmly in the running with a few places when I got the offer from Weedmaps. But, I got my top choice and dream job, so I shouldn’t even put much thought into those that I wasted time with along the way. I only say “wasted” because they weren’t really what I wanted.
There is so much BS and grandstanding involved in this process. It is stacked in favor of extroverts, but ya know, an extrovert that looks good in an interview could also turn out to be your cocky, know-it-all, jerk who makes everyone’s life miserable. And really, it’s all a crapshoot. It is virtually impossible to know how well a candidate will do at a job other than ascertaining that they can at the very least do the work. And even if someone is a genius programmer, they could be an HR nightmare and not work out.
But here is my biggest gripe about the hiring process: the timed code challenge. I had two of those, and the first I completely failed. They didn’t even respond after I sent it in. For the other one, some problems were pointed out in my solution after I was rejected and asked about it. Ironically I had misunderstood one aspect of the challenge. Also ironically, the challenge could be in any language and I chose Elixir to try to impress the company (that job would have been partially Elixir) and I was so pleased with myself for getting the whole thing done in the measly two hours allotted! Nope.
I don’t understand imposing time limits on a challenge, or at least not a short limit like an hour or two. Is your company under fire and about to go bankrupt if this code doesn’t get committed and deployed immediately? I am also the sort of person whose brain locks up if forced to do something as fast as possible. I completed several other challenges that had much more liberal time limits and did great on them. I suppose the lesson here is that this company is one that I wouldn’t have been happy working for anyway. The best code is carefully considered, thoroughly reviewed, and probably refactored.
To be fair, I managed to avoid a lot of the traditional but stupid interview crap: the whiteboard interview or being expected to implement well-worn and readily available algorithms (the two-hour timed test was close to this) or the truly awful brain teaser questions that have nothing to do with your job! The job search was a lot of work and very hard on me at times, but it all worked out in the end and I am very happy at Weedmaps.
I recognize now that I stayed at my last job too long because I did not want to submit myself to the dehumanizing job search process. I have also heard this from several other people and I think it is very common. In a way, you could see this as a self-protection thing for companies: if employees are afraid to leave then you have less turnover and problems with being understaffed. But I think that’s BS. An employee that is miserable in their job but sticking with it out of fear is a ticking time bomb and probably a liability.
One last interesting tidbit about my job search: the job I wound up getting wasn’t from an ad; it was word of mouth. I think there’s something to that. If you find yourself looking for work, get out there to meetups and talk to people. You’ll probably find something better from a friend at a meetup than you will from an ad.
Money for Words… Again
The job search wasn’t the only thing taking time away from working on Bravauto. I had also wandered into joining the stable of tech writers for HitSubscribe, the technical content company started by the author of Developer Hegemony (which I talked about in my first post). This isn’t the first time I’ve been paid to write either, spending the better part of a the nineties and into the 2000s doing music writing for Portland and Seattle papers (PDXs, Willamette Week, The Rocket, Seattle Weekly).
For HitSubscribe, I wound up writing six posts for them between late May and early July. As it turned out, these were all for the same end client, the Application Performance Monitoring company called Stackify. You can read all of them on my author page on their site.
Writing purely technical content, and particularly if it was paid work, was another reputation building exercise that had been on my radar since last winter. So I was glad to have made a stab at it. Ultimately though, I’m not a fan. I’m too much of a perfectionist about my writing, so I would take too long to write these pieces, resulting in earning about minimum wage for them.
Also, it seems like most of the work is for topics that I have no interest in writing about. I think I lucked out in getting three topics about Ruby, and then three pieces on MTTR, a DevOps concept that, even though I wasn’t familiar with it, wasn’t much of a stretch for me after years of working for a high-traffic site and finding/fixing problems with it. All of the pieces were good learning experiences for me, but I don’t think I’ll be pursuing that again anytime soon.
Onward and Upward
Anyway, I should wrap this up. We don’t want this to be a slog instead of a blog. :-)
It’s been a very interesting and tumultuous ten months since I was laid off from my job of eleven years. I’m very glad that I made the effort to get into the self-employment assistance program and put over 300 hours into the initial version of my startup app.
I’m glad that my brother urged me to read Developer Hegemony. Even if I didn’t successfully break into software consulting, I learned a lot about myself (like I’m not cut out for that) and decided to take my public programming image a bit more seriously. I will continue to keep that in mind.
I’m also very glad that I took the time to replace my fifteen-year-old, long-untouched web site with this new one, as well as write this blog about my efforts. Even if no one ever reads any of this, I can refer back to it and send people to it if they want to know a bit about me.
I’m glad that I overcame my shyness and went to dozens of meetups. I’m especially glad that I asked a meetup acquaintance if his company, Weedmaps, was hiring! Nothing ventured, nothing gained.
To be perfectly honest, I have no idea how long it will be before I write a personal blog post again. I will be disappointed in myself if I never get back to working on Bravauto, so if I do, I can post about that. I would also like to write some shorter, purely technical posts. So maybe I’ll rig up a category system on here and make a new category for that… or maybe put them on Medium.
But if you have actually read all six of these posts, let’s call this the end of a volume. I’m in a new chapter of my life now, and I am more awake and aware as well. Hopefully, I’ll find the time to share something from it somewhere, somehow. Bye for now.