Living in an Employer’s Market as a Developer

The great thing about being in technology is that it is a growing field. There are tons of jobs, and companies are always complaining about how hard it is to find talent.

That is until it isn’t.

It isn’t clear what will happen during this pandemic, but the layoffs and hiring slowdowns or pauses have started.

Many developers have never known a time when companies were not clamoring for their services and bidding against each other.

Having my startup go bust in the dot-com bubble bursting of 2000-2001 and having seen what employment options were like in 2008-2009, I thought I could give some advice to those of you who may be in brand new territory.

If you find yourself unemployed during a bust, you will need to change your tactics. You may be used to an employee’s market, but you are entering an employer’s market. Companies will suddenly find many options for their roles—very qualified, even overqualified, folks who are willing to take a lower salary for their positions. Jobs you wouldn’t have considered previously are no longer returning your e-mails. They can find people better than you cheaper.

Even if you currently have a good job, the security of that role may not be what you expected. Be prepared.

Save your money

If you live somewhere expensive, the rent and other prices are likely to go down more slowly than salaries. You need to start cutting your expenses and build up a cash reserve.

Hopefully, you already have a few months of money put aside somewhere other than the stock market. In a crash, selling your investments in the dip is the last resort. If you don’t have that cash reserve, start building it now.

Stop unnecessary purchases: buy groceries instead of door-dashing meals, take public transportation instead of Lyft, do your laundry instead of sending it out. This is the way that most people live.

You will be surprised how much money you can save by making a few changes. Once you have your reserve (enough to live on with a reduced, reasonable, lifestyle for a few months), you can go back to your spending patterns, or continue to build your savings (which is smarter). During the previous busts, very good, very senior developers ended up unemployed for many months.

Stay Positive

I left a good job at Microsoft to join a startup in 1999. That startup crashed a few months later. After trying to help the leadership revive it for a few months, I joined a friend in building a new startup. We had some angel money, but I was paying the rent and some of the other bills myself sometimes. We were ready to go out for our first real round of funding in September of 2001.

After 9/11, what was left of the investment and job market completely fell apart. We could not raise money. After a few months of trying to keep things going, I needed to start earning a paycheck again. I was selling my stock to pay the bills, and those shares were now worth half of it they had been before.

I assumed it would be easy to find a job. It always had been.

Jobs were suddenly scarce.

I found myself applying blindly to companies that I would never have considered before. Few replied.

Weeks turned into months. I started to lose faith. Occasionally, I would get an actual interview. But by then, the fire had gone out in my eyes. I was passed over for roles that required way less experience than I had. I had lost my confidence, and it showed in interviews.

Eventually, through a friend, I was able to land a contracting job, back at Microsoft. It was a bit humiliating, but I was happy to be working and earning again.

I later found out that I was one of the last people to get that level of contract. The contracting company realized that it could hire people of my seniority at lower contract rates.

Working again gave me my confidence back. I did well and got converted back into a full-time role. When I did, though, my manager negotiated my salary down. I had to take a serious pay cut. I had no choice, and he knew it. I took the job.

Now, as an employee again, I was on interview loops. I spoke to many good developers who were in the same situation I had just left. They had lost their confidence, just like I had. Their answers to questions were non-committal. They were tentative. They were so used to being rejected that it made it hard to approve them.

If you find yourself in that situation, you need to do your absolute utmost to project a positive aspect and some self-confidence in your discussions with recruiters and employers. Even if you have to fake it. Displaying confidence will make a substantial difference in how you interview.

Some money is better than none

If you get an offer, it may be well for a lot less than you expect. You may need to take it anyway. Some money coming in is better than none. The market will rebound eventually, and salaries will go up again. When that happens, you will be able to find a new role that will pay you appropriately. I left Microsoft for a second time when the market rebounded, and I got an offer for more than my old salary from somewhere else.

If the offer is much, much too low, take it. Keep looking for another role, but now with some security. No one says you have to put every position on your resume.

What you want to do and what you can do

