129 comments

[ 3.2 ms ] story [ 194 ms ] thread
Not about Disney, but about "Pillar Technology in Columbus, Ohio".
Yeah - I don't grasp where the magic kingdom came from in the title. That's a phrase I straightaway associate with Disney, and it isn't even used in the article.
Have to admit, I originally thought it was going to be about Disney too, and was actually somewhat looking forward to the depressing tale of an ex theme park employee.
As someone who's been to Columbus, I can assure you there is no magic there.
> Pillar’s on-boarding processes includes watching a long series of training videos on their “Step-It-Up” program talking about who Pillar is, and why they do the things they do. They talk about things like Craftsmanship, Test-Driven-Development and consulting skills.

(...)

>Now, for a company that prides itself on Craftsmanship and TDD, surely there should be unit-tests somewhere, right? To my surprise, the project they landed me on had absolutely ZERO unit tests!

(...)

>So I did what any “Craftsman” at Pillar would do and I argued for us to start writing better tests. Unfortunately to my complete surprise, not only did I meet resistance with the client, I met resistance within Pillar itself!

That is a good example of the dissonance between the idealism and jingoism of the (internal) marketing and the reality in the field.

When the choice opposes

- doing things right, at the first attempt and building to last

to

- doing things fast and on the budget (undercut to catch up to the race to the bottom)

it always ends up like this. People (and companies) that know the right way but chooses the alternative.

I am going to preface this with the a small piece of information, I work in corporate America.

From my perspective, I don't quite get a lot of the points. No unit-tests? Most code bases don't have them. Cucumber tests? You're already ten giant leaps ahead of most products out there.

Code in disarray? Used to it for every single project I have to come into. Factories/viewers at least there is some semblance of structure!

False corporate goals? It's a company, I expect nothing else from them.

Weird North Korea chants? That's just weird as hell.

Again, I don't work in SF or NY so it's hard to know what exists within startup culture, but to me all of this just sounds like the norm. There is much less importance placed on decent code then there is on just getting something out.

At one time, I thought Medium carried articles of importance and repute. I no longer think that about most of them.

Medium is just a place where anyone can throw anything up there and have a potential of get linked to.

Every popular website will go through Eternal September at some point: https://en.wikipedia.org/wiki/Eternal_September

The challenge is how to enforce quality despite the surge in users.

A required lurking period, maybe?
Unlikely to work. Required lurking means lack of participation and thus lack of learning.

My counter suggestion is to encode the culture you desire in to the function of the site.

I had never heard of that but did notice the effect.
Medium was originally invite only, so the earliest articles on the site did indeed have a certain amount of importance and quality to them.

Unfortunately, since it opened up to the public, it's turned into something akin to a cross between an inspiring cliches platform, a marketing tool and a place for people to complain about things on social media sites.

Fellow enterprise developer here.

Startup culture freaks me the fuck out. I just want to write clean code, then go home and do something other than writing code. I'm not at all interested in giving my life to a project.

Totally agreed. When I left college I was convinced I'd never work for a startup because of the terrible stereotypes about startup culture. I love programming, but there is nothing I love so much that I want to do it all day every day and never do anything else. Even if you're a founder and would actually make a life-changing amount of money if the company was acquired, I really believe it's counterproductive never to take breaks. That's how you end up with code you take one look at and rewrite the next morning.

Ironically I work for a startup now, but one with a shockingly sane approach to working hours. I specifically asked about that in the interview and it turns out they were telling the truth, they really do care about work life balance.

Yes, but this is a company that claims to care about software quality.
I'm not a professional Python coder, so maybe I'm missing things, but I can't tell if this is really subtle sarcasm or not:

> What they did have was a frightening-looking hodge-podge of cucumber-esque feature tests. I say cucumber-esque because A) It wasn’t cucumber, and B) The feature files weren’t even Gherkin compliant. It was Lettuce. The scourge of Python software testers everywhere!

So they had tests, but they weren't the tests you like?

> What followed was probably the most stressful week of attacks and counter-defense I’ve ever encountered in my career for a few hundred line code change.

A "few hundred line code change"? Could this refactor been split-up over more, smaller changes perhaps? The last time I was forced to make a change of hundreds of lines, it took days to work-out the justification with all involved. You'll find the effort much more efficient if you are able to split up the code reviews.

I stopped there. I just can't tell if he's actually serious or not.

As a professional Python coder I had to look up Cucumber and Gherkin. I wasn't sure whether it was sarcasm either. And then I learned that Lettuce actually exists as a free alternative to Cucumber.

Who named these things, Javascript devs? (I jest, but Python has pretty clear naming usually)

EDIT: For those of you downvoting - consider the impression this gives to someone who doesn't know what Cucumber is (particularly in a ranty blog): you tell them "Oh no sorry, I was expecting to see Cucumber, but they were using Lettuce which isn't Gherkin compatible". I think it's entirely reasonable to think that those aren't real packages...

Cucumber and Gherkin originated in Ruby.
There is a better Gherkin compliant testing framework in Python known as BehaveBDD.
(comment deleted)
In short, the message is at the end of the article.

The person gives 6 weeks notice of leaving the company. Before then he works overnight on a bug, oversleeps and takes a duvet day to recover. Company fires him.

That's great! Now he gets unemployment compensation until his next job.
Not as a contractor he doesn't.
Is there a time limit on how long one gets unemployment comp?
You forgot the part of the message where Company sees an opportunity to get rid of Mr. CrankyPants, and seizes it. The way I read between the lines, he didn't get fired for coming in late one day; he got fired for being an insufferable ass [0] for a period prior.

[0] I mean, we all know the type that would make such a Facebook post. And none of us want to work with that type.

I'd stay far away from hiring anyone who explodes like this as a consultant.
He really shouldn't have included the FB rant. Up to that point, all you had to go on was his side of things. After it, you have to reevaluate all of his seemingly reasonable comments about his behavior and theirs.
Don't do this. It conflates so many personal/professional things it fails to give any idea whether this company is objectively good or bad and just ends up making the author look massively unprofessional.

By all means call out a company, but don't write angry, keep it professional, and most importantly don't be a dick.

While I'm always in favor of not posting things about your professional life on social media, from the story he told it doesn't sound like he did anything wrong here. There are two sides to every story, but it seems like they kind of screwed him over by firing him after taking a sick day.
I agree. I struggled with something recently and just decided there is no way to write about it without sounding like a whiner. Best just to move on and let it go. So that is what I'm doing. It sucks. Sometimes things just don't work out. But that is life.

In the end, I often think these kinds of things, if channeled correctly, have have a positive impact. But one has to be open to stepping back and being honestly and thoughtfully critical of everyones actions including your own.

Although I'd really like to read some examples of companies being called out without anger and with a professional tone (not doubting, just open to links if you have them).

I see a developer who's in and out of a company depending on his mood and opinion of the company several times, then complaining when he gets fired for not showing up at work.

He blames the all night coding session, but from the sound of it told no one he was doing this, and operated in a bubble. Then he seems surprised when at 11:04 the next day (which is almost 9 hours after he's gone to bed) he's woken up by a message asking if he's alive. The author, by his own admission, is unreliable.

To the author - it sounds like there's a huge disconnect between your opinion of your usefullness to the company and theirs. Perhaps instead of giant middle fingers on blog posts, consider thinking about it from their perspective.

Careful; I got my tail ripped off last week here on HN for suggesting that people "be adults", show up for work on-time.
Who decided, and when, that being an "adult" meant strict conformance to an unnatural schedule? Cui bono?
Pretty much anyone who decided to work for a company where the agreed upon hours are from X to Y. You can complain about it being unnatural all you want, but if those are the hours that you agreed to, then you're obligated to conform to the schedule. If you don't like it, work remotely for a company whose normal business hours fit your schedule.

Being an adult is not necessarily about conforming. It's more about sticking to your obligations. Even if your word means nothing to you on a personal level, others are probably depending on you to come through.

I totally agree with honoring commitments. I strongly disagree with the idea that committing to 9-6 or 8-5 in a rush hour commute is the definition of being an "adult".
Presumably you agreed to that schedule when you took the job. Thus, being adult is adhering to the schedule you agreed to.
One of the core pillars of adulthood is 'voluntarily doing things you would rather not do in the presence of obligations.'
I have to concur. I have a few rules for successful corporate life that, if followed, would have avoided this situation entirely:

1) Be reliable. Don't be unreliable. Corporations value consistency above all else.

2) Never work without a manager present. If there's nobody there to witness what you're doing, it never happened, no matter how many commits you make or emails you send.

3) Watch what they do, not what they say. Just because a manager says they're fine with your weird quirk of (for example) coming in early and leaving early doesn't mean it won't be held against you come layoff time.

I have to agree, this guy sounds slightly deluded. As another example, he blames his sleep apnea on his smoking, not his clear issue with being overweight. Eats ridiculously, and only worries about it when he is diagnosed with Diabetes?

When something like this occurs (health issue and work issue), you need to take a long hard look at yourself.

No doubt he made some amazing contributions, but also not being available to the client during normal hours is not good.

Some advice. Don't air your dirty laundry about former employers in public. It may help you feel better but nothing good will come of it. Simply move on.
There are a lot of possible lessons here, but after reading the whole thing the only point I can come up with is "Problem exists between chair and keyboard."
I'm playing a bit the devil's advocate here but there's two side to every stories. I've known employees exploding like this, convinced in their mind that they are right when in fact it is not so. Everyone is the hero of their own stories and some people are very good at rationalizing their action after the facts to convince themselves they are in the right.

It seems weird that he was fired just after putting an all nighter and resting the next day but there must have been some reason for that. It'd be surprising if there were no reason at all...

Anyone else disappointed that this had nothing to do with The Doctorow book? http://craphound.com/category/down/
I read the whole thing expecting something a reference to Disney's hall of presidents or some use of reputation as a currency.
Well, he feels he was unjustly pushed out of something, and he did use up all of his social currency.
I actually felt bad that he was misusing the title for such a trainwreck event.
> So, I was in! A 3 month contract was drafted that would run through Blueshift, so if anything went south, either of us could walk away, no harm, no foul.

You are a contractor. You can walk away. And so can they. Why create trouble?

> About a week into the project I began having bladder problems.

> So for the next 4 weeks I missed a ton of work for doctors appointments, and coaching, and fitness, and whatnot to get my life on track.

Right after the project starts, you become unreliable for them for 4 weeks out of a 3 month project.

> This time I gave them 6 weeks of notice.

You have a solid week. Then you are in and out for 4 weeks. Then you put in your notice after a week of solid work.

Then you don't show up.

With that timeline, you would have to expect to get fired. It happens. Move on. Don't look back.

All the public posts makes for a nightmare to deal with. They hired you and then they had to deal with you trashing the company on social media. And now you are trashing them on another platform.

Another huge mistake is that you weren't taking care of yourself. Why show up early and leave late while working as a contractor? Why take work home with you? Just put the time in between start and finish and call it a day. If you are going to put in extra hours, put that time into creating more leads and building your image. Certainly you aren't going to do all that by trashing your previous clients.

I don't think contract work is for you.

> In January 2015, I accepted a position as a Software Craftsman at Pillar Technology in Columbus, Ohio

Software Craftsman?

We all knew where the story was going after that!
when I was a kid I would tell people I was a 'Senior IT Consultant', now if anyone asks I tell them I'm a computer guy
For years my wife was a stay at home mom - if people asked what I did, I said I was a "go to work dad". When pressed further, I often said techie, or nerd or worked on computers and electronics.

I've been a CTO twice (at relatively small companies) but if I ever said that, people might get the impression I'm one of those MBA guys (can't have that).

I spent 10+ years doing contract software work, and several of my friends work for contracting firms, and I have seen this pathology a lot.

Don't stay up until 2AM working on your contracting firm's projects. Don't personalize contract assignments. Don't act for your firm's clients like you're their full-time employee: you aren't. Don't assume clients are OK with you coming in super late because that's what programmers do: many aren't OK with that.

There are some really great things about working for contracting firms: you get a W2 and benefits and mostly all the downside risk protection of an employee while getting exposed to all the random projects a consultancy gets. You get to dip your toes into lots of different projects. And when you get sick of a certain kind of project, often, you can easily no-harm no-foul switch to other projects. Contracting firms can be great.

But if you try to treat a contracting firm the way you would a startup or tech product company, things are going to suck for you. In particular: you must force yourself to deliver a day's worth of work and then put things down. If you're compulsive and need to work late into the night, stop doing client work, and switch to personal projects.

Contracting firms usually can't bill for your 2AM binge coding session. Clients generally want to pay for work done during business hours on a well-defined schedule. It does not matter that you believe that's not how software is delivered; it's how software is bought. If you run yourself ragged refactoring things until late in the evening, your contracting firm isn't going to be impressed with you: they're going to see, from 1000 miles away, that you're burning yourself out pointlessly in a manner that isn't going to make them an extra penny, and they're going to get pissed.

(comment deleted)
Best post about contracting ever! You need to set limits! 8 hours per day and then done!
The article specifically points out that there were no business hours nor well-defined schedule. These musings may be relevant to some contracting firms, but are not applicable to the situation described in this article.
You can't miss random days for no real reason. "I worked until 2am" isn't really a good reason... you're paid to come into work. Not to fuck about at home.
My impression was that this was a project contract. There would be no obligation to make paid appearances in this case.
I didn't see him say that, but that's really not my point. I'm not commenting to criticize him. I'm offering the consulting survival advice, which I'm pretty sure is generally applicable to all contracting gigs: don't work late for clients unless you absolutely have to.
I consider calling someone's behavior a pathology to be criticism.
That's fair, but that's not how I meant it.
They were obviously not impressed that he missed a day of work, one of many. I'm not surprised they let him go.
Consultants are not employees. Consultants are allowed to take off days anytime. They're allowed to start work at anytime and end work at anytime.
If they got this pissed about it, my guess would be that the client called Pillar and complained. Pillar must have felt that the author not going into the office made them look bad.
If you're working for the company, then yes, working until 2am is very much a good reason. Any company that doesn't see this as such is a shit company, plain and simple.
No. Really, really no. Don't work until 2AM for contracting clients. They won't appreciate it; they may the-opposite-of appreciate it.
> Any company that doesn't see this as such is a shit company, plain and simple.

Nothing is ever that simple. There are perfectly valid reasons for some companies to be unhappy with a contractor unilaterally deciding to work until 2am, and then not turning up for work the next day.

Falling asleep after your manager texts you to see why you haven't turned up for work today is unprofessional, whether you were staying up late night to code or to binge watch Netflix.

Please note that I am talking about this specific situation here. If you are working on your own products or in a team where people view this as expected behaviour, staying up late to take advantage of as many 'in the zone hours' as possible seems like an effective use of a programmer's time.

If that's what my client wants then yes I'll be there on time and in my seat coding. But I set my own hours as a contractor. How? Communication. You have to communicate what you are doing to your client and that is the OP's greatest failure here. It's a weakness of a lot of programmers given our general solitude and my own miscommunication in the past has lead to way more problems than any coding problem could.
I do have some sympathy for the author, but it's a good idea to keep in mind that just because nobody ever told you there was a rule against getting sloppy and working outside normal business hours, doesn't mean it's a good idea to do so. Having a passionate argument for why your problem is someone else's fault, is nowhere near as good as not having the problem in the first place.
Totally agree - I've contracted as an independent for about 8 years now, often with the same companies over and over, and I can honestly say I went into the office every day totally prepared for it to be my last and leave without a job. I have great, ongoing relationships with their employees and managers, I do well respected work and the projects have been generally very successful, but this is just the nature of the business. I see contractors in the same gig for years who let themselves become "employees who get paid more" and then are incredibly hurt when they don't get renewed. Again - this is the life of a contractor.
It's interesting that the attorney's letter specifically says "termination of your _employment_". Add that to the fact that he was "fired" initially because he didn't show up for work, and it looks like he has a good case of arguing that this was a de-facto employment situation, not a contracting gig. How and if he could benefit from that, I don't know.
You're missing a subtlety. He's a W2 employee of a contracting firm. Most of the work he does is for clients, not his employer directly, and to those clients he is a 1099, not an employee.

He was fired from the contracting firm, for which he was a W2. His status doesn't really factor into this.

Minor correction: I am a partner in the contracting firm. The contract was cancelled by Pillar as a 1099. I'm still a partner in the contracting firm but will be leaving in a couple of weeks when we shut it down for obvious reasons.
Ah, thank you for the correction. I admit I glossed over a few paragraphs, and missed this.
> Add that to the fact that he was "fired" initially because he didn't show up for work

That is his claim.

We don't know what else was going on and due to confidentiality rules, we're unlikely to hear anything from Pillar.

Based on his reaction on Facebook, Medium, and in these comments, I'd wager they had other concerns.

@tptacek Thanks for the helpful advice.

It seems like a lot of new consultants don't understand the differences between working as a 1099 contractor vs. W2 contractor vs. regular employee. I've met plenty of people who mistake a W2 contractor as the same as a regular employee except that the work is temporary.

I would like to point out that W2 contractors should expect their performance to be evaluated by the hour because that's the rate the client is being is charged for solutions. That's why it's important for W2 contractors to work only during normal business hours so that the client can't claim (later when payment is due) that the client didn't have opportunity to approve of said work and evaluate said work when the contractor delivered solutions to them.

My spidy sense is tingling, but I can't place my finger on it.

I had not heard of Pillar before, and really still have no opinion of them now.

I think the author needs to take a few months off and get his life in check before getting a new job, and perhaps remove himself from social media.

I think this is a perfect example of why one needs to learn to not get emotionally involved with "the job". I've made that mistake, once, and it cost me 5 years of my life (long, now boring story), but to blow up so publicly... Not cool at all.

I can appreciate the OP's enthusiasm and idealism, but in the real world, one needs to learn the limitations of that. And to be dealing with so many health problems at the same time... Psychological stress is typically a factor in "acting-out"; I've been there myself so I'm not entirely unsympathetic... Being diabetic sucks, let me tell you. The stereotypical stuff associated with IT (long hours, stress, free garbage food, diet soda galore, pizza..) are counter-productive when you're diabetic.

I hope the OP takes a vacation and gets some perspective.

At the end of the day, it's only all about business. The people who control the money do not care in the slightest about doing things 'the perfect way' if it seems it would cost more money or impact profits. This is something engineers have to learn (or they have to run their own company, which will teach them some hard lessons in how business actually works). As others say, a contractor who is obviously costing more overall than being productive is a liability, so to expect a business to care about you as a "human being" is a little naive. HR is never your friend.

"not having unit tests is really. fucking. bad."

writing code so bad that not having a unit test is that. fucking. bad, is, THAT. FUCKING. BAD.

you suck.

The author burned himself out and then tried to shift the blame onto the person he's contracting for. Taking care of your physical and mental health is part of being a professional programmer too.
PSA: This isn't about Cory Doctorow's sci-fi novel of the same name
This is bad. It's a car-wreck at best and all it will do is have everyone hit the breaks as they pass that particular stretch. Developers are not going to rise up as brothers and sisters in arms based upon what you have written here. Instead, they will distance themselves from you further because you are Drama.

Also, you named a whole bunch of people who are probably very unhappy to be associated with this mess. I would hate to have someone search for my name and have this turn up.

All in all, you come across as being reckless and it makes you a liability. You can't acknowledge that your Facebook post was a lapse in judgement and then double down with a novella on Medium.

Give some serious thought to re-establishing that separation between your personal life and your work life. Stop with the social media. Focus on your health and your sanity. Get a hobby outside of your job. Learn how to cook healthy dishes. Exercise. These are things all of us probably need to do since we love what we do and want to be the best we can be and give way too much to do so.

Yes. Poor form to drag others into this, especially naming people who have asked not to be named. Also, it's a bit asymmetric as the company isn't in a position to defend itself.

If a company lets you go, you shouldn't ever expect to go back unless you're invited.

I do appreciate and respect the author's honesty about the personal issues he encountered along the way. I hope that he gets his health in order, and finds happiness in his next role.

I have some advice for the author.

Go back and edit this; remove the big middle finger image and tidy this up to be more professional. It's ok to write it (kind of), but seriously you made a "fuck you" logo?

Would not hire, or interview, or want to be associated with professionally.

I agree. It muddles the message. I've updated the article and removed that image. It was intended as a sort of defiance against their Cease and Desist however, it was indeed, in bad taste.
If I were you I would just delete this post. If I looked up your name as part of an interview process and found this article I would not touch you with a 10ft pole.
If every employee at Pillar pulled out a bullet list of accomplishments from their annual performance review- it would seem everyone from the admin to the CEO saved the company from death multiple times. If everyone of these guys flashed those every time they screwed something up- it would be very hard to operate a company. There is give and take at work and its good to be aware of that line is.
Regardless of what went down, there's a certain pragmatism to consider before writing an article like this. Next time you apply for a job, they will Google you, they will find this post, and they will weigh the value you offer against the risk of a similar outburst should things go south (and there's a risk with every new-hire that things will go south).