Thoughts on Dell’s acquisition of EMC from public sources

On Monday, October 12th EMC and Dell announced that Dell was buying EMC. This will make for some interesting times for EMC shareholders and employees. The deal is made more interesting by the fact that, unlike EMC, Dell is not a publicly traded company. Michael Dell (with the help of Silver Lake) took his company private back in 2013.

There has been a lot of news about the acquisition. These are some personal, collated thoughts gathered from public sources (with citations) and in no way reflect the view of my employer (current or future) or any inside information.

Stockholders

From the official press release, EMC shareholders will get $24.05 a share in cash and $9.10 of a tracking stock tied to VMware. One could naively say this values EMC stock at $33.15, but there’s a twist. The twist is the tracking stock, an investment vehicle last seen prior to the dot-com bubble.

In theory, tracking stock gives investors a way to reflect value in another security (in this case VMware stocks owned by Dell) but generally grants no dividend or voting rights. Some analysts expect the tracking stock, which in theory will track the value of VMware stock, to trade from between 5 and 10% discount of that stock. (That link is an excellent read, BTW.) This partially explains why the stock has been trading between $27 and $28 since the acquisition announcement instead of closer to $33.

Also, note that as a private company, Dell won’t pay dividends like EMC, which is a bummer for those of us investors who liked that aspect. VMware doesn’t (yet?) pay dividends so there’s no love lost on that aspect of the tracking stock.

Employee Shareholders

Many (most?) employees are shareholders as well, either through the employee stock purchase program (ESPP) or through equity awards. What will happen to stock options and restricted stock units (RSUs) is unknown at this time.

According to Ars Technica, when Dell went private back in 2013 stock options that were underwater were cancelled. Unvested RSUs retained their vesting schedule but were paid out as cash upon vesting using the stock price when Dell was privatized. The upside is that the RSUs were essentially converted into promises of cash at a fixed value, but that’s a downside too — they aren’t going to be worth more than that fixed value, ever.

Employees & Recruiting

I have additional thoughts on how this impacts current employees and recruiting. While I believe all of them are logical conclusions that anyone familiar with the tech industry could derive, and they reveal no internal information, it’s not worth the risk of EMC legal’s wrath to post them here. So I’m posting them in a separate, locked post for my own edification.

My longest vacation yet

15 years ago today I started work at IBM in Austin. Between then and now my life has revolved around my job. In fact, the longest time I’ve ever had off from work was around 12 days traveling overseas or driving across the country with Daniel. When I changed jobs from IBM to Isilon, I took zero days off in-between. Zero.

All that to say I’m very much looking forward to having some time off of work.

I’m also scared shitless.

One week from today I’ll start my sabbatical and have a year off from working. In many ways I consider this a retirement trial run: can I keep myself active, engaged, and happy without of a job? Do I have an identity outside of work?

I can’t wait to find out.

A leave of absence from EMC Isilon

Starting June 15th, I will be taking a one year unpaid leave of absence from EMC Isilon.

The reason for the leave of absence is that I’m burned out. Crispy critter burned out. Although I’m not going to go into detail on exactly why, the 30k-foot version is that I held myself to too-high a standard on some projects that drastically, and negatively, impacted my work-life balance to the point where I was mentally and physically exhausted when I came home from work. Every day. For months.

I’m looking forward to mentally rebooting myself and hopefully learn some skills on how to help prevent this in the future.

That said, it’s incredibly difficult to leave EMC Isilon right now. It’s hard to leave just before the next version of OneFS1 ships. I’m super excited about the work that the entire engineering team has done for this release and would love to see it complete. It’s also hard to leave right when DuctTape is releasing some cool new functionality and significantly increased capacity.

Still, taking some time off is most certainly the right decision for my mental and physical health and I leave the projects I was working on in very capable hands.

1 According to the interwebs, the code-name of the next release is not yet public, and I’m not about to be the one to make it so!

Trying to quit

[This post was non-public when first posted.]

On Monday I gave my 4-weeks notice — it was not well received. Jonathan didn’t try to talk me out of it though. He said knowing me it wouldn’t do any good since I give things lots of thought before acting on them. He did, however, throw out the idea of a leave of absence.

