Why 80 Percent of Web Projects Are Total Bullshit: A Freelancer’s Rant
betabeat.com
betabeat.com
Gold. Pure gold.
I've long wandered in the wilderness. I've had years of writing bullshit business applications. I've even dabbled in investment banking (where programmers, excluding quants, are the second lowest paid professionals at the bank, only higher than support/IT people). I've worked on bullshit semi-startups.
Now I work for Google where ironically... I write internal applications. This may seem like a cruel joke but it's really not. There is so much respect for engineering as a craft here that it occurred to me that it's not the writing bullshit business applications that was sapping my will to live, it was the business-types who so consistently treated engineering as an interchangeable cost center.
I've done the freelancing thing too. Never again. The world is full of delusional people who think they're the next Steve Jobs and that their idea, by itself, is worth something (it's worth precisely nothing).
People will throw a fit about whether or not the meeting minutes were filed in the right place, in the right format, or whether or not someone is in the precise sanctioned work attire... but huge problems will just slide.
The modern corporation is a horrifyingly inefficient waste of time in so many places.
I know it sounds weird and I am probably doing a bad job explaining, but it just seems like some people cannot stretch beyond the pattern that the rules say should be there. You are absolutely right, it doesn't excuse anything, but it just seems like you can make some amazing predictions of post-crisis behavior based on what you think they think the "pattern" should be.
A pattern-matcher (and I think you are right about that) would focus on the most out of the ordinary thing, would he not?
I mean a Tiger in coming towards you. Do you notice (or care about) the bustling leaves on the bush?
I think you missed the clause "in abscense of a known crisis will value the pattern over basic feelings". Not being a zoo keeper, I would think a Tiger constitutes a crisis.
I cannot help but think the manager found that there was no current crisis, someone had taken action, he must now take action, then we get the thing out of place. I would assume (yeah, that word) the normal behavior would be to send the tech home with a "great job" and a "we got it from here". Nope, let's fix the pattern.
That's the core of "Parable of the Monkeys." I'm not sure what the canonical source is, but here's a concise rendition: http://allhazardscontemplations.blogspot.com/2009/06/monkey-...
Sometimes petty issues come from an even darker place, like punishing non-conformity.
On the other hand big problems are hard to solve. People frequently bemoan the glut of poorly skilled individuals who claim to have software engineering skills. One would assume that that there could be a similar ratio of crap people in other fields, management, for example.
In short; managers focus on these things to an extreme because they are bad at their job and policing people's wardrobe is the fizz buzz of the management world.
[1] http://en.wikipedia.org/wiki/Parkinson%27s_Law_of_Triviality
Edit: fixed link - thanks
I love finding out there is a single word for something it would take an entire paragraph to describe.
I mean these laws should be taught at school.
Absolutely.
In my case I observed a few things which I could not believe from my own eyes. When you put in a lot of effort to deliver to things you are considered not a good team player, some how even the guy who performs the least is considered better than you. You are expected to share both credit and hard work rewards with some one who had absolutely nothing to with your work. Refuse to do so and you suddenly become a bad team player.
You are always expected to be in full dress code, sometimes this takes so much precedence that its often taking as bargaining thing in performance appraisal discussions. You have to be good to your boss, revere him as hacker extraordinar even if he is actually a Jack ass.
The list goes endless. If large corporations spend even 10% of the effort they spend on these things on work, they could move mountains.
This enables them to worry about things like dress code with impunity, as they're relatively free to hire and fire without having to worry about who is going to manage that system that only they knew about.
Then they wonder why they aren't able to deliver exceptional or world-class service.
Literally: Not at all.
The point wasn't that Java = easy, so let's use Java, rather, that the entire mindset of the Enterprise is that THEY don't understand the craft at all. They believe they can swap out developers as easily as they can swap out help desk workers (which also seems easy in theory, but isn't in practice -- a great help desk tech is worth their weight in gold.)
As their intent is to reduce IT workers to a commodity, I would also venture that it's harder to hire the truly talented (more often than not.) The focus isn't on technical excellence, it's on baseline competence, ability to follow SDLC workflows and, basically, to develop consistent amounts of code so that scheduling is as repeatable a process as possible.
There are exceptions to everything, of course, but I'm speaking from my experience working in and consulting for Fortune 50 companies and Federal Government, where the behavior I described is possibly more prevalent than somewhere like Cisco or EMC (read: technology companies), but I stand behind the position as more the rule and less the exception.
That is the one thing that consistently amazes me about entrepreneurs - no matter how silly, ridiculous, dull or otherwise negative opinion you may have of an idea/area - someone is probably doing something really impressive in the space. I've done a lot of interviews with entrepreneurs and honestly, sometimes I read the quick description and go 'oh god, not another one of these <stereotype>.' Sometimes, I am right, but there have been quite a few after doing my research have really impressed me. Even if I think it will be boring, I am willing to give it a chance because I've learned I can't predict what will be impressive or not with any significant degree of certainty.
If you sell stickers it maybe will work out for you. But if your company is highly technical you should at least know a little about how your product is made to decide if ideas are feasible or not.
Using a pseudonym to anonymously whine about people's bullshit projects is so cowardly. I generally agree with what he is saying but don't have much respect for this faceless ranter. Is it so hard to say no to the people who approach him with these bullshit projects, and move on? This isn't a new problem. There are plenty of clients especially in Brooklyn that are willing to pay a decent wage to work on a project that isn't completely soul crushing.
Building a good freelance client base is all about word of mouth. If you work a gig for a low wage and they walk all over you, chances are you will get more clients from the first client that want the same thing, to pay you a low wage and walk all over you. If you are choosy about who you do projects for, you will probably have a better portfolio because you didn't work on a bullshit project, and you will land more clients like first ones you chose to work with.
If you are choosy and still think the clients suck and the projects are bullshit, freelance probably isn't for you.
How is he trying to stay anonymous?
It is just one poorly written line in a poorly written article.
I posit that there are two kinds of people: Those who are good at what they do, and those who are not. Granted, it's far easier to find people who are good at some tasks than others, but the list of "difficult to find" skillsets isn't as focused in the tech industry as you might believe.
Case in point. My father has run his own lawn & landscape company for the last 15 years or so. In that time, he's discovered that it's actually really difficult to find people who are good at that job. That job being running a lawn mower, weed-whacker, and hedge trimmer. I'm a determined individual. I consider myself up to any challenge, but on my best day, one of his crewmen is worth two and a half of me in the field.
After the Florida hurricanes in 2005, I worked with my father's business for about a week in an effort to help them catch up. Two Guatemalan men on the crew called me "el burro", because while I wasn't much good at anything else, I'd pick up and drag tarp after tarp full of debris back to the trailer without question. They were half making-fun, and half serious. I ended up gaining their respect, but I'd have received my pink slip after three days if I were a hired hand.
I've taken the long way around to get to my point. From the businessman's perspective, most programmers we deal with suck pretty hard too. Care to know how many developers I've wasted time on, only to find out that they didn't know what they were doing, or were incapable of meeting me half-way in understanding a project?
Some will be quick to point the finger at me for having a loose spec, or allowing scope creep, or failing to understand the technical challenges. I'll be quick to point to the fact that I have a great network of talented, motivated programmers who jump at the chance to work with me.
I'm not asking you to talk to bullshit entrepreneurs who can't walk the walk, but I am asking you to set aside that chip on your shoulder until you take the time to know the difference.
For anyone you work with to respect you, you must show that you at least have tried to do they work you hired them to do, and done it competently.
The longer version: As a CEO of a software company it means you've at least developed in a couple languages (even if its only php, ruby and some Obj. C) and actually built something. As CEO you need to also be good at (or at least had some success at) sales to be able to attract talented and well connected sales execs. If you can do both things at an above average level, you are irreplaceable.
Again, both dev and sales positions are crucial. It's very hard to find someone even marginally good at both. Great salespeople and devs should be paid and treated like the rockstars that they are. That's the easy part.
The hard part is actually being the guy who can bridge both worlds. You're not worth the paper your business card is printed on if you can't attract talent, raise capital, sling a little code, sell, and ultimately be the product manager for your company/product on any given day.
It's a hard effin' job, and if done well will earn you the rockstar hires that will make your company zoom.
In fact I would prefer somebody who didn't know that much about computers, since he is properly happy enough letting me do my job with little to no useless interference.
You could be right, and it may well be that someone with zero technical knowledge can lead a team to success by being completely hands off. I just have to believe that success is more probable when the boss can sit down and brainstorm solutions to problems with the dev team when needed.
And perhaps more importantly, I know I appreciate it when my previous bosses understood when they were asking for something hairy, and appreciated the level of effort and skill that went into crafting a solution.
Programmers can:
1. Work at Big, Co. and make a decent living.
2. Work on your own projects and sell them directly to consumers (App Store)
3. Take on potentially douchey clients and their ideas.
If you can't stand the thought of #3, then just don't do it!
Turning down clients that raise your eyebrow play a large part in finding the right ones.
PageRank is awesome, but adsense pays the bills.
Usually those $1000 snowball scoped projects take forever for the owners to pay up.
But seriously, at least if you don't like clients, stop whinging about it. Unless you have something good to say, which this article does not.
Hate to be a party pooper, but this was total garbage. We all know what's wrong with freelancing.
No need to pick on the sticker company guy, either - I've heard he's a great fellow.
Zero intellectual substance here.
The free market sucks, especially when you're competing with 3rd world countries. The only way to improve that is to make sure that the standard of living in those countries goes up sufficiently high that everybody gets to make a living. Give it a thousand years or so. Meanwhile enjoy your cheap goods from China.
Guess what, building infrastructure is really boring. And to the people that employ freelancers (like you and many others) you and your product are not the goal but simply a means to an end. And that end may be boring as hell but it probably makes a lot more money than freelancing writing software does.
If you want to practice software as an 'art' then you should get really good at it, rather than to be mediocre and to bitch anonymously about how terrible your customers are.
The great thing about freelancing is that you are under no obligation to take on a particular client. But you are under the obligation of once you do take on a particular client to treat them with dignity and respect and to deliver the job with a minimum of fuss, on time and within the budget. And even just that can take some skill, even if not all of it is technical.
I have a new found great respect for you programmers...I am very envious of your skills. So thank you all for creating the great software and technology that I use everyday.
Correctly so someone in comments of original blog pointed out the stickers guy is not a nOOb and a successful entrepreneur.
More likely he's a sales guy and he made a product-sales business with minimal software needs. Good for him, but you can't generalize that to "Founders should barely know anything about technology."
Seriously though. I kind of gave up to discuss this. To be honest I kind of like things the way they are, I want those who believe in the "coders think business is only codding" to continue doing so. Why would we want to enlight them?
Suppose we restrict the outcomes of him being called out to two possible scenarios:
1. He becomes offended, writes a retort, etc. Both he and the writer are filled with indignation. 2. Laughs it off as he knows much of what he said is correct though sees from the writers point-of-view what he was getting at. Both are improved as long as the writer himself does not take the feelings attached to scenario 1, that being of maliciousness/anger or rather someone giving in to being controlled by dumb emotions.
Personally I have quite little faith/trust in people who become wild upon hearing the slightest possible insult or whatever. It's like people who give in to 'road rage' yet the next day themselves has a small lapse of judgement. I think what I'm trying to say is, who cares or in an even more vulgar term, 'haters gonna hate.' :P I would prefer it if we all were held more accountable to what we said and those who think and act intelligently have near-nothing to worry about yet those who act based on silly ideas and superstitions will forever be in fear of being called out.
And, I associate tact and similar concepts with when talking so I can agree that it's not always appropriate for public comments.
I have a bootstrapped startup. I also left CS my junior year several years ago after running out of money. I haven't touched programming since so it's easier and less time consuming for me to hire a freelancer for a few bucks than it is to hit the books again. Even though I'm not doing the programming I'm grateful every day that I have that programming experience since I know if what I'm asking is possible or not. I have friends with ideas that ask me about programming or websites all the time and some of the things they think programming can do is shocking, the average person is completely clueless when it comes to how things work. Possible: "when someone signs-up on the website send them a confirmation message with a link asking them to like us on Facebook". Not possible: "when someone signs up send them a confirmation message and automatically have them click Like on our Facebook fan page".
Requesting this on a t-shirt. White text, black background. Nothing else. Maybe a cheeky clip art of a stereotypical neckbeard-sort-of-guy.
But seriously, you requested that someone make the t-shirt, implying you were willing to reward the effort; I figured I might sell 1, and get, what, $4 for 20 minutes of work I did at 1:30am?
'Every time I tell a suit about an idea of mine and they ask “what’s your exit?” the answer is “death,” because my goal is to make software that is useful and makes users happy and that’s all I need.'
This goes both ways.
I hate to put it this way... but business intelligence is a field that engineers can grasp quite easily while technical knowledge is reserved to those who have the skills it takes. I actually know of companies that only hire engineers to their financial jobs.
>> Seriously? Enter any space in web 2.0 and you'll see a bunch of very similar products. Ultimately only a few will succeed and yes, while product is extremely important, another key reason some will win and others will fail is because the business strategy sucked (and by business strategy I don't just mean marketing and BD. I mean product strategy and hiring and fundraising). Have you ever heard the term ideas are useless and execution is everything? Part of that execution is the business execution. Think about it this way -- not any one could have pulled off Twitter (identical product and everything.)
"No marketing/business mimics will do it if you don't have a proper product to offer."
>> Of course you need a proper product to succeed. But a proper product plus bad execution on the business side will more often then not result in failure. On the flip side, a bad product with amazing business execution will also more often then not fail. Business and product are not mutually exclusive.
"I hate to put it this way... but business intelligence is a field that engineers can grasp quite easily while technical knowledge is reserved to those who have the skills it takes. I actually know of companies that only hire engineers to their financial jobs."
>> Be careful using blanket statements like these; some engineers are just never going to be good business people, because they hate it and don't have the mindset for it. Others might be, but everyone is different. Also, because business is a cumulative skill and increases with experience, business is rarely something you can "easily" grasp, unless maybe if its something specific like creating financial models or reading financial statements (and even that is not easy for most. Engineers can pick it up financial knowledge by working at an investment bank, but it is by far easy for most people. Also, engineers are usually good at math, and think logically. I think this is why businesses occasionally hire engineers for finance positions. Other aspects of business such as BD and Marketing may be harder for an engineer to pick up easily.)
However, one of the best engineers I know is also the best business person I know. So yes, some engineers can pick up and do it very well. But just as with learning engineering... its a process, not an easy one, and one which will probably require you to fail many times before you become good.
By the way, this is just my humble opinion and I could very well be wrong.
If we had stuck to that most of the problems with executives wouldn't exist because they knew the product they created (even if they did no longer work in the laboratory) and, presumably, they would promote the workers with a clue rather than what they promote now.
https://be.freelancersunion.org/client-scorecard/
It's anonymous and well-curated, if a little thin as of yet.
Those business idiots don't deserve anything. They just want bullshit excuses when their bullshit doesn't work. Don't try to please them. it is a losing endeavor.
And everyone should be happy - without BS projects jobless ratio among mediocre coders and ctrl-c-ctrl-v sysadmins will be much higher.)
Uh. That sounds like exactly the sort of superficially boring thing that turns out to be a reliable, profit-generating engine. Like the story about the guy who started a website selling bowling balls. Or a tax client of an ex, who was making millions annually selling hop-up engine parts.
I thought everything else was pretty spot on, attacking this guy for his business and for telling a non-technical guy to stay non-technical is... weird. Do you really want some guy dicking around with the website's CSS when he's supposed to be interviewing people and finding a marketing consultant?
If you run a physical business, the only thing you need a programmer for is probably a website and an online ordering system. In that case, the founder doesn't need to learn programming, as that's not his business.
But when you're a saas startup or something, software is your business, and a non-technical founder should at least try to understand some of it. Not necessarily enough to contribute to product development, but enough to... edit basic html? Start/restart the server? Quickly debug and figure out a small technical problem when demoing the product to potential customers in case the programmer isn't available?
Perhaps it's semantics, but I think it bears repeating.
I've hired construction crews before knowing about the area, and again after working in it myself. It's a night and day difference. And not because they specifically lied or even stretched the truth but because they didn't tell me what I really needed to know to make good decisions.
If all you want is "a blog" then you may be happy with what you get without more thought but if you want anything more complex than that you're going to need to understand significantly more about what you really want and how the constraints are going to impact it.
$1000 for 14 days is what, $9/hour.
Some of the project descriptions are comedy.
The thing that usually bugs me the most is that the client has already decided the platform and programming language before searching for programmers.
The next sadness is the "half finished PHP project needs finishing". So often it's like arriving at the scene of an accident. SQL injection and XSS everywhere. Zero factorisation. Top down everything. Terrible MySQL schema. The list goes on.