Analytics

Friday, February 7, 2020

Post #4458 J: Taxes and Jobs

Taxes and Jobs

When you publish over 4000 posts and include some personal stories, you may not recall if you published on a particular incident before. Quite often when I discuss new opportunities with IT recruiters, I'm asked whether I'm incorporated. Typically, I'm asked about 3 scenarios: FTE, W-2 subcontract (typically an agency) or C2C; occasionally there's a fourth option, working on a 1099.

I run the risk of oversimplification here, but in terms of my line of work, hiring a full-time employee requires some overhead and commitments, e.g., payroll, unemployment taxes and other government mandates, benefit packages, training and equipment, etc. You generally have more control and flexibility over an employee's activities. For example, when I converted to employee off a West Coast subcontracting gig, I no longer got paid by the hour and found myself putting in as many as 70 hours a week, no bonus or overtime pay. Almost every FTE job I've ever had was at will, which basically means you can be fired for any or no reason. But there are still costs and legal issues that come into play, e.g., filing unemployment, CORBA benefits, etc., never mind (if applicable) costs of hiring and training a replacement. I've had a number of FTE positions which lasted less than a year through no fault of my own. For instance, in 1997 I was working for Coopers & Lybrand management consulting (just before the PW merger) in the Chicago area for their Oracle Apps practice. About 6 months later, the partners decided the practice didn't meet their revenue expectations and dissolved the practice, my job along with it. In late 2000, I worked for a consulting company based out of Silicon Valley funded by venture capitalists. I knew the company was in trouble when I found myself doing a number of gigs, sometimes working at five client sites over a week. The CEO was fired and replaced; I was in the first wave of layoffs, and the consulting company was shut down over the next few months. In 2001 I was recruited by an Indian-American owned company; I originally targeted an Austin, TX project, but their DBA left a reference project in the Milwaukee suburbs. They wanted an FTE commitment, pointing out they had never done a layoff and were still carrying one consultant who had never billed an hour for them. Well, my project came to an end the month after 9/11, their projects and bids were basically frozen in the aftermath, and I found myself scheduled into an exit interview (the pretext was they wanted me to do some installs on their training systems at headquarters in Naperville).

Then there's work on a contractual basis, with companies/agencies, individuals, etc. There are a number of purposes, e.g., interim replacements, specialized needs for which they don't have internal expertise, etc. For example, the West Coast gig cited above was a 5-week staff augmentation gig in 1999; their corporate DBA, irate he hadn't been hired into the vacant IT manager gig, had given notice. HR didn't know the market price for DBA's (as I later discovered), so I commuted every week from the Chicago area. (Initially the agency was low-balling the rate, and I rejected it.) It was probably more expensive for the client, because they also had to eat my travel expenses, but I was a miser on expenses; I found round trips out of Chicago under $500, I drove a subcompact auto, booked a $40/night Extended Stay in Morgan Hill, and billed for groceries vs. eating out. I remember at one point the CEO's administrative assistant called me in one day, said I had been approved to stay at a Santa Clara hotel at $199/night. I never used the unsolicited authorization. But I'll never forget the first minute with my client boss, the controller. He literally started with, "No offense intended, but my first priority is getting rid of you ASAP."