As a rule, a 3-month leave of absence is the most they do which I said was a non-starter. It’s going to take them much more than 3 months to address some of the systematic issues that has me burnt out and leaving. Jonathan and HR are in the process of seeing if EMC will do a year’s leave of absence instead. We’ll see how flexible EMC wants to be.

The most flattering part of all of this is management’s view that my departure is going to be very impactful to the org from a morale perspective. I’m not sure I agree with that, but it’s flattering all the same.

I also discovered this week that 3 other well-respected and long-tenured people are leaving in the next few weeks, which makes me sad for Isilon and a bit guilty for being a 4th.

Career levels across Seattle-area tech employers

Disclaimer: These thoughts and opinions are my own and not my employer’s, although if you didn’t know that already you’re clearly not paying attention.

EMC Isilon recently refreshed their career level definitions and it got me thinking of how difficult it is to map levels from one company to another. EMC uses a P1-P7 numbering system, IBM uses a band 6-band 9 numbering system, Microsoft uses levels numbered 59-68, Amazon calls theirs levels L1-L10, etc. How is anyone suppose to make sense of this mess across companies? So I set out to do what any engineer would do: determine if there was a mapping between them.

From my experience at IBM, pre-acquisition Isilon, and now EMC I was able to do some of the mappings myself. I then reached out to friends who have worked for at least one of the three and asked how their current companies mapped to it. The following table includes the results thus-far:

IBM pre-EMC Isilon EMC Microsoft Amazon
P1 – Entry 59/60
band 6 SDE 1 P2 – Intermediate 61 L4 – college hires
band 7 SDE 2 P3 – Senior 62 L5 – mid-career
band 8 SDE 3 P4 – Principal 63 L6 – Senior
band 9 P5 – Consultant 64 L7 – Principal
STSM Staff P6 – Senior Consultant 65/66/67 – Principal L8 – Senior Principal
Distinguished Engineer Distinguished Engineer L7 – Lead /
Distinguished Engineer
68 – Partner L10 – Distinguished Engineer
Fellow Fellow Fellow

Discussion frameworks, not absolutes

The chart above is useful primarily as a framework for discussion. Even within a large company the skills for someone at given level may not map closely to others at that same level. Add cross-company evaluations into the mix and the above is, at best, a guideline.

Why is this important?

People change jobs frequently in the tech industry (no surprise given employees who stay in companies longer than 2 years get paid 50% less). My 10-year career at IBM and 4+ years (so far) at EMC makes me an outlier in a field where most of the resumes I see have people staying just 1-2 years between jobs.

The chart above can be useful when changing jobs across companies. When I left IBM to come work at Isilon this would have come in very handy. Instead of moving from my band 9 position at IBM to at least an SDE3 or Staff position at Isilon, I moved over as an SDE2 — two steps down. Next time I’ll have more data to make a solid lateral (or upward!?) transition.1

Levels !== Pay

Everyone I’ve talked to has confirmed that pay does not directly map to levels. It is common for the upper end of the pay range of level X to overlap greatly with level X+1 and maybe even border the lower end of level X+2.

What about Company X?

I’d love to get other large tech companies like Google and Facebook on here, I just haven’t found anyone willing to share their insight. If you have overlap with one of the above drop me an email and lets fill in the blanks.

1 FWIW, I currently have no intention of leaving EMC Isilon for another job.

Secret sauce to including data_files in python bdist_rpm

2017/02/10 update: I’ve discovered a better solution (using an updated version of setuptools) and have updated the post below.

To add additional data files to python installation files — such as service files in /etc/init.d for RH-based distros — all the docs tell you to simply add a data_files line to your setup.py file, like:

    data_files=[('/etc/init.d', ['init.d/service_name'])],

If you do this, however, might get this lovely error when attempting to create the RPM:

$ python setup.py bdist_rpm
< snip >
running install_data
error: can't copy 'init.d/service_name': doesn't exist or not a regular file
error: Bad exit status from /var/tmp/rpm-tmp.DRsp99 (%install)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.DRsp99 (%install)
error: command 'rpmbuild' failed with exit status 1

This will perplex you for ages considering the file clearly exists in the path relative to setup.py, per the instructions:

$ ls -l setup.py
-rw-rw-r--. 1 cpeel cpeel 1233 Mar  9 14:37 setup.py
$ ls -l init.d/service_name
-rw-rw-r--. 1 cpeel cpeel 1242 Mar  9 14:40 init.d/service_name