Are you a developer, but a company is open to giving you a job as a tester or program manager? Are you an engineering manager, but a company is interested in talking to you about a product manager role?

If you are finding it hard to find a job doing what you want to do, it may be time for a temporary (or permanent) career change.

I wouldn’t automatically recommend this, though. If you switch into another role, when the market opens up, you may find it hard to go back to your preferred job. The market now sees you as a product manager or tester and may not consider you for a development role (especially if you are in the new position for a while). You may find that you enjoy the new job and want to pursue a new career, which could be a benefit. This situation happened to a few friends of mine during the 2008 crash.

If you decide to take the career-switching role out of necessity, make sure you keep your development chops up: contribute to open source, build apps or sites, whatever keeps your skills up-to-date.

You may be tempted to take a role outside the industry. This should always be the absolute last resort. Even with a strong resume, you may find it hard to get back in if you are in a very different field for a few years.

The sad fact for those who struggle during these periods is that most folks in the field will keep their jobs. When their companies start hiring again, these people will have a strong survivor’s bias. They may not understand the choices you had to make.

Build (and maintain) your network

Keeping up with your friends in the industry is probably going to be your best bet at finding a new role. Your friends can get you past the gatekeepers at the companies and make sure you are seen. They also may have more insight into what roles are open.

At first, it may be difficult to reach out to them. You may be embarrassed about the situation you are in. Get over it.

If you have been in the same company for a long time, or don’t have a big network in your area, start attending meetups or local conferences. Meet developers at other companies. You are likely to meet a lot of other folks in your situation, this is ok. You can form a group to share tips about companies hiring, maybe they may know someone at a company with a role appropriate for you.

Stay in your safe harbor

If you have a good job, with a good salary, keep it. Build your savings because even good companies don’t always survive. If you were considering that it might be time to move on and find a new role, don’t.

Even if you have an offer in hand, when companies hit a rough patch, after freezing hiring, they start rescinding offers. A friend of mine left his steady job during the bust to join another established company. He quit his old job and then the weekend before he started his new one, his offer was rescinded. He was now unemployed. His former company didn’t want him back. They got someone more senior for his role at the same salary.

The Reality

If you have been privileged to not know a time when you were worried about money, this will be scary. Hopefully, you find a new job, and this time will be brief. Many people in the world are not that lucky. They live constantly worrying about how they will pay their rent, or feed their families. When you are on the other side of this, realize how lucky you are and take your new perspective to be a better, more empathetic person. Do your best to help those in need, now that you have an understanding of what their reality is.

It will get better

Economies are cyclical. After the dot-com bust, there was exceptional growth in the tech industry. After the 2008 contraction, the tech sector went back into massive growth mode. If you lose your job and find it hard to get a new one, don’t despair. Things will get better. Until then, just focus on doing what you need to until that happens. Learn from this experience and be ready for the next contraction, because there will be one. Always.

If you don’t lose your job and you are in a position to make hiring decisions, try to be human. If you interview someone who seems to have lost all hope, try to see the person underneath who has had some bad luck. If you were lucky enough not to lose your job, don’t think you are better than those who did. Ask about their choices. Don’t assume that if someone went from being a developer to doing another job that it was a deliberate choice. Understand their story before making a decision.

These are amazingly challenging times for many people. Remember that if you lose your job during this downturn, even if things seem very bleak, you are probably still better off than 95% of the world’s population. If you want to grow your skills while looking for a job, you could build a website for a charity. That will leverage your skills, build your confidence, and do something for others too.

We’ll get through this.

Can’t get a government website to validate you? Here is possibly why.

I’ve had multiple problems with multiple State of Washington or Government websites in the last year. Strange, inscrutable errors when trying to validate my identity, with no clear solutions.

Trying to get my updated social security info? It’s right there on the website. Except that the website won’t let me log in. I get a weird error. So, I have to go to the office to wait in line and talk to a person.

Trying to sign up on the state health care exchange? The dreaded: “Due to No Security Question Answer available. null” error. That error is well documented on the internet. The solution suggested every time? Upload all your documents to the website. That answer is wrong. In both cases, the government was trying to contact a credit bureau to get your personal information to test you on your knowledge about yourself.