I've published part of this story before. The rumor goes that my predecessor got fired on his second day at some consulting company, purportedly for lying on his resume. I had found the Oracle Apps in bad shape. E.g., one product was on Megapatch E and the current Megapatch from Oracle was M. Among other things, this mean we were out of Oracle Support compliance. So I had a come-to-Jesus meeting with management, won approval to update the Apps over a weekend. In the meanwhile, the client hired their new IT manager, reporting to the controller. One of the accounting managers was close to my predecessor, and my new manager agreed to rehire him. My new manager used a system analyst's August vacation to India to extend my subcontract another month and because of my recent patching, kept me in charge of the Apps. (I was personally pissed he had done zero patching over the past 7 months; he tried to excuse it saying management wouldn't approve patching.) So Vince was pissed, even though I noted I expected to leave at the end of August and transition it back to him. He and Susan (the accountant) started a rumor Steve was trying to hire me full-time. (Well, Steve had been hinting he wanted to hire me full-time, but I deflected it, noting my agency contract had a standard no-compete clause, meaning I couldn't work for them directly for at least 6 months after the end of the engagement. Not to mention, I had ZERO interest in moving to California. There were ways around that; e.g., the client could pay the agency a finder's fee. I certainly never discussed this with Vince or Susan.) I don't know if Vince guessed it in his paranoia over Steve keeping me in charge of the Apps, or if he and Susan had become aware of Steve's efforts behind the scenes I didn't know about, but he and Susan started a rumor about Steve trying to hire me. Steve really never discussed the specifics of a job with me; he was flirting in the sense, "Wouldn't you like to live in the middle of Silicon Valley, the hub of high tech?" NOPE. I was fine with the status quo; I was making decent money. I was still living in Illinois.

So somehow Vince and Susan's rumor got to Steve's ears, and he was pissed at me, screaming my alleged indiscretion had screwed up all his efforts to hire me internally. I suspect to this day he probably still believe this BS. I couldn't convince him of the truth. Long story short, Vince resigned less than 2 weeks after being rehired. The rumor was his former company (from a year back) had made him an offer with stock options (something no employer has ever offered me). This basically gave Steve what he needed to extend me through September.

This leads to the story I've written about before, my "job offer by extortion". I was getting ready leave for my Friday evening flight back to Chicago out of SFO when Steve stopped me. He said not to come back Monday unless I agreed to an FTE offer, that if and when they had an Apps upgrade project, he would check if I was still available. (It would be 2-3 years before this ever happened, not due to a lack of trying on my part.) I pointed out the no-compete clause, and he laughed, saying he had leverage. He had a stack of unpaid invoices, and it turns out my agency employers were actually billing them LESS THAN what they were paying me. (Don't ask me how that happened.) So all he had to do was pay their invoices, and they would lose a lot of money. All I knew was I didn't have a follow-up gig lined up back in Chicago, so if I said 'No', I would be unemployed Monday for an indefinite period of time. I reluctantly agreed but argued they needed to defend me if my agency sued. They made an offer at the bottom of the promised salary range, and the HR manager resisted that, demanding to see my agency pay stubs. Steve made a lot of promises to me he never kept. I agreed reluctantly. This was one of the worst decisions I ever made, almost as bad as accepting job offers from UWM and UTEP in my academic career. Not to mention the agency went batshit crazy when they found out. "Benedict Arnold" was the tamest thing they called me. Seriously, dude? Steve was no longer going to accept their invoices for me; they would have dropped me so fast it isn't funny. No hours, no pay. Steve was going to let them adjust the invoices to accommodate a profit and agreed to pay off my accrued expenses.