The problem is that there are (at least) two different flavors of setup() functions and they are not completely alike. Both distutils and setuptools provide a setup() function and both packages have changed over time. See this StackOverflow example discussing the python setup tools landscape as of January 2017.

I don’t know what version of distutils I was using when I wrote this blog post, but it was probably some version with python 2.6. The version of distutils bundled with python 2.7.12, and presumably later, does not generate the RPM build error.

I also get the above RPM build error when using setup() from older versions of setuptools (at least 20.1.1). Updating to the most recent version of setuptools (34.1.1 as of February 2017) resolves the issue.

It appears that the general internet consensus, and official Python Packaging User Guide, is to use setuptools which can be updated independently of the python version you are using, so just be sure you’re using the latest version.

If you’re stuck on an older version of setuptools or distutils, the missing piece that took me hours to discover, is that even with data_files in setup.py, you need a MANIFEST.in file that tells them to include the files in the package:

$ cat MANIFEST.in 
recursive-include init.d *

No such thing as a “just defensive” patent

EMC is on a big push for employees to generate more software patents. I’ve always said that software patents are bad. Always.

[Insert rant about how large companies innovate primarily through acquisition and if startups are afraid of innovating due fear of patent infringement they won’t start-up and thus large companies won’t innovate.]

EMC currently touts the same party line as IBM during my 10 years there: “we only use patents defensively”. But things aren’t looking that great at IBM these days after a disastrous 4th quarter and laying off thousands of people. So what is a large corporation to do given their fiscal responsibility to their shareholders? You start using your patents offensively, like suing Priceline for royalties on billions of dollars for things you patented back in the 90s.

So the next time your company tries to tell you “yes, patents are bad but we only use them defensively” you can call bullshit and point them to IBM.

Work dread

Today is the last day of a great 10-day vacation out to Washington DC to visit family — both Daniel’s and my own. We get on a plane tonight to head back to Seattle and I go back to work tomorrow. For the second time in my 15-year career I’m dreading it and I haven’t even sync’d my work email to see how many hundreds of emails are waiting for me.

I’ve been dreading work since last September at the end of my trip to Spain with Jonobie. And that dread has been fairly consistent ever since.

Work has consumed my life. I get up at ~4:30a — 30 minutes before my alarm goes off — and respond to emails from the contractors in India. The plan is to get to the gym by 5:30 for my hour work-out, come home, spend some time with Daniel, and head into the office by 8a. Instead, I skip the gym and spend all morning trying to get caught up with emails and code reviews. I give myself just enough time to shower and eat breakfast and then continue working on the bus ride into the office. I work non-stop, eating lunch at my desk, until 5p when I leave for home. When I get home I’m mentally exhausted and have no energy for much more than eating dinner that Daniel has lovingly cooked, doing the dishes, watching an episode of something, and crashing in bed at 9p.

This is not a life.

Quitting the family business

I’ve always told people that you never quit a family business but here I am trying. For the past 20-something years I’ve been doing computer work for Peel, Inc., my family’s business. I gave my 5-month notice back in July and have been working towards tying off loose ends and getting ready for a hand-off to someone else.

It’s hard to say when you actually start working for a family business since you are raised in it. The business started the year before I was born as Quality Printing & Office Supply – doing both printing and selling office supplies for local businesses. Back then, people still needed business cards, letterheads, envelopes, shipping tags, etc because there was no desktop publishing. I remember doing office supply inventory back in junior high and running the offset press in high school among other job work.

I helped my Dad move us from the TRS-80 systems to the then-new 286-based systems. Eventually we had multiple systems we connected via 10-base-T and NetWare Lite (anyone remember IPX/SPX) — based on that product’s release that was back in 1991. Sometime in the early 90s the business switched from doing typesetting from purely text-based input devices that “printed” out on chemical sheets and we then pasted together on the light-table (the origin of “copy and paste” in a very literal sense) to a digital model using Aldus PageMaker and HP LaserJet 4 printer.

The first program I ever developed for Peel, Inc. was Lable Star1. It was a QBasic rewrite for the PC of a Basic program my Dad had written for the TRS-80 to print packing labels for print jobs. It was super simple: you put in the description and total number of boxes and it would print out labels for each one (box X of Y). Ah, LPT ports, how far we’ve come.

