Here's an extended version of a post I made today, regarding who gets charged for unpredictable usage....
Half the problem here is that we bill for bandwidth in the wrong way. By billing on traffic, we open ourselves to exactly this sort of problem - it would be like billing for water consumption based on pressure (rather than volume).
In the case of network access, it makes far more sense to bill based on access - the size of the pipe, and if necessary the level it can burst to.
The reason ISPs bill per megabyte is so they can bill multiple customers for the same piece of infrastructure... and at the same time, over-subscribe that piece of infrastructure.
Comparing water and bytes is a rather foolish analogy that the ISP business has invested hugely into. Water is a tangible object, whereas bytes cost nothing to create. In most cases, the cost is in providing the infrastructure - once the gear is in place, it doesn't actually cost anything to send a byte of data down it!
Some would argue that we pay by the byte in order to fairly charge for usage - if this were so, then the providers would simply need to offer a range of access levels. Unfortunately for us, it's not in their best interests to do this.
Charging by access speed means that we suddenly introduce a higher quality of service (you can't sell what you don't have, unlike with the current cost-model). This also promotes higher usage, which in turn promotes growth - without growth, most ISP's will never pay off their initial investment.
Strangely enough, paying a fixed fee based on the size of your connection is where the whole thing started. Paying per byte is a relatively recent (several years, but still recent) concept, thought up by greedy providers who realised they can charge many customers for something that is essentially free.
Here's another pile of metaphors, aimed at explaining my position on this issue... you sell potatos at a market. How do you charge? Per potato. Why? Because each one costs money... they take up physical space in the ground, you have to cart them to market, and once you sell one its gone forever.
What about clothing stores - you sell the tangible assets within the store (jeans, shirts, etc), but do you bill the customer for walking past and seeing your stock in the window? Not normally... why? Because regardless of how many people walk past that window, the only cost to you is the electricity required to light it. That electricity cost doesn't fluctuate based on viewing levels.
You go to a hardware store and buy a hammer. Do you get charged based on how many nails you hit with it, or for the hammer itself? Will a bigger hammer cost more?
My point is this: some things need to be charged one way (potatos vs hammers), others in other ways. Generally, things that are used to DO something are charged for the thing itself, not for the amount of use it might get.
Or how about this - are bytes a consumable? Is there an effort required to produce one? Perhaps we should require our ISP to demonstrate the cost to them of data traffic - would it really cost them any less to have an idle network?
Take a look at the profit levels of some of the bigger providers in your country. Here in Australia, Telstra, Optus and Connect all report multi-million (and in many cases billion) dollar profits. Nobody can tell me that the core connectivity of the Internet isn't currently a profitable business.
Finally, there's the subject of double-billing. Upstream and downstream traffic being billed. I could write for hours on this particular injustice, but let's just consider this for a moment - you get hammered by a worm or hacker, and who gets the bill? The same data passes through the hackers network, generating charges for them. It then turns up at your front door, costing you a fortune too. Both people pay (usually, the hacker gets some poor schmuck to cover the costs though). Worse still, when the connections originate from the same providers networks, they still get charged twice.
Aussie ISPs are notorious for this... you suscribe to Telstra, and download a file via a peer-to-peer client from another Telstra user. You get charged for the downstream traffic - almost understandable. But the sender gets charged the same amount of money for their upstream traffic! Does this mean that it costs Telstra more to transfer data around their internal network than it does to transfer from overseas? Or are they just gouging the customers...
I hate the current ISP market. It's the snake-oil of the 21st century. In 20 years, I hope we look back in disgust at the business practices of these people. In the meantime, there's a huge gap in the market for a provider who is willing to bill their clients based on access, not usage.
It seems strangely appropriate today to write a short entry about William Gibson, given his recent release of "Pattern Recognition".
Many comments in the discussion threads about his latest work criticise him, based on the fact that he isn't really a geek (and as such, why is he on Slashdot at all?). Or that he isn't a good enough writer to justify the attention (and besides, Snow Crash was much better).
Gibsons first significant work, Neuromancer, was easily the most difficult book I have ever read. It was too fast, too dense, too dark, and full of terms and concepts that my young mind had absolutely no chance of assimilating. 5 pages into the story, I had lost my bearings completely. 50 pages, and it could have been upside down for all I could tell. But I stuck with it, and completed reading it. Sure, I didn't understand it, but damn it thrilled me!
The second time through was probably a couple of years later. My reading skills had improved, and being in my mid to late teens, I had a lot less trouble chewing through it. I understood some of the subtleties of the relationship between Mollie and Case. The motivation of Case, to just be a cowboy and do his thing were more personal than before. And I understood a few more concepts.
It's been at least 10 years since that first reading, and I've read the book from cover to cover at least 10 or 15 times. When bored, I've picked it up and browsed chapters at random. Now I know it intimately, and it's beauty is readily apparent.
The story is strong. Not just strong, but complete. In a tiny number of pages, Gibson captures an entire world. It took him three books to repeat the performance later in his career, and even then he only came close (Virtual Light, Idoru, All Tomorrows Parties). That world becomes so detailed in your mind as you read that you can smell the polution and sweat, you can see the horrible grey (TV static) sky, and you can feel the crowds. Everybody I have ever given that book to sees the same city, describes the same impressions.
But is Gibson a geek? Nah, not really. He wrote Neuromancer on a typewriter. Sure, he woke up to the information age eventually and got himself a Mac, but what does that have to do with anything? He wrote THE definitive work on the Internet, before any of us knew such a thing existed... before even HE knew it existed. This is a pretty big deal - not enough give this accomplishment the credit it deserves.
Does he need to be a geek, in order to write for geeks? I hope not, because this guys work shaped my first years of computing. As a teenager, his work gave me a visual for what I was playing with. In early days of "hacking" (not necessarily cracking though), his work inspired me. Maybe that wasn't his goal, but do I care?
Regardless of the technical mistakes, or his disinterest in technology as a whole, his work is undoubtably relevant to the techies of the world. Idoru, with it's virtual celebrity... Neuromancer, with it's first-person angle on a global network. All Tomorrows Parties, with the fluid nature of digital media... and now Pattern Recognition.
I haven't read Pattern Recognition, but I'm on my way out to buy a copy. If it comes close to his previous works, I'll be happy with my purchase.
Briefly, on the subject of better authors, I don't see how this factors into the argument. Compare it to beauty, and beautiful women. There are many of them out there - which is best though? Well, that would be a matter of personal opinion, would it not? Some people would struggle to choose, others would find they become unhappy with their choice as time passes - for me, Gibsons writing is in the running for top-ten authors of all time, but it's an un-ranked list. He lives up there with Chuck Palahniuk (spelling?), Stephen Donaldson, and Stephen King (in his Talisman and Dark Tower moods). But I won't pick a favorite.
(no, this wasn't a particularly well rounded entry - but rather than scream about the
Contract vs Permanent. Soldier vs Mercenary. GP vs Specialist. Tough decisions....
Not too long ago, I had to make a hasty decision of this kind - made redundant from a "permanent" position, I had to find a job, fast. Two options were available to me: permanent, salary-based employment, or contracted, hourly-rate employment.
I've always been a permanent employee. Being a control freak, I need to be sure of where I'll be working tomorrow - if I leave, it'll be on my own terms. Each job I've taken has been for a reason. Sometimes, it's to get more money. Other times, to gain a skill. Once in a while, it's just for variety. But each time I've left a job, it's been at a time of my choosing. Except for this time.
Of course, this decision (like the control I value so highly) was an illusion. The reality of the situation is that I'd have to take whatever work I could get.
As it turned out, the local job market only had a few jobs that suited a person with my particular skillset. I've been lucky, in that I made sure my skills were fairly rare, fairly flexible, and very easily demonstrated. My resume is one of the ones employers like to see - lots of very specific, very clear examples of successful projects. Contracting suits itself very well to this type of resume.
When recruiting for a permanent placement, employers don't seem to look for specific skills as much as they look for a personality. They want somebody who will fit in, who won't rock the boat. If they bring specialist skills along with them, yay - but personality is important. This kind of leave me out in the cold
Contracts, on the other hand, want somebody to come in, do the job, then leave. With a bit of luck, they'll do the job well too. Employers look for skills matching the one or two projects at hand - personality comes a distant second. This is one time where being a jack-of-all-trades doesn't help you. Without being able to show specialist know-how, you probably won't get the job. The tricky part is being a specialist in enough fields to be able to find a consistent stream of jobs without looking like a generalist.
Personality always counts though. Don't get me wrong - being a skilled tech won't get you the job if you are a total monster. Me, I'm a control freak. I'm opinionated. And I'm annoying, especially if you're one of those dumb-ass managers who thinks he knows more than me. This bugs a lot of managers, because there are a hell of a lot of these dumb-ass managers out there. But enough about them - they deserve a rant all of their own.
So I'm out here in contractor land, and have been for a few months. I got lucky first time out - it's a good place to work, nice people, decent manager, good facilities, good equipment, and the money is damn good.
But is this contracting thing for me? No sick leave and no holiday pay is a big downer. No training is something I'm used to, so it's no biggie. The money is about the same as permanent roles (more in a moment on money). But the hours are nice and flexible, which I really like.
Money. The theory is that contractors get a higher hourly rate than permanent staff, therefore they earn more. wrong. They have the potential to earn more, but unless my situation is a rare one, they don't.
Lets do a little calculation, shall we? Take your permanent roles hourly rate.
To start with, contractors don't get any holiday pay. In Australia, you get 4 weeks per year paid leave minimum, plus 5 public holidays. That's 5 weeks, or roughly 10% of the year as paid time-off. So give yourself a 10% payrise. Sick leave is a thing of the past, so bump that up to 12%. Superannuation is something contractors have to deal with themselves, and at a compulsory 9%, we've just passed the 20% mark. If you get training, add a couple of percent on for that too. Add 3% for your payroll management firm (unless you want to be eaten alive by the taxation department!).
Overall, increase your salary by 25% and you now know what hourly rate you must charge just to break even. Ouch, eh?
There's a hidden catch - two actually. The first is kind of obvious - work more hours, earn more money. The second is a bit harder to see at first - contracts are short-term things in many cases, so assume you will spend some time between contracts sitting interviews (even if you do plan on hunting before your current contract expires, you won't always win). Based on 3-6 month contracts, my best guess is that you'd spend at least two or 3 weeks a year out of work (probably 5 or 6 though). That's probably about 10% more. 33% is a hell of a lot, eh?
So it's not all smooth sailing. If you get paid $50k for a full-time job, and want to know what it'd take to survive contracting, expect to need at least $35, probably $40 per hour. Good luck finding it though.
On Slashdot recently, there was a discussion about Fortune's list of the "Top 100 Companies to Work For". Yay. As you'd expect, some of the big-name computer companies made the list - SGI, Microsoft, Intel...
The discussion thread was interesting though - lots of good points about the small sample set that the top 100 came from (less than 300). Criticism of the process used to choose that sample set. And the inevitable smart-arse comments about Microsoft being in the list.
Two things really pissed me off reading that thread. First up, I'd love to see a day go by when less than 50% of Slashdot posters didn't bad-mouth Microsoft. Sure, they suck - but get over it people! We've known they suck for how many years? And despite sucking so hard, they still manage to produce software that we all use (admit it - you don't honestly run Linux on EVERY machine you touch, do you?!?). I won't rant and rave for more than one more paragraph about Microsoft, I promise....
I've come into contact with more than my fair share of Microsft employees. From their reports (who I place far more trust in than random anonymous postings on Slashdot) it's pretty obvious they like their jobs. Yes, they get worked hard. Yes, there is a fair amount of pressure on them. But they work in IT - not sure if you noticed, but IT isn't the wonderland you were promised. These guys get a better deal than most of us - on top of the perks mentioned in the article, they also have job security (remember job security? Waking up each morning without wondering if the axe was about to fall?)
OK, I said there were two things, didn't I.... Unionism.
A surprisingly large number of geeks out there seem to be in favour of unions! Yeah, I was surprised. Shocked even. Have these people ever read a newspaper? Worked in a real (non-IT) job? Seen the nightmare than being forced to go on strike just because the union told you to causes?
There's a lot wrong with our profession right now, I don't disagree that we need to fix things. But unions won't help us.
One thing that was missing was a sensible analysis of the root cause of IT's problems. A few rabid
Why? Because there's no control over who gets in, and who doesn't. You don't need a degree to work in IT. Most of our professional acceditation programs are a farce (Can you spell MCSE? Welcome to the family!). So we end up with a workforce consisting mostly of wannabes and try-hards, lured by the promise of a big salary.
And yes, IT professionals are paid well. Why? Because what we do is a specialist career - the good techs have to commit to a life where they never stop learning. Unlike every other career path that I know of, techs don't get a chance to just coast - computers change every day. The hours suck. If you're in support (like me), you work a normal 8-5 type of day. Plus you're on call. Plus projects get carried out after hours (when they are less likely to inconvenience the users). Not to mention the time spent studying, tinkering, learning - not many employers will give you a chance to learn on their time.
So how does a union help us? Well, let's talk for a moment about the core function of a union - the bottom line is they give everybody an equal voice. A voice that is supposedly louder and stronger than a single person. Every member is equal (to some extent).
Yeah, great. So techs like me, who work their arse off, get lumped in with the no-brainers who are just here for the cash. No thanks.
You know what I think? I think that if we took all the no-hopers out of our corner of the job market, and just kept those who actually knew what they were doing, the IT industry would surge ahead. The better techs would have to work a bit harder, but they'd be guaranteed of having a job tomorrow. We'd be back to the good old days, when knowing lots about your field meant you could negotiate with your employer. When you could resign from a crappy job, and get a good one. When employers were afraid to mis-treat/abuse/pressure their workers (unlike today, grumble grumble).
Does a union achieve any of this? If you ask me (and even if you don't), unions just compound this.
Electricians are mostly the same (ducks under an incoming soldering iron). They all do similar jobs, and all have similar skills. I've yet to meet a "guru" sparky. So a union helps them by giving them all a single voice. Electricians are a bad example of why unions are good for IT geeks. Doctors are a far better example. You have general practitioners (techs who do the day-to-day stuff). You have your specialists (our gurus). There are doctors who know next to nothing about general medicine, but can cut apart your brain on-demand, and doctors who pave the way for other doctors (researchers, programmers).
Of course, there is no "medical practitioners union". Nope. They protect themselves by making it bloody difficult to become one. You really, truly, have to know what you're doing to become a doctor. Medical Association endorsement is required before you can practice medicine - without their go-ahead, you're out of luck. How does this help them? Well, ideally it makes it impossible for the unqualified morons who just want to earn lots of money to get a job as a doc.
As a result, medicine is a field where job security is just about guaranteed. If you are particularly good at what you do, you get a better deal. But you're safe, either way.
If enough "good" techs were to get together and develop a professional accreditation that was not vendor specific, we could force the grunts out. But we won't - because we have enough trouble deciding if we're grunts ourselves, let alone working out who else we can trust.
Real programs don't eat cache.