So staff augmentation is one example of an agency W-2 gig. Another very common application of agency W-2 gig is a contract-to-hire. I did one of these in 2010, working at a Russian-American owned CMS contractor. Initially I worked there in an agency gig in late 2009. They were initially hiring me to prepare for a government database audit, a specialized gig going beyond the experience of their older Russian-immigrant "DBA" (a developer they sent to a few "Oracle University" classes). Just like I stretched the Santa Clara gig from 5 weeks to 3.5 months, I think this gig was supposed to be about 2 weeks, which I managed to stretch to 2 months of billing. Eventually my manager ran out of budget--just about the time a company offering me a second USPTO gig abruptly withdrew their offer in a temper tantrum (no warning) literally 1 or 2 days before the end of this gig (they had told me they were willing to wait until after the holidays for a start; I had explained the current client's circumstances). My manager later shared (not my request) copies of my agency's invoices, and it turns out they were literally unreasonably marking my own rate up 100%, which was absurd--basically stealing money out of my pocket. Not only that, the rate was pricing me out of extended work with the client.

That agency subsequently sent me to do a face-to-face with a prospective client in Baltimore. I repeatedly asked them to get driving instructions to the client site. Yes, I had an address and could go to Google Maps, but I had run into issues with Google Maps over the years. So I had to rely on Google Maps, which said I should come to a T-intersection off an exit--but the exit merged into a coastal highway. I couldn't find it; I drove past some campuses on the way back retracing the way, but no legible street numbers. So I spent one hour+, plus maybe $8 in tolls, not finding it. I reported back to the agency; they wanted me to call the client immediately for directions; I said, "Maybe tomorrow; I'm not in a good mood right now." They gave me an ultimatum and when I refused, they dropped me and to this day, I've never gotten another gig from them.

Now the reason I discussed this last incident is because I got a call around early summer in 2010 from my former client boss. I would have thought he would have gone to my former agency, but it's possible the 6-month no-compete clause had expired and/or the agency waived off the business since they no longer represented me. Before I had left, the server they were using had limited storage. There were contractual obligations to store certain images in the database for something like 6 months. What the Russian "DBA" did was essentially purge enough old images to accommodate expected new images, maybe 2 weeks at a time. This was an accident waiting to happen (i.e., misjudging new image needs). I had developed some utilities that would initially drop all old images plus you could schedule it weekly to roll-off images past that 6-month retention window. My guess is they never implemented my utilities.

So one day that summer the server runs out of space (and getting new storage was not an option). Basically they have probably 2 dozen data entry workers unable to do their work while the "DBA" fixes the problem over a couple of days. Long story short, his "solution" was to notice the test server had more storage and make it the new production server. So now I was being contacted because they want me to be their new FTE DBA. They assured me the older guy was not going to be fired but shifted to some other role (e.g., a quality control analyst). I was reluctant because for one thing, the "DBA" didn't document ANYTHING, his version of "job security". (Not to mention the dude had a human target on his office door with BB shot holes all over it.) I worried I was being set up for failure. So I give them the option of a CTH (contract to hire), which they accepted.

They never really transitioned the old guy to another role. The  client was approaching the end of the contract and sidestepping discussion of a perm (FTE) offer. I think it ended with the end of the fiscal year, i.e., September. I finally got called in and they told me they burned through a lot of money that CMS  refused to reimburse them for; they expected to win more dollars in the end of fiscal year "use it or lose it" spending, but it didn't happen. I think CMS also in-sourced one of their databases, cutting revenues. They were trying to retain a couple of developers working on that contract. So, bottom line, they didn't have the budget to make me an offer, but if and when they got the resources, they wanted the option of coming back to me with an offer. (There has never been a follow-up.)

So I've dealt with a lot of agencies (maybe 6 to a dozen) over the years. And some provide extra-cost benefits like healthcare or even 401K programs.

I've also had some unusual variations. For instance, around 2002, I had negotiated an FTE salary, but the corporation was slow on cutting the offer letter. The story was they needed to guarantee at least a year in billings. The target client was a gaming company in the northwest suburbs in Chicago. Finally it seemed the contract was in sight; the client had purchased the target production server for the ERP (Oracle Apps/EBS) database. The corporation came to me with a 2-week bridge hourly contract; they wanted me to do the installation and setups so the rest of the project team (including the functional and techno-functional (developer) consultants) could hit the project running. I expected my job offer to be issued at the end of the 2 weeks. Sometime in the second week I got called into a meeting with client managers; the principal question involved something they saw in my resume: is it true that I hold a PhD? "Yes." I wondered: what the hell is going on? Where did they get my resume? It's possible, of course, a vendor would share the qualifications of its personnel with the client, but I also knew the client was intending to hire its own Apps personnel, including their own Oracle Apps DBA; my role on the project was likely temporary in nature, transitioning my role to their own personnel. I worried because as a contractor I had a no-compete clause in my agreement with the IT company. I hadn't sent them my resume for consideration, and I was worried word might get back to my consulting company and they might terminate me for violating my contract.

It wasn't until the last day of the bridge contract when I got a call or email from HR at the consulting company. They wanted my response to an official offer--which was $15K down from what we had negotiated. No explanation; I balked, apparently not the reaction they wanted/expected, no follow-up or counter-offer. Later in the day, a company account executive showed up at the client site--and walked me off the site; essentially I had been fired. The offer had been non-negotiable (I wasn't given an ultimatum at the time of the offer). They paid off the bridge contract, but they were done with me.

I never knew what happened until a few years later when I got a phone call from a recruiter or tech screener who had worked for the same company on the project. He told me the IT company was close to bankruptcy at the time (they never discussed that fact with me, although I did know they were dragging their feet over making an offer over project bookings; I knew they had since filed in the interim), and it seems that the client was negotiating to in-source project personnel. It seems the low-ball salary was the maximum the client was prepared to pay for my position.

The other hiring alternative was working self-employed:  corp-to-corp or to a lesser extent 1099 work. I have known some people who hung their own shingle. One of my Catholic Newman Association friends back at UH had done that; he would work on and off when he needed the money to live on. Have I thought of doing the same? Of course. My maternal grandfather had been a successful mom-and-pop grocer. I hold two graduate business degrees, including an MBA.