I designed the first Peel, Inc. website. I don’t remember when that was but the WayBackMachine has one that is dated December 19972. Like most back then it was pure HTML although shortly after that in 1998 it was moved to PHP/FI 2.0, which was a step above server-side includes, but just barely. The website remained largely crap up until 2004 when my involvement in the family business took an interesting twist.

By 2004, Peel, Inc. had transitioned from a printing and office supply company into a printing and advertising company. Seeing the writing on the wall from desktop publishing taking over basic printing needs and Walmart taking over the office supply needs, my parents pivoted the business into its strength: offset press printing. Subdivisions and communities in Houston were wanting a way to communicate with their residents and brand their communities. A magazine-style newsletter printed solely for them with relevant news was just the thing. Peel, Inc. entered this existing market with a different approach than some of their early competitors: instead of charging the communities for the newsletter we sold advertising and made it free to the subdivisions.

Peel, Inc. had several ad reps in Houston that would go to businesses and sell ads. They’d fill out a 3-part carbonless form, fax in a copy, and then at the end of the month they’d FedEx all of their contracts in. We’d take the fax and input the data into a DOS-based database program called Q&A. Newsletter designers would take printed reports from the database when setting up the newsletter to make sure all the ads got in its respective newsletter. To my post-dot-com mind this was horribly inefficient. Why not just have a web portal for the ad reps to fill out a virtual form and centralize everything? The designers could access the same data before setting up their newsletters.

Sometime around that summer I approached my Dad with a business proposition: let me implement and design this system for a cut of the contracts that went through it. He agreed and in October of 2004 ConTrack was born. Over the next couple of years this grew to be a central component of the business — everything goes through ConTrack. Today advertisers can log into the system to see their past contracts and pay their current one through PayPal. Residents can log into the main Peel, Inc. website and submit articles and view past newsletter editions. None of this is particularly earth-shattering but it’s been pretty amazing to watch the whole thing grow over the past 10 years.

Also since 2004 the business went from one building in Littlefield to a multi-site operation where newsletters were being set up in Austin yet printed in Littlefield. I designed the back-end IT systems that enabled this workflow. We had one primary designer move to Dallas and I learned about VPNs and how to allow her to be fully productive from there. I’ve dabbled in email, web design, VPNs, Samba, off-site caching, and more. A few years ago the business got a bit simpler as it consolidated down to one building in Lakeway and moved to Macs — removing the need for offsite two-way data sync and anything having to do with Windows.

The business continues to evolve. Just last year we released an iOS app for residents to view their newsletters and receive community notifications. This month we rolled out an iPad-optimized version. I didn’t design the mobile apps — not my wheelhouse — but I did design the backend systems that support it (and learned about APNS in the process).

Of course, during all of this time I’ve had a full-time job, first with IBM starting in 2000 and then with EMC Isilon in 2010. This year at EMC Isilon has been the busiest of my professional career and I’ve been unable to focus time on Peel, Inc. This is a disservice to them and it’s been very taxing on me as well.

Which leads us up to now, my last day in the family business. Like any family business I don’t expect I’ll ever be truly out of it — the businesses/contractors that take over the IT systems will undoubtedly have questions that I’ll need to help answer — but it’s at least a formal parting of ways. It’s been a great learning experience in every aspect imaginable and now it’s time to move on.

1 Yes, that’s ‘Label’ misspelled. I was, and continue to be, a horrible speller. English sucks, compare: bible and able to label.

2 And I’m not linking you to it as it is hideous.

Quitting my job as System Administrator

For the past 14.5 years I’ve managed my own server for email (SMTP, IMAP, mailman), DNS, web, and other services. As of the end of this year I’m divesting myself of most all of it. I learned a whole lot by doing it but I’m past the point of learning more and it’s just become more headache than it’s worth.

Two weeks ago I migrated all of my email off of my self-hosted server to Rackspace (bonus: they are an EMC Isilon customer!). All of the domains for which I hosted DNS records have been migrated to the DNS provided by the domain registrar (not a feature freely available in 2000). At the end of this month I’ll have the last email account migrated off and will officially shut down IMAP/POP and DNS. By the end of January I’ll stop being a backup mail server for some domains and will shut down the SMTP server.

Then, and only then, can I finally retire the Fedora Core 4 box that has been dutifully chugging along for almost 15 years. This is one of a few steps I’m taking to drastically simplify my life.