I figured this out too late for the social security office, but figured it out for the health care exchange.

I froze my credit. You should too. It is a good (not perfect) guard against identity theft.

However, that frozen credit prevents anyone from trying to use your credit history information to validate your identity. This isn’t a great way to validate identity anyway since a lot of that information is available publicly.

The only solutions are to deal with their support teams (the front line folks never know about this and so you need to explain it to them), go to an office and wait in line to show them a physical ID, or temporarily unfreeze your credit.

Luckily, the credit bureau sites let you easily unfreeze your credit temporarily. However, that is a very poor security solution, since it is a blanket unfreezing. That is bad if you are doing it to apply for a new credit card. It is even worse if you are using it for ID Validation on some random website. In the case of the government sites, I couldn’t tell which credit bureau they were using, so I had to unfreeze all of them. Really bad.

We need better identity validation solutions that work securely over the internet for government to use. Luckily, I’m now in a position to help.

Slides from my talk on Distributed Teams

Compare the Market was nice enough to invite me to speak at their tech managers’ off-site about distributed teams. This talk reflects my own experience leading distributed teams.

I was presenting to them over video. Their meeting included people in two different offices and also folks dialing in from home. Ironically, in the middle of my talk, I got disconnected from the video conference. Because I was sharing my slides full-screen and had my speaker notes on my second monitor, I didn’t notice. So I spoke to myself for about 15 minutes before I realized what happened and dialed back into the meeting. It was a bit mortifying, but the folks in the UK were extremely nice about it. I can’t think of a better example though of the challenges around working with teams who have to communicate over electronic means constantly, so it was a good illustration of the issues I raised. 🙂

Using Deep Learning to Train a World-Class Candyland Player

A child playing Candyland
Photo by Amboo Who? https://www.flickr.com/photos/amboo213/4753020084

I’ve been spending the last year working on machine learning methods to train an algorithm that could be competitive with professional-level Candyland players. I’m happy to report that as of today, I attained my goal.

For the first pass of my automated Candyland player, I built a very simple rules-based engine. The engine ran efficiently on a Mac Book Pro. The rules-based engine did ok in lab tests with strong amateur players. I knew it couldn’t stand up to the rigor of professional Candyland tournament play, however.

For the second pass of my player, I created a more sophisticated look-ahead engine. Before taking its next card on its turn, it would simulate every possible permutation of the rest of the deck. While this was very processor intensive, by moving it into AWS and distributing it across 100 xLarge instances, it ran near real-time, although at some expense. The results of this player weren’t significantly better than the first engine.

In my third pass, I trained a shallow Convolutional Neural Network with 100,000 Candyland games. The results of this were disappointing. Playing against my look-ahead engine, over 500,000 games, it did no better than winning 50.05% of the time. Adding more layers didn’t improve the score significantly.

The fourth permutation of my Candyland player was a fully recurrent neural network running across a few dozen AWS GPU instances. This player played itself for several weeks improving the weights in its network using a genetic algorithm. The results from this were fascinating. It was able to win against itself 100% of the time.

This morning, April 1st, 2018, I played three games against the RNN player. While I am not a professional level Candyland player, I am rated 1200 on the amateur circuit, and it was my favorite game in 1st grade. This last version of my player beat me all three times! I think it is finally ready.

I’m going to be setting up some exhibition games with my Candyland player as soon as I can track down someone on the professional Candyland circuit. Not only will this gain some positive publicity for machine learning, but I’m hoping that it will help me recoup the $350,000 in AWS bills that I racked up building, testing, and training my players.

Talks: 1st half 2017

I’ve been remiss in posting since I’ve been back in Seattle. Readjusting to life in the states, and adjusting to the new role has kept me busy. I hope to rectify that in the future. I have been lucky enough to be invited to speak several times this winter and spring in the US and Europe. If you’ll be there or live nearby and want to meet up, drop me a line on twitter and let me know!