In fact, I did briefly incorporate while I lived in Houston. At the time I had been an APL programmer/analyst in the now defunct computer timesharing industry. I was very talented at what I did (and today could do it again years later). I wrote some programs that basically went viral. In one case I took an HP plotter software interface utility which required someone to set literally dozens of parameters to generate a single plot and simplified it to less than a dozen inputs. We could sell these plots for maybe $25/each, and we were churning these things out all day long using my program. Another example was a principal client, Exxon. I had built an application tracking timesharing costs based on vaguely defined requirements from a client manager. Not only did he love what I implemented, he called me later to tell me over a dozen other managers across Exxon were using it.
(I still can program in a variety of languages and do a lot of shell scripting. Recently in my Oracle blog I published a simple bash script for generating randomized 15-character complex passwords, often required to meet database security requirements.)

I had recently left one of my timesharing clients (this may have been the one where the manager had fired me for retrieving my old office chair after an office move; he had replaced it with some junk he must have bought an at auction with a broken caster. My old chair was in a vacant room he had set up, intending to hire his own staff of female programmers. No, he wasn't "progressive"; he wanted to arbitrage the difference in paying women less money.) My old client, who worked at an Exxon real estate subsidiary, I think located somewhere near Clear Lake City, i.e., NASA, encouraged me to start my own company. I, of course, did not have any computer hardware/mainframe; I was hoping to sell programming services. There's a lot of paperwork and expense in setting up your own corporation, and long story short, I simply didn't get any paying customers. My old client used me to cut a better deal with my former employer.

Sometimes I did have other former clients who sought me out after I left (keep in mind there are often contractual restrictions over that). One example I've described above (the CMS contractor); another example was an IT manager at a refined sugar manufacturer in east Los Angeles, the last client I had before I was laid off from that Silicon Valley consultancy sponsored by venture capitalists (also described above). He had unintentionally deferred my layoff a few days by extending me. The company also had DBA's in LA, but he claimed he learned more from me in 2 days than all their local DBA's over 6 months. So I did some work for him at his initiative after I was laid off (my former employer probably waived the no-compete clause). Probably the biggest accomplishment of that was I built a custom concurrent program in a few hours that did exactly what he needed, for which Oracle was trying to sell something like a $30K license, not including implementation costs plus Oracle's typical 22% (roughly) annual maintenance support costs. He loved my work, but the problem is he only needed me for a week here and there, and I couldn't make a living on part-time billings. I just lacked the contacts to make it work full-time.

So the other option to W-2 work as an employee or agency subcontractor is corp-to-corp and to a lesser extent 1099. Many clients won't work on a generally more expensive C2C basis. And typically when you work on 1099 or in your own corporation, you have to assume the full 15.3% payroll taxes, so I usually have to ask for a commensurate higher rate.

My most recent gig was a classic 1099 gig. I can't go into specifics, but it involved geospatial data. It was a pilot project for a government agency. There is always hope if a pilot project succeeds it could lead to a sustainable long-term project and a prospective FTE opportunity with the contractor working with me on a 1099. There are other subtle differences, e.g., if the agency wasn't open (e.g., Labor Day), you can't bill, which means you don't make money. Federal holidays are generally paid if you work FTE for a government contractor. (I don't think they can bill the government but probably pay employees out of general overhead.) Another difference is on W-2, you usually complete computerized time-cards and are paid on a semimonthly or biweekly basis. In a 1099 role, you might typically invoice and get paid on a monthly basis.

I knew going into this engagement it would only last a maximum of 9 months. Oracle, my principal area of expertise, was written into the state of work. Then, in mid-October, the civilian project lead told me agency management had decided against deploying Oracle on its cloud platform (probably because of its costs, licensing and ongoing maintenance). Two business days later, I was laid off from the project. This is the kind of thing you run into as a government contractor.

Dealing with estimated tax payments is a separate headache all its own. My 3 months on the project spanned 2 different quarters. Not to mention September is in a different quarter than August in the Alice in Wonderland world of the IRS. The worksheets to compute the estimated taxes can be obscure, even for me with 2 math degrees and a PhD accounting minor. Not to mention all sorts of warnings against untimely or insufficient payments. It's a heck of a lot easier to work on W-2 and have the company do withholding. Plus, you also have to do the same on the state/local tax side, unless you live in one of the minority of no-state-income-tax states.

I know I've done a few 1099 gigs in the past, having to file Schedule C and/or SE (maybe, e.g., that CTR gig I described above in 2010) on my annual federal tax return. This time I found myself also having to file Schedules 1, 2, and 3. I really didn't find anywhere on the web to walk me through the process (this may be an artifact of my search). To my relief, I'm due refunds on both tax forms (federal and state). I'm hoping my next assignment is on W-2 as an FTE or through an agency.