Getting Paid By Low-Class Companies June 7, 2009 at 11:48 am

I’ve noticed a trend lately. In times of economic struggles, it is OK not to pay your contractors.

I am a contractor. I’ve been working hard for this one company Since around March. Here is the situation.

  1. This place is too far for me to travel to every day.
  2. I don’t currently have a license, so it’s even more difficult to do 1).
  3. I lowered my rate by ~40% as a favor to these guys to help them out. Not to mention I needed the job.
  4. I allowed for net-30 payment (huge mistake).
  5. I am on-call. I can be paged at any time if there is a system problem. I therefore have to be responsible and not become inebriated, ever.
  6. I am available for questions whenever they like.
  7. I pay $60/mo for an Air Card so that I am available anywhere I go.
  8. I put in a significant amount of time over what I bill for.
  9. I got them a STEAL on servers. I called in a personal favor to get this done.
  10. My contract says that I am to put in 20 hours a week.

Putting my work into perspective, I do Operations work. Here is the scope of things.

  1. Keep servers running efficiently.
  2. Write scripts to automate certain procedures.
  3. Ensure the minimum amount of downtime possible.

Unfortunately, Operations work is hard to really keep track of. There are so many little items constantly happening that aren’t big enough to make tickets out of. Not to mention the due date on everything is “yesterday”.

That being said, the CEO is complaining that I billed twelve extra hours over two weeks in my first month. I was up until 5 a.m. on multiple nights helping them out (I was even on a conference with the CEO at the time!). I sat in the datacenter for 10 hours a day for a few days. This was to get them ready for a very important convention. I even went through the trouble of tracking my extra hours with an awful little app (an adobe air app called Klok).

So… I sent in my invoice. It’s full of very valid hours. I felt like I hooked them up, since I really went the extra mile for them (as far as not billing them for hours here and there). I had been paged, and I didn’t even track those hours. After pretty much begging, I get this response:

“you expect me to take care of your needs while I am on vacation in New York? By the way, we have 30 days Net terms on your invoices so your invoice is not due yet.”.

uh, yes? Just because you are on vacation doesn’t mean you get to decide whether or not you pay people. Welcome to America.

I finally get a check. This check is about 60% of what was on the invoice. I attribute this to the idiotic net-30 terms that I agreed to. I then email him about this and I get this response:

“Yes Eric I like to have a discussion with you around your invoice. I don’t think we will be able to pay the entire amount at this point in time as we do not agree with the hours you charged us. Lets definitely come to a conclusion on this quick.”

Ok. You probably shouldn’t have paid me 50 percent of my check, and then a month later (net-30) when I ask for the rest, say that you don’t agree with the hours. I don’t even work with the CEO at this company, so he has no idea what kind of hours that I put in. He just doesn’t want to pay for the services rendered, which I found out later he tried to pull with the vendor I hooked him up with for servers.

Now, the latest news is that I’ve been cut down to 10 hours a week. I’m going to track my hours with ruthless efficiency this week and give them NO MORE than 10 hours. That’s ONE DAY of work a week. This won’t even pay my rent BEFORE taxes.

In summary, I’m getting screwed. I’ve billed at 60% my normal rate, hooked them up with hours that I haven’t billed for, and have been extremely available and flexible with my time. I get repaid with some little token percentage of a paycheck. Unfortunately, I don’t have much recourse. This is my livelihood, mind you, and I could have been working this whole time for a good company, had I known that I wasn’t going to get paid for my work.

I am thinking of starting a contractor blacklist of companies not to support.

We’ll see what Monday has to offer. I don’t have high hopes on this.

Does anybody have any suggestions? If this pay doesn’t come through, I’m not in a very good situation. Is anybody hiring?

Putting together a company… December 8, 2008 at 9:43 pm

Now is the time to act. I think that at this point, I cannot wait for people anymore to bring my ideas into existence. I just need to bite the bullet and go at it myself.

There is always this feeling of something being too big. I think you have to cut that feeling into parts as well as you can, lest you be overwhelmed. I have no formal training doing this, but I have many smart people that are willing to help me out.

I’ve written up a bit of documentation about this project. I sincerely believe that it could happen, and grow to be something incredible. I’ve had many ideas I’ve started on, but never really ended up executing. This one would be a huge mistake not to go about doing.

We are starting work on this project. I only wish I could help more on the technical progress. I have to depend on my business partner quite a bit at this point.

How can we stay motivated? How can we best use this time to accomplish something great? 

Time will tell. I’ll hope to be updating this blog one day with a huge story of success. For now, I’ll just settle for excitement.

Sick… September 10, 2008 at 5:20 pm

Ugh. Why must this still happen? Haven’t we figured this crap out yet? With all of the modern science and medicine, you’d think this kind of BS would be eradicated.

But I digress. Since I’m sick, I’m limiting what I’m doing today, so I figured, what would be the opposite of doing anything? Writing a blog post! Now here we are.

Sam is back from Rio today. I only hope I’ll be well enough to head over there this Saturday, or else I’m in for a pretty unpleasant weekend. Sam’s house has been my weekend spot for years now, and when he leaves town, I have nothing to do (I’m a loser, I know).

So I looked into these message queueing systems, and nothing seems to fit our needs adequately, aside from writing custom code. Hell, Zer0MQ crashes on the simplest of all tests. Maybe I’ll look into it a little more when it seems to be more mature. Right now things are running smoothly enough with the current database backend that I’m thinking of other ways to manage this “problem”.

In any case, I need to get back to bed and get this “sick” out of my system.

Work is getting fun again… August 27, 2008 at 7:40 pm

After a major shakeup at work in the management team, things have settled down. I’m now in a place where I can actually DO things (i.e. test Zer0MQ). The fires are no longer burning, and work is just starting to get exciting. I’m working on a kick-ass cacti configuration (though it won’t be ready for a while yet.

I’m considering writing a proof of concept for ZeroMQ or ejabber as a messaging platform. Databases are antiquated (for this purpose) and really are simply not the right way to do this. The data set we have is constantly changing, invalidating cache, and all kinds of badness. I’ve worked with ActiveMQ in the past, which was “ok” besides the fact that it is java based, which is just pure hell for Operations Engineers.

Zer0MQ is all written in C++ so it should be pretty easily integrated into our backend software, unlike ejabberd which is all erlang. I think no matter what we use we’re going to have to modify the code at least a little bit to cater to our needs.

I’m also getting MySQL MASTER-MASTER going on the VM machines as we speak. I don’t see this being a problem. It has always worked like a charm for me in the past.

A bit on the management shakeup… Mike Lee was the Chief Architect here, and is an all around good guy. I think what he did was necessary, but I think he could have approached it differently and got entirely different results. Bye Mike, I really hope you start something really good.

Well, it appears I’m writing a blog… August 21, 2008 at 10:05 pm

Last night was a major migration. MySQL was choking on the size of the queries, lots of rows scanned, lots of 0 rows returned. A lot of optimization done by Sean has lead to some pretty amazingly efficient code. We can now scale a lot further than we could a day ago.

 

Simply adding an index to one of the tables seemed to have increased performance pretty dramatically. I’m logging all the queries that aren’t using indexes so I can if I can squeeze any more performance out of it. So far, the slow query log is completely uninteresting. The scripts I wrote to limit query time are now unnecessary (at the moment), and phone won’t be constantly beeping and buzzing.

 

Andrew seemed really happy today, I don’t know if it was because of this (I suspect it may be part of it) or if something else is going on in his life (none of my business), but it’s really much more pleasant in the office when he is like this.