Articles I’ve liked recently (stuff I’ve been reading lately #3)

Why Apple Music Is So Bad When the iPhone Is So Good
On April 28, 2003, Apple launched the iTunes Music Store, saving the music industry from the scourge of piracy while creating a large and steady source of…
http://www.newyorker.com/business/currency/why-apple-music-is-so-bad-when-the-iphone-is-so-good

Scaling Lean — Lean Startup Co. Blog — Medium
Scaling Lean Written by Jennifer Maerz of Lean Startup Co. How can you really measure the effectiveness of your company’s business model? The process goes much…
https://medium.com/lean-startup-co/scaling-lean-d46a52a06fb2#.32bm465po

Silicon Valley’s Scapegoat Complex — Thinkpiece Dot Club
Tech’s Scapegoat Complex T he recent revelation that tech investor Peter Thiel provided the funding for a series of lawsuits against Gawker Media is one of…
https://medium.com/thinkpiece-dot-club/techs-scapegoat-complex-38a4bfb37f22#.b1ckt8ub7

Keep an eye on Norway: Its startup scene is about to go huge
I spent a lot of my formative years in Norway, and have been periodically checking in on the Norwegian startup scene. The first time I went and had a look…
https://techcrunch.com/2016/06/20/norwegian-startup-scene/

‘The Life of Pablo’ and the Death of the Traditional Album
As a genuine certified old person, one who generally doesn’t stream music, who remembers having racks and racks of CDs, and who keeps much of his vinyl sorted…
http://www.complex.com/music/2016/06/kanye-west-life-of-pablo-death-of-traditional-album

If Your CFO Hasn’t Already Told You to Control AWS Costs, He’s About To
You made the obvious move and migrated to Amazon Web Services (AWS). Months later, the attractive glow of the move from CapEx to OpEx spend has been dimmed by…
https://www.linkedin.com/pulse/your-cfo-hasnt-already-told-you-control-aws-costs-hes-jay-chapel

Can Netflix Survive in the New World It Created? – NYTimes.com
One night in early January, a little after 9 o’clock, a dozen Netflix employees gathered in the cavernous Palazzo ballroom of the Venetian in Las Vegas. They…
http://www.nytimes.com/2016/06/19/magazine/can-netflix-survive-in-the-new-world-it-created.html?nytmobile=0&_r=0

Stuff I’ve been reading lately #2

12 Powerful habits I have stolen from ultra-successful people
http://observer.com/2016/03/12-powerful-habits-i-have-stolen-from-ultra-successful-people/ (tip to kate matsudaira)

12 Lessons of Waking Up at 4:30 a.m. for 21 Days — Life Hacks for Business
12 Lessons of Waking Up at 4:30 a.m. for 21 Days If it works for me, maybe it works for you!
https://medium.com/life-hacks-for-business/12-lessons-of-waking-up-at-4-30-a-m-for-21-days-90d1053c3634

Practical Networking Tips for Introverts
Networking was such a foreign concept to me. And I really do mean foreign — we don’t do the organized networking thing in El Salvador. I knew that building…
https://www.ellevatenetwork.com/articles/7282-practical-networking-tips-for-introverts

Curing Our Slack Addiction
I love Slack. I really really do. So much so I would call it an addiction at this point. Slowly but surely this addiction has been killing my sanity and sapping…
https://blog.agilebits.com/2016/04/19/curing-our-slack-addiction/

Official Google Blog – This year’s Founders’ Letter
Every year, Larry and Sergey write a Founders’ Letter to our stockholders updating them with some of our recent highlights and sharing our vision for the…
https://googleblog.blogspot.com/2016/04/this-years-founders-letter.html

The Choice Explosion
Lansing, W.Va. — A few years ago, the social psychologist Sheena Iyengar asked 100 American and Japanese college students to take a piece of paper. On one side,…
http://www.nytimes.com/2016/05/03/opinion/the-choice-explosion.html

Doing a TED Talk: The Full Story – Wait But Why
You’ve probably heard this Seinfeld joke: According to most studies, people’s number one fear is public speaking. Number two is death. Death is number two. Does…
http://waitbutwhy.com/2016/03/doing-a-ted-talk-the-full-story.html

Dropbox cut a bunch of perks and told employees to save more as Silicon Valley startups brace for the cold
You have successfully emailed the post. 20h 8,000 REUTERS/Stringer Winter’s coming in Silicon Valley. When Dropbox employees walked into their new office on…
http://uk.businessinsider.com/cost-cutting-at-dropbox-and-silicon-valley-startups-2016-5

Thoughts on Take Home Interviews
There is a movement now in tech to really think about what it would take to improve our interview process. This is a movement a long time coming. White board…
http://www.elidedbranches.com/2016/05/brief-thoughts-on-take-home-interviews.html

 

Stuff I’ve been reading lately

I’m playing with an idea here. One of the things I really like on Instapaper is the browsing of what your friends are reading. My pal Kevin Stewart, has particularly awesome tastes on technical articles and I find myself saving almost everything he reads to my own queue. 

I won’t vouch that my own tastes are quite as good, but maybe the articles that I’ve found valuable might be valuable to others. So, I created an ifttt.com action to save any article that I’ve liked to a google doc. Periodically, I will post the most recent articles to this blog. At some point in the future, I might autopublish them. For now, I like the idea that I can edit them before they go live.

Collaborative Overload
Over the past two decades, the amount of time managers and employees spend on collaborative work has ballooned. At many companies…
https://hbr.org/2016/01/collaborative-overload

Two Items That Aren’t On Your Meeting Agenda, But Should Be
In this era of frequent testing, schools get a dizzying quantity of data about their students. Figuring out what to do with it, though, is more complicated than…
http://www.fastcompany.com/3058036/how-to-be-a-success-at-everything/two-items-that-arent-on-your-meeting-agenda-but-should-be

Good Bosses Create More Wellness than Wellness Plans Do
In the name of employee wellness, and in response to insurance company demands, corporations are offering well-being initiatives with financial incentives.…
https://hbr.org/2016/04/good-bosses-create-more-wellness-than-wellness-plans-do

Billing by Millionths of Pennies, Cloud Computing’s Giants Take In Billions
Andrew R. Jassy, the senior vice president of Amazon Web Services. The per-millionth pricing began last November, in the A.W.S. product Lambda. Amazon Web…
http://www.nytimes.com/2016/04/11/technology/billing-by-millionths-of-pennies-cloud-computings-giants-take-in-billions.html

Congratulations! You’ve Been Fired
AT HubSpot, the software company where I worked for almost two years, when you got fired, it was called “graduation.” We all would get a…
http://www.nytimes.com/2016/04/10/opinion/sunday/congratulations-youve-been-fired.html

Medium raises another $50M
Medium , the online publishing platform led by Twitter co-founder Ev Williams, just announced that it has raised $50 million in Series C funding. It’s been less…
http://techcrunch.com/2016/04/21/medium-series-c/

Why Uber Won — Greylock Perspectives
Why Uber Won The Startup Steroid Era and the Use of Capital as a Performance Enhancing Drug The start of 2016 marked the end of the steroid era of startups —…
https://news.greylock.com/why-uber-won-5598a2a66561

Hands-on: $290 Kindle Oasis starts a new chapter for Amazon e-readers
The new Kindle Oasis comes with a leather battery cover included in the price, available in three colors, black, walnut and merlot. (GeekWire Photo) The word…
http://www.geekwire.com/2016/hands-amazons-new-290-kindle-oasis-ups-game-e-readers/

Nice deck from Dan McKinley of Stripe: Choose Boring Technology

As you grow as a developer (and development leader) and you work with more and more technologies over time in different projects, you start to realize how easy it is for the team to get more focused on the challenging technical problems than the actual product issues. Ignoring the product issues will kill the product (and possibly the company). With limited attention (he calls them innovation credits), it is best to put your effort into innovations that can differentiate your product. All too often, teams get more focused on the next cool technologies, turning everything into a nail as the old saying goes.

Dan McKinley does a great job explaining this in his talk below.