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.
He was fired from the contracting firm, for which he was a W2. His status doesn't really factor into this.
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.
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.
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.
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.
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.
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.
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.
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.
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.
https://news.ycombinator.com/item?id=11397427
Your posts were not as civil as "be adults".
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 currently work for Pillar. I met Ray for the first time fairly recently. He seemed like a smart, passionate developer and it breaks my heart to see him having such a meltdown. I've had my own sleep issues and the last company I worked for seemed to be talking out of both sides of their mouth. I understand what that can feel like. It's a really hard thing to go through. I would also say that when you're barely sleeping at night, you make poor decisions and start to look at the world through a warped lens.
Yes, the company is goofy. The CEO can be a bit of a blowhard, the titles seem kitschy and uninspired, and there's a lot of self-congratulatory aggrandizing that goes on. It's a consulting firm. It's not surprising.
But the people are excellent. Imagine an oasis of nerds (okay, maybe don't) that really care about software quality in the center of a market that needs a lot of help. They're committed to education, community involvement, and each other. It's really pretty great to work here.
That is, as long as you don't get it twisted. On time and under budget still matters. Perceptions still matter. Politics, expectations, and realities are all things that you're going to have to deal with no matter what. Your ability to balance all of these things is part of what makes you effective at your job.
I don't know the particulars of the circumstances that led to his termination. I don't really want to know them. It would be irresponsible to postulate. However, I can say that I'm disappointed with the way that he's chosen to move on. It's good for no one. I see a thoughtful developer burning bridges in public.
That can be cathartic, but at what cost?
I tried very hard to end things on a positive note with Pillar. I called Don repeatedly trying to connect with him, I called Jim repeatedly trying to connect with him, and I tried having a civil and adult conversation with Brandt.
What I got was silence, insults, and a legal demand letter for venting to friends and family on Facebook, and a permanent ban from attending user groups hosted at Pillar. User groups that I brought into Pillar.
Do I fault Pillar for firing me? No, of course not. I was a little upset, but I get it. But what they did wasn't an appropriate response and after I learned that they did this to other people as well, I had to act.
Talk to the other developers on my team, they will tell you that I was in good spirits and wished them both well in the future when I got in touch with them.
I did my part to handle things professionally, I really did. Pillar escalated this well out of proportion than it needed to be. Someone needs to speak up and say something about the way Pillar treats people after they are done with them and how they handle critics (these other people who, in some cases are legally gagged against speaking up).
Like any bad breakup, it's in everyone's best interest to just stay quiet, not take sides, and hope this blows over.
You are digging the hole deeper and have been with every Facebook post, the Medium post, and HN comment.
Stop talking. Take a long weekend. Take a week and go do something else. You're only making it worse.
Naming names (and there were a _lot_ of names in that post, wow) is way over the line of acceptable in this case. Showing up at a client's site to confront your coworker(s) is borderline dangerous behavior. All of the actions mentioned in the post (including the post itself) will only escalate the situation and increase the sense of urgency of all parties. No good will come of that. Cut your losses and move forward. The firing was completely justifiable, and (OP) you know this, let it go.
Again, not trying to shame or judge, a lot of us have made similar mistakes when we were young, but you do need to learn the lessons in mistakes or you will never mature.
It's sort of like the obvious but so hard to follow rule... "this is going to sound X... you know what, I probably just shouldn't say it at all."
Hope you get what you're looking for. I think your best bet at this point is to walk away and leave it a couple of years.
> kitanata 905 days ago | parent | on: Silk Road 2.0 Launches
> There are kits you can buy to test the purity of drugs you buy: http://dancesafe.org/products/testing-kits
A lot of people die from bad mixed up shit, and if they knew there was a way to be sure what they were taking, is in fact what they think they're taking, then I think it's wise to let them know about that.
As for your blog post and the response here, I only have one comment -- continue to focus on your health with the same drive and passion that you have toward coding! I realize you took a few weeks to get healthy and change your diet, but for me at least, learning how to consistently lead a balanced, healthy lifestyle took many years. I'm not suggesting that you read thousands of nutrition studies or anything, but instead everything from learning where the best farmer's markets in your city are, what sports you enjoy and building relationships with people who play them, figuring out what triggers you to make unhealthy decisions, etc. I encourage you to approach your health in a 'holistic' way. It's a long journey and a highly personal one, but it's worth the effort.
>I will never sleep without it again. The difference is day and night. I honestly feel like I just snorted two lines of cocaine.
You previously post advice on buying drugs safely. Then you compare a sleep device to snorting coke. Even if they have NO relation and you are a 100% clean and sober individual, what are people going to think about you?
It is just showing a pattern of poor judgement. Which is fine, we all make mistakes. But use them as a learning experience to better yourself. Maybe posting a blog after getting fired from a job is not a good thing to do next time it happens?
So his comparison is not out of line. You feel THAT much better/energetic/etc.
I had no proper REM sleep for 4 years (the sleep study said I never slept for more than 30 seconds at a time), and then with the CPAP machine, I slept a solid 12 hours. Just imagine how much better you would feel after that - and give the guy a break for comparing it to coke.
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.
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.
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.
Medium is just a place where anyone can throw anything up there and have a potential of get linked to.
The challenge is how to enforce quality despite the surge in users.
My counter suggestion is to encode the culture you desire in to the function of the site.
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.
> 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.
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...
By all means call out a company, but don't write angry, keep it professional, and most importantly don't be a dick.
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 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.
But my 2 cents if you're interested.
No one is going to care. The company that you're angry with, least of all. They will just try to screw you with legal action. They will likely succeed considering you are an individual and they likely have a big legal warchest to punch you with. Developers will continue working for them, customers will continue giving them money - but the same can't be said about you or your small consulting firm until this blows over - if ever. Take the perspective of the company and their clients, bitter as it may be. You just look like someone who didn't deliver and are now making lots of excuses and raising a hullabaloo on the internet. Try to make a settlement with them and get this thing buried forever.
You have a very strong emotional connection to your work - you love writing code! This is great. Just applied in the wrong place. Contracting isn't for you my friend, it doesn't always engender itself to this kind of emotion and you have to be able to live with that. Your options are:
1. Become less attached to your work code. Do what you are being asked to do, no more and not less - and never set the criteria yourself. Work on other stuff.
2. Go work for a startup (or start one) where your emotional connection to doing high quality work (per your perception of quality - unit tests are no guarantee) - is highly valued.
Most important of all, like everyone else is saying - please take a break.
I know he's planning to work in his own startup, but can he get along with his new partners in the long term? My guess is no but I'll wish him the best all the same.
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 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.
Yes because at that point, you're trespassing.
You have NO legitimate reason to be on the customer's site. Further, you probably signed something saying that you wouldn't contact (or maybe just solicit) Pillar's customers for N months.
If you ever get fired by one of these groups, cut off all contact with the customer immediately. You might still try to smooth things over with the contracting company but even that is a bad idea the day it happened.
When starting at a company never try to change anything about it within the first several months of working there. Learn what they do. Emulate what they do.
After you've reached a trusted status then you can start suggesting improvements.
Don't be that guy.
Last time I tried to "fix" something, it was four months into a job where the scheduling server was put onto my shoulders to fix, among the other things I was asked to fix, simultaneously somehow. I spent two weeks on it and digging through terrible java logs filled with red herrings galore and a badly designed Oracle schema. My boss helped out at the end, but at no point were developers willing to spend a fraction of that time to fix their own code. I mean, they said they would, but never did. What do you do when upper/mid managers and developers aren't willing to fix a major issue that effects prod's upstream and you're wasting 20 hours a week on something they can easily fix? Continue flailing while affecting my reputation in the meantime since I can't figure it out?
Every company I've ever worked at has told me, "You have a fresh eye, so if you see anything wrong, we trust your expertise, so you should bring it up." When trying to exercise that, though, it consistently ends with push back from all sides. Every time, then, I bring up the initial mention of a fresh eye, where they agree, apologize, and nothing comes from it.
My experience is my own, my learning methods are my own, and I was hired for that reason. If someone's hired on trust and experience that they can do a good job, then forcing "emulation" is a slap in the face. I'm not saying that they shouldn't try to fit the workplace's work patterns, but trying to force someone to do something that's orthogonal to their natural flow or experience without listening, then of course there'll be resistance!
There's a point where resistance is good. There's a point where it's bad. There's also a point where not listening to that resistance is worse than the resistance itself.
You are in no position to understand the culture, context and constraints previous developers were under when they made certain decisions. Have some humility and withhold judgement.
It's rare to see a burn-the-bridges rant in which the author looks good...and even then, you basically have to be Steve-Yegge-level to come out looking like the better dev (not that Yegge's essays can be considered "rants"), But I can say with certainty that I've never seen a ranting essay delivered within a 24-hour period that was well-thought out or flattering to its author. That is simply too short of a time after a long emotional battle to have the right perspective on things, never mind the emotional health and energy to think things clearly.
My advice is to kill the essay, take a week to simmer down, and reread it after you've calmed down and got back to normal life. Repost it if you feel you need to but hopefully you'll see that many of your complaints are rather minor in the big scheme of things, certainly not worth raising such a wall of bad blood for.
(...)
>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.
Software Craftsman?
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 mistakenly asserted that Sara was “driven out of the company”. After talking with Sara she informed me that she left on her own accord and in-fact has maintained a very good relationship with Pillar."
I don't see anything really wrong with the company here. Okay, they are possibly a bit wrapped up in their own founding story and have a higher opinion of their code writing skills in the abstract than in the concrete. That's pretty...normal. Maybe they even suck as a company, who knows? But this isn't some clearcut story about a company doing something terrible. No one is going to read this and think, "I need to contact this terrible company." It reads like a rant. OP, seriously delete this. I get that you are angry right now over what you perceive as being terminated without cause but this will hurt you more than it will hurt them. It comes off as more than a bit immature, even now that you deleted the FU picture. It sounds like you are a good coder with some health issues. Get your life back together, take some freelance work, and figure out your next steps. That will all be a lot easier without this coming up in google searches. I don't say that to be a jerk, just from someone that has also been wrapped up in my own personal story a bit too much at times.
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.
[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.
This is seen all the time, starting with expecting to have the interview process tailored to their whims to expecting their feedback to be immediately implemented and taken as near gospel.
This is a more tragic case of a person not versed in the specifics of contract employment thinking he is owed more for providing more than was originally asked.
I sympathize with the sleep apnea bit, though - that can turn your life into living hell unless it's properly treated. Mine almost killed me - I did a writeup that's archived at http://weblog.mrbill.net/archives/2014/01/13/falling-in-love...
And hopefully now, he'll learn his lesson and never do it again as pretty much everyone in the industry learns if they don't burn out before they do. Employers don't give a shit about you. If you don't/can't understand that, you're not a professional yet.
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...
For your own sake I suggest you take this down, otherwise you may find it difficult to find work later on. If you are ever in a similar position like this again you need to learn to not take things personal and walk away while you still have some dignity.
But also I don't agree with anyone else here that firing an employee on the spot because they miss a day of work is to be expected. To other devs reading this, you don't have to put up with that. Life happens. He should have sent an email at 2:30am, but his company should have understood as long as he was getting things done. You are truly better off not working for them.
He was a contractor.
Give them what they're paying you for or get the f* out.
>Board Game Designer, Programmer, Musician, Mathematician, Designer, Poet, Lost Romantic, Tech Renaissance Man