The one year anniversary of this blog has come and passed, and I wanted to thank you for reading so far. It is also Spring Break, so I am enjoying a vacation. This post is just going to highlight the five most popular articles, least popular to most. Feel free to skip this one if you have read all of these, but have fun looking back with me if you are interested.
Maybe five days after my last day at Lombardi in April, my boss there sent me a note. He had received a message on the Trilogy alumni mailing list. There are a lot of people I have run into in Austin who at one time worked for Trilogy; they had a legendary training program for new programmers called Trilogy University, and if you went through it, you had a leg up getting a job in Austin over those who did not.
The letter was from somebody who is now an exec at Indeed:
I joined Indeed at the beginning of the year and I’m expecting to double our engineering headcount here in Austin by the end of the calendar year. Indeed.com is one of the fastest growing web sites <http://www.indeed.com> in the country; according to complete.com, we’re currently #201 in terms of unique visitors (> 6mm by out count) and our growth continues to be about 100%/year. In addition to ongoing opportunities for engineers for our search engine, site and applications, I’m currently looking for a test automation architect. If you or anyone you know might be interested, feel free to contact me.
He signed it, and then listed the job description. I was not really qualified at that point; I was missing web technologies, Selenium, and building automation frameworks, but I had a lot of the other qualifications. I was still just looking for management jobs at that point (for whatever stupid reasons..)
Later, my good friend in Austin who had been trying to help me get jobs here before sent me this:
Using a posting I found, I sent this email on 5/12/2008:
Dear Hiring Manager,
I saw the posting for Software QA Manager on indeed.com, and I think that I would be a fit for the position. I have 10 years of experience in software management, including 7 years of managing QA. I also 10 years of development experience. I feel that my interpersonal, technical and planning skills are a good match for the job requirements.
Please consider my resume for your position; I look forward to talking to you in person.
And, that was that, I thought.
On June 11, a week after I had accepted the position at Coverity and had made my travel arrangements to go to San Francisco for orientation and training, I received this:
I was cleaning up email and ran across yours from 5/14. If you are still interested in Indeed, please let me know. Your email was no read until now.
I responded with an apology, explaining that I had accepted another position, and the Indeed person thanked me for explaining.
4 weeks is a long time to take to respond to an applicant, but at least they did respond and follow-up once they read it!
Sometime in 2004 or 2005, one of my best friends went to work at a startup that was doing software to analyze source code and identify potential bugs, based on common mistakes with both algorithms, and the quirks of the C and C++ programming languages. I was at Apple, working in the Developer Tools group, so he got in touch with me quite often as he tried to figure out how Apple’s version of GCC, the open source compiler, operated. He was really trying to figure out how the compiler found secondary files on the filesystem, which, on Mac OS, is tricky.
Fast-forward a few years, in January, 2008, he called me. Told me that the company had just fired the disaster that was their QA Manager, and that they had been looking for a replacement. I told him that I wasn’t willing to move back to California. He said that they were so desperate that they were willing to consider a remote hire. I told him that I was still making a go of it at Lombardi, and that I was going to pass. He told me to call him if I changed my mind.
And in April, I got let go.
After crying in the parking lot for a while, I drove home. When I got home, my wife told me: “You have to do two things: One – you are going to have to get a new phone anyway because Lombardi is going to take away your Blackberry. You have to get yourself an iPhone.” (It had shipped 9 months earlier and I had pined for it).
“And, two – you have to call your friend and talk to him about Coverity.”
“But I am in really bad shape and don’t really want to think about it,” I moped.
“No, you must talk to him now. You have to know whether it is still an option ASAP.”
So, I sat down and called him. After small talk, I said:
“I got laid off today.”
“Oh! I’m sorry! That’s wonderful! That’s horrible! I know you must be feeling awful! But we need you! Get me your resume as soon as you can!”
“I need to overhaul it, but you’ll have it Monday morning.”
“Great! I need to talk to G right now! Wait, he’s not here yet. As soon as he gets here.”
I got my first iPhone that day, and having it really helped my emotional state (although the price was daunting!). I then sat down and spent the next few days redoing my resume from scratch, updating my LinkedIn profile, and asking for recommendations. I also went into Lombardi and had the phone number transferred from the Blackberry to my shiny new iPhone.
I sent the resume in late Sunday night.
On Tuesday, I got a call from G, my friend’s boss.
“I have opened up a position called QA Director. You would be building out our QA organization from the ground up, hiring people as appropriate, building QA plans, and possibly expanding our Release Engineering effort.”
“That sounds good.”
“The thing is, I don’t know how successful you would be not being in the office. It gives me some confidence is that one of my managers is already remote, in Boston. And he has people here reporting to him. You’ve worked remotely, and managed remotely. Talk to me about how you mitigate the risks, what kind of communication you would set up, and the risks of being a remote manager.”
So, I talked about electronic communication, wiki pages, email etiquette. I talked about lack of hallway conversation, about needing eyes and ears in the corporate office. I talked about the importance of automated testing, particularly at the model and at the API level. I talked about how compilers worked, and how Coverity’s products must be implemented.
At the end of this conversation, G said, “Well, I have to think about it. I like what are you saying, and the way you are thinking about all of this. But I have to decide if I am ready.”
A couple of weeks passed, during which time I started the local job search in earnest. My friend sent me email almost every day, asking if I had heard from G. My wife decided to take our kids to her mother’s house several states away, and I decided to join her to get a break. While we were on the road I got an email from G, asking if we could set up a conversation soon. I gave him a date and time.
He called me right on time, and said, “I would like to move forward with interviewing you for this position. Could we setup a trip out here to talk to my staff? Could I get references?”
I told him about the PMP class in Las Vegas I had arranged to go to while still doing work at Lombardi (technically I was still an employee). We agreed that I would do that class, and then fly out to San Francisco for a few days for the interview. I paid for the ticket change for my return flight, and Coverity picked up my flight from Las Vegas to SFO. I stayed with my friend, and I had a good weekend catching up with him and other friends.
On Monday morning, I went to the office and met everybody. G talked to me first, and then I talked to a parade of engineers and managers. One of them asked about how to test user interface. I told him I had no good answer for that. There were technologies for testing web pages that were pretty good, but I had no good solutions for testing native Windows applications. I preferred doing strong unit tests at the model and API layer; the interface changes much quicker than tests can be written, so that should be tested manually.
I said to myself, So that session went well. Sigh. Not an auspicious start; I did not have the answers to his problems.
However, they did a programming whiteboard, and I nailed that. The person asked me to write something to covert integers to ASCII strings in C. Right up my alley.
I discussed testing command-line utilities and compilers with the other people. QA philosophy. Software engineering. Distributed teams. Offshore management (Oh, there was a testing team in Ukraine? Amazing; Lombardi had one of those as well!)
At the end of the day, I was exhausted, but I felt good. My friend, who had recused himself of the interview process, was dying to talk about it, but couldn’t, so we talked about Star Trek, Game of Thrones (still just books), and our family life.
I flew back. A couple of days later, G called me and asked if I would give him the contact info of my old boss. He wanted to talk to him.
“G, he fired me. Why on Earth would I let you talk to him?”
“I just want to see they way he thinks.”
“I guess I don’t really have a choice here. OK.”
He called back about 3 hours later, and said, “Wow, those Lombardi people are extreme Type-A personalities, aren’t they? You have nothing to worry about over my conversation with him.”
Time went by. Turned into weeks. I heard from him around that time, with an email:
“I am having a difficult time thinking about this. The entire staff really liked you (even the guy grilling me about GUI testing? I thought to myself); I really liked you. I am trying to come up with a scenario where this could work with you in Austin, and us in San Francisco. I need some more time.”
A couple of weeks later, my friend asked me if I had heard anything, and when I said no, he said, “Well, I probably shouldn’t say anything, but G has been really cheerful the past day or so.”
The next day, G called me.
“I have been rethinking what I want to do. I don’t think that this could work with you as QA Director.”
“I’m sorry to hear that.”
“But I do want to make you an offer for QA Manager.”
“So what do you see as the difference?”
“Rather than setting direction and strategy, you would be working with the other managers on my staff, as well as the architects, to develop it together. You would still hire people, but the staffing levels would be set by me. I feel that this gives you what you need to succeed, but covers the risk of being remote. You would have two people directly reporting to you, plus one contractor in San Fransisco, one contractor in Omsk, Russia, and one in Kiev, Ukraine.”
He went on and outlined his vision. Then we talked about tactics.
“I would need you to spend one week/month minimum in the office in San Francisco, sometimes more.”
“25% travel time. OK.”
“What do you think?”
“What’s the compensation picture?”
“I will have somebody call you about that. I don’t do those negotiations; I am not good at them. Does this sound like something you could do, assuming the comp is acceptable?”
“Yes, but I have to think about it, and I really need to know compensation.”
“Let me have my recruiter call you.”
Two days later, I got a call from a recruiter. He outlined the offer. The base salary was 25% higher than Lombardi, and back up to the level of what I was making at Apple, with no state income tax! (Yay Texas) There was a bonus program for managers, and there were stock options.
Frankly, it was incredible. I said yes.
My long spring nightmare was drawing to a close. Still had to setup my home office in my house. Still had to arrange for my first two weeks in San Francisco. But, we were going to survive.
2008 was a really bad year for this country, and that extended to my personal situation. There were not very many jobs because of the worst recession since the Great Depression, and I was out of work.
Not only was I out of work, but I had managed to derail my career pretty badly. 11 years earlier, I made the decision to go into management. 4 years after that, I went into QA.
See, the thing is that once you are in management, or you are in QA, or both, people stop believing that you can be software developer. Not only that, the fact that aren’t developing software means that you aren’t keeping up with the most popular development technologies, like programming languages, or platforms. Or even entire programming paradigms, like object-oriented programming, or functional programming.
So, in 2008, most development jobs fell into the following categories:
Java and web development. I had an academic knowledge of Java but no practical experience.
C++ and system development, either on Windows or Linux. Yeah.
There was this new thing called IOS and the Mac App store. It at least was in a language I knew something about, Objective C, but had no practical experience there either.
Ruby-on-Rails and web development. No experience there.
All of those technologies were object-oriented, which I did not have a huge amount of experience in, either.
Another hurdle: what few development positions there were were in Silicon Valley or Seattle, for the most part. At least the ones I found that I might have a chance at.
I had not much experience with QA automation, either. There were some positions for that, but I was not qualified.
Software management positions were extremely rare, as most of those positions are filled from within, or by being a friend of somebody hiring one. And I had no friends in Austin tech. And, frankly, I had just failed as a QA manager.
And manual QA work basically disappeared during the Y2K scare. It’s the lowest-paying tier in the software world. Well, except for support.
I have previously mentioned that I had a friend in Austin who was very well connected in the tech community here. He did what he could to help me. I did get a phone screen from a startup called OtherInbox. Basically, the hiring manager did a lot of probing of skills, and I did a lot of trying to convince him that I was smart enough to learn on the job. I had not done web work, and I had not worked with Ruby at all, much less Ruby-on-Rails.
After a few days, I got an email reply:
It was nice talking to you also. At this time I don’t think there is a good fit for us because we’re looking for someone that is more hands on / less manager and because you don’t have direct experience with web-based applications. But I work with a bunch of other startups in town and will keep my eye open for any other opportunities!
Fortunately for me, I had been pursuing something since before I was fired at Lombardi. I’ll talk about that next time.
Google opened an Austin office in 2007, and poached one of our people from Lombardi. After Lombardi laid me off, I answered a job listing for them on some website or another, and got this automated response:
Hi <my full formal name that nobody uses>
We just received your resume and would like to thank you for your interest
in working at Google. This email confirms that your application has been
submitted for the following positions:
Software Engineer – Austin
Our staffing team will carefully assess your qualifications for the role(s)
you selected and others that may be a fit. Should there be a suitable
match, we will be sure to get in touch with you.
If you’d like to get immediately involved and help form Google’s new
products and features, we encourage you to visit Google Labs. This site
showcases a few of our favorite ideas that are not quite ready for prime
time! We invite you to play with the prototypes and send your suggestions
directly to the Googlers who developed them.
And, a few weeks later, much to my surprise, I actually got a response:
Hi <my full formal name that nobody uses>,
We received your resume for the Software Engineer – Austin position and would like to thank you for your interest in Google. We carefully reviewed your background and experience, and though we do not have a position that is a strong match with your qualifications at this time, we will be keeping your resume active in our system. We will continue to use our database to match your profile with new opportunities and will reach out to you if we find an opening for which you may be qualified.
Thanks again for your interest in Google’s careers and unique culture; we hope you will remain enthusiastic about our company. If you have any questions, please feel free to contact me at <recruiteremail>@google.com.
<Google recruiter name>
Google People Operations
Hey, at least they responded. I spent most of the time after Lombardi applying for stuff and not hearing back.
Google shut down the Austin office a little bit later, and my colleague from Lombardi had to relocate. They did eventually come back, but 2008 was a rough time, so…
Some company’s career websites are practically impenetrable. I applied for a position at Dell, and the first thing I had to do was fill out a profile. I got an attachment back in email, which was an HTML FILE. Inside was this lovely page in the body of the page:
Sir or Madam:
We have received the profile you submitted to our company. We thank you for your interest and would like to advise you that you may now be informed by email of job openings that match your profile and fields of interest. You can also consult our current job opportunities and easily apply online through our corporate Web site.
If you would like to review your candidate file, click here.
If your profile corresponds to our requirements, a member of our HR Department will contact you soon.
Again, we thank you for your interest in Dell.
Replies to this message are undeliverable and will not reach the Talent Acquisition Department. Please do not reply.
Yep. That is a GIF of text. And it’s still online 11 years later! I also got a very similar page in the mail as an acknowledgement of applying to a job.
How do they expect quality people to put up with their crummy websites anyway?
3+ years of experience in a team development environment
Bachelor’s Degree in Technology Field or equivalent experience Compensation Base Salary, 4 weeks paid time off, Health Care/Dental Benefits/Flexible Spending Account, 401K, Stock Options
Please forward your resume along with the below requested details:
Full name: Degree Major: Total IT exp: Total Quality Assurance managementexp: Total Quality testing programs exp: Total Web and SQL application testingexp: Total load testing of Web based applications exp: Total Six Sigma and/or CMM exp: Current Salary: Expected Salary: Are you US Citizen/GC? Day Tel#:
Best number to reach you anytime:
Current City / State
They are usually signed with names from overseas, although sometimes not. The few times I have followed up on one of these, the pay was about half of what I was used to. And most of them are not for permanent positions; they are for six months contracts in the most non-Silicon Valley places. Gary, IN. Bethlehem, PA. Bentonville, AR (OK, so that’s Wal-Mart).
There is no job security here. Their pay is terrible. And they expect you to be able to move around the country on a moment’s notice. They always talk about visa status.
They also don’t actually interview you. You express interest and fill out their little forms, and they call or email and ask you when you can start. Way to build a lasting team and product, people.
I suspect that there are a large number of immigrants doing this kind of work who just go all over the place for a few months a time, and that a lot of times, the recruiter hires the same people, likely family or friends. This is part of a hidden software sweatshop industry, and it is pretty awful. I had one employee who was a refugee from this system. Their previous company had one US citizen (the president) and forced their employees to work very long hours with bad quality, or he would see to it that their visa was revoked and they would be deported. They came to work for us, because we sponsored their H1B. Since he had no official days off, he pretended to be sick to interview for us.
Bottom line: If you see this kind of solicitation, send it to spam. You can do better.