Showing posts with label industry. Show all posts
Showing posts with label industry. Show all posts

Sunday, February 1, 2009

IT misunderstood again

So found this off the wire:

Here are the six areas:
  1. Management / Methodology / Process
  2. Database
  3. Messaging and Communication
  4. Architecture
  5. Security
  6. Networking
Now for skills that are down:
  1. Application Development
  2. SAP & Enterprise Development
  3. Operating Systems
  4. Web / e-commerce
  5. Systems Networking

So in classic fashion, those trying to research the industry have fundamentally misunderstood the industry.  And I think that the problem is obvious, how do you actually "track skills"?

The report claims to track over 354 IT skills.  That's a lot of skills, of course, it could also just be a lot of fluff.  Anyone who's looked for a job in IT knows that the market is acronym-crazy.  It's also short on any form of acronym meaning. 

I mean, what the heck is the difference between "Networking" & "Systems Networking"? According to the stats, that difference is worth 3%+ in pay. 

What counts as "Web / e-commerce"?  It's obvious that general e-commerce is becoming commodity, that's to be expected.  But is "web" really worth less?  Facebook app development, Google App Engine, Microsoft's Azure, Amazon's AWS... these are all "Web" technologies.  Where do they fall?  Heck, Azure and AWS are also Operating Systems technologies.

So get that, skills in AWS have actually dropped in value. Right.... Huh?!?

I think the reason the CEO has "never seen anything like this before" is really that he's asking the wrong questions.  Trying to track IT pay by grouping across these massive skill sets is doomed to fail.  In fact, trying to track IT pay by any grouping of skill set is seriously flawed.

And the reasons are simple:
  • There are too many IT skills and new skills are constantly being created
  • Each skill has a lot of gradients
  • Skills with different names can be very closely related
  • Skills are constantly being picked up by experienced people
So how anyone plans to track that is beyond me.  Last year's "Database skills" are not this year's and they're not next year's.  Why you would group them under the same category each year and then pretend that they correlate demonstrates a misunderstanding about the way this industry works.

Tuesday, June 24, 2008

Counter offers when leaving?

Inspired by a couple of good links, original post here with further thoughts at Ron's wisdom and Frugal Dad.

Lots of great links and all kinds of neat ideas and lists of reasons “not to accept a counter-offer”.

But I think the reason is simple.

You don’t want to work for anyone who feels that the counter-offer is a good idea.

Sure it’s an ego boost for you, but it’s really desperate management decision. Do you want to bank your future on desperate management?

The game is simple, an employee generates X revenue and the company pays that employee Y, where Y is X minus expenses and a risk-adjusted profit margin. In fact, it’s a lot like the stock market (actually, it is the stock market, but that’s a different discussion). Either way, the goal of the employee is to maximize the hourly yield for the work they’re willing to do, they want to maximize Y. The goal of the employer is to maximize profit, they want to maximize X and minimize Y.

The problem of course is risk. If you “over-minimize” Y, then you drain X (lower productivity) or you lose X all together (employee leaves). In the grand scheme, employers have been doing a lot to minimize Y: reduction in pension, reduction in health care allowances, no more 20-year gold watches or 10-year sabbaticals, etc. But many employers still insist on making some silly decisions with Y.

In Patrick’s case (the original poster), the competition was willing to pay 30% more Y. Assuming that Patrick could generate an equivalent X, the company felt that Patrick was a small enough risk to pay him 30% more.

That’s a very big difference in evaluation. That’s the same thing as me thinking a stock is fairly-priced at $100 when you think it’s fairly-priced at $130. Of course, we commonly hear about 20 & 30-somethings jumping jobs to make these types of pay raises because it's the only way to get a raise.

There are typically three reasons this happens:

  1. The company is doing poorly and cannot afford to pay the employees more. Or they’re likewise not generating money from having the employee around.
  2. The company is trying to extract as much profit as possible from the employee or using the employee’s profits to fund a different venture.
  3. The company really has no clue (typically poor management). Any/all of: they don’t know the market rates, they don’t know which employees are generating money or losing money, they don’t have a growth plan, they don’t have a succession plan, they don’t understand what the employee really wants…etc

In a case like Patrick’s I’m sensing a heavy dose of #2, with a little #3.

What I don’t understand is why they suddenly perceived me as valuable as soon as I mentioned leaving?

It’s up to management to manage and mitigate risks and they really blew this one. (And remember the profits they make are their “risk-adjusted” piece of the pie) Not only did they underestimate your value by 30%, they also underestimated the value of their counter-offer by another 10%. That they would even go back to “up the ante” again means that they were still suffering from a #2 brain fart.

So back to the original thesis. You don’t want to work for these guys.

  • If they suffer from #1, then they’re likely laying people off and even if you don’t lose your job, you won’t be getting a good pay raise.
  • If they suffer from #2 and they’re underpaying by 30% (or more), then they’re not showing a lot of foresight.
  • If they suffer from #3, then you’re resting the fate of your next raise, your next promotion and even your next paycheck on the back of someone who doesn’t have a clue.

You don’t want to be working for these guys. You want to be working for proactive managers. You want people who have vision, who can see problems before they arrive. You want people who lead, people who hire more staff before everyone gets too busy, people who give pay raises before you have to ask for them, send you to training before you need it.

So if your employer makes a counter-offer, they are not one of these people. They’re one of the hordes of reactive managers. Just because they’ve finally realized they’re behind and can afford to pay you more doesn’t mean that they’ve changed their ways and stopped being bad managers.

So don’t accept a counter-offer when resigning your job, you don’t want to work for the type of people who make counter-offers.

Of course, ymmv.

Sunday, March 16, 2008

The problem with tech recruiters

This quote was pulled from a post on the Joel on Software forum. The post is about providing a salary history to a recruiting firm. Partway down, a recruiter (likely with an axe to grind), makes a couple of serious posts. Most of the points are easily refuted or quite weak and somebody on the forums does a good job of picking these out.

But the recruiter also makes a good point:
Why don't we know the difference between a 60K and a 100K programmer? Because only a programmer could tell the difference and if the person was all hat, no cattle or the real deal. Most programmers would prefer to, say, program, than wade through 20 resumes and phone screens just to get to talk to two people who might be a good fit for whatever reason.
Of course she's perfectly right. And this is the fundamental problem with technical recruiters: They're completely unqualified to do the job.

It's not their "fault" per se, it's just endemic to the field. Being a good tech recruiter requires a ton of technical background, plus some business savvy, some sales skills, some research skills, networking skills and a ton of patience. Of course, if you already have all of these skills, then you have a job that pays way more than being a recruiter!

Personally, I would rather just avoid the recruiters all together and seek out the job I'm looking for rather than the other way around. Of course, YMMV.

Wednesday, March 12, 2008

Academia is doomed in the wired world

OK, so we start with the mandatory link;

Student faces Facebook consequences

Basic premise is simple. The University wants to ban the student for managing a Facebook user group where students helped out on Chemistry homework assignments. The interesting thing about these assignments, is that they actually weren't even given the same questions!

So here's a kid facing suspension for making a virtual study group where people can't even really share answers b/c they have different questions.

There are two big problems here:
  1. Study groups have existed forever and are a fundamental part of university, especially sciences. However study groups are prone to cheating.
  2. Online access to resources have made learning more accessible, but they've also made "cheating" far easier. Universities are mildly scared about the accessibility part as they are financially vested in remaining the key holders. Of course, they're also publicly funded (especially in Canada), so they have to maintain some openness. But what Universities are really scared about is cheating. Credibility is ridiculously important for Universities and "cheating" undermines that credibility.
So cheating is the common factor here. From the academic mindset, the math is simple:
Study Groups = maybe cheating
Online = maybe cheating,
therefore Online Study Groups = definitely cheating

The logic is clearly flawed, and in this case it's pretty clear that no wrongs were committed. In fact, if people were using the group to cheat, it would have been trivially obvious to prove. If two students really wanted to cheat, posting up answers to a Facebook group is the worst possible way to do it.

Of course, the problem runs much deeper than that, this type of behaviour demonstrates a deep-seated fear in the academic halls. And it stems primarily from problem #2.

In all reality, the University should be providing and managing groups for this type of "study grouping". My wife graduated from the University of Manitoba last April and they had a "WebCT" system (now Blackboard). Systems like this increase transparency and provide quality resources for students, but even today it's tough to get full support from the older academics.

I personally love this concept of openness, but maybe the older academics are on to something. They have long been the private gatekeepers of the secret academic world. By increasing accessibility and allowing things like on-line study groups, they've increased their burden of work while reducing the value of their time.

The wired world is a connection tool for everybody. The web is a democratizing tool in an academic world that is far from democratic. This whole concept of suspending a student for managing a virtual study group is nothing but a demonstration of a deep-founded academic fear.

The irony here is that kicking out our hero will likely cause a backlash that will cause the university to lose credibility in the eyes of the public.

It's a bad place to be, of course YMMV.

Sunday, January 13, 2008

A Slashdot reply: Young IT Workers Disillusioned, Hard to Retain

So off the Slashdot wire, via Network World comes: Young IT Workers Disillusioned, Hard to Retain

The lead-in quote: Young IT employees pose a challenge to many managers who say the Millennial generation holds employers up to unrealistic expectations and makes unreasonable demands for their services.

*Sigh*

It's a good read, it's nice to hear one side reported; but I feel there's a whole other side to this that's not understood. Most "millenials" that I've met have very little concept of business and business finances.

The average worker expects to sit around and do as they are told and basically "be taken care of". The average worker never sits down with their boss and says "I'm making X and I want to be worth X+10%, what do I need to do?". There's an expectation that simply showing up will get you there. Most workers I've met simply let the company decide their next step. I've even met tons of smart and skilled developers who simply don't know the math behind their salary. They can't ask for a pay raise or different benefits or some other employer concession, they don't even know how much they're worth. They don't know what income they generated last year or the typical overhead cost on their time.

Meanwhile, from the other side, most companies I've known are simply terrible at managing workers and projects and growing their #1 assets. They set up win/lose pay structures that heavily reward management instead of the workers. They ask for more work hours instead of more project deliverables. They expect employees to train outside of work instead of accounting for the cost of "in-the-week" training time. They ignore the concept of "apprenticeships" and the time required and just add juniors to the team as a single unit of time (instead of the .2 units of time they actually generate). They fail to build progression plans (including scheduled pay increases for young workers) and then wonder why they get caught with their pants down when the best young workers leave for more money and the bad ones hang around.

It's a two-way street and there are ample examples of failure on both sides. There are tons of "sweatshop" workplaces and tons of workplace Princesses.

Of course, YMMV.

Monday, December 10, 2007

Bill Gates on Innovation

So a few days back, I wrote a post attacking a piece that talked about stifled innovation.

And I stood up and defended a lot of MS work. Well, lo and behold, here's Mr. Gates himself singing some of the same tunes: Bill Gates on Innovation | WebProNews (Printable Version):

Anyway, tablet computers, is there somebody else out there doing tablet computers? IPTV, is there somebody else out there doing — by definition what we do is the baseline. Everything Microsoft does is the baseline, and what we don’t do, that’s what’s innovative I guess. (Laughter.) And by that definition the other guys do all the innovative things.

It's obviously a slightly different take, but he's really got his finger on something: MS generally doesn't get credit when it does new stuff. So for the most part we look at MS and just see all of the common, everyday old crufty stuff that we figure is there.

Look, I'm not a Vista nut, but I also haven't counted MS out of the software world.

Wednesday, November 28, 2007

Musings: Ten things holding back tech

So this little ditty has made the rounds, but really, there doesn't seem to be much there. It's a lot of personal philosophy mixed with big picture problems and insufficient or inadequate solutions.

Ten things holding back tech - ZDNet UK

I guess the easiest way to start is to work our way from the top.

1. Microsoft's stranglehold on the desktop
Windows unified the personal-computer market, and led it into the enterprise. A good thing, surely? Yes — if unity is more important than innovation, flexibility and a free market.

This is dutifully followed by multiple European Commission references and the whole "monopolies are bad" thing. This is both an over-simplification and a philosophical imposition. Of course he segues this right into #2

2. Operator lock-in
But I want to stop it right there.

Microsoft's stranglehold on the desktop has enabled the very advances in technology that we're seeing. Having one platform has made the software process less costly and therefore more open. So in many ways this drives innovation, flexibility and the free market.

If I can make software for one or two platforms and only have to test/maintain it on those one or two platforms, then the cost to produce my software and make it competitive is significantly lower. With MS dominating the desktop market, it's easy to make new software that reaches 90%+ of the audience by just making for Windows.

If we started the whole thing again and made a world where 5 different OS vendors each had 20% of the desktop market, we'd eventually end up with 2 OS vendors again and they would either have a split market (Coke, Pepsi) or one leader and one little guy (MS, Apple) with a smattering of small budget competitors. This isn't "right or wrong", it's just the way things are, especially in the realm of "platforms" (OSes, web browsers, etc.)

Supporting multiple platforms is very expensive, it always has been: scroll back to the 80s, look at wars between Unix variants, it hasn't changed. So I fail to see why "unseating" Microsoft as the crown jewel is going to "fix" problems. If MS lost 30% of the desktop share to Apple and Linux variants, the world wouldn't magically become a "better place", if anything, small tech companies would be griping at the difficulty of making new software and reaching a big enough market to support any growth.

And I'm not saying that MS is the "good guy" here, they're not. They've cleared played very dirty for many years (but hey, that's what publicly held companies are basically required by law to do). What I am saying is that MS is not holding back the innovation front. Do a quick run of the MS research site and you'll see that they're not sitting on their laurels. If anything, they have too much going on and nobody can really keep up.

He quotes the required Vista failure lines: As Vista so readily proves, rehashing the same idea again and again does not make for progress. And unless you're a Dev, Vista was really a bust. As a dev though, I can tell you that changes are afoot for Windows desktop apps in the coming years and whether Singularity becomes the new OS of choice or everyone just skips to Windows 7, there's a lot going on under the hood that we won't see for a few years to come. But if you haven't played with WPF, then you won't know any of this, so give it some time.

3. Input methods
We haven't come far. Qwerty is 130 years old, and windows, icons, mice and pointers are 35. Both come from before the age of portable computing. So why are we reliant on these tired old methods for all our new form factors?

Hey buddy, the same Windows Vista that you're mocking in the previous point has voice recognition built in to the OS level. One of the popular Dot Net bloggers Scott Hanselman has a post about it here. He uses a microphone for much of his work. MS has also had a Tablet PC edition available for years, and again the features are built-in with all versions of Vista.

If you want a new input method, go out and buy yourself a tablet, you can get them under a $100 dollars and having used a few, they're definitely a new way of inputting. If that's not enough for you, check out Microsoft's Surface.

Point being, we're not reliant on the Keyboard and Mouse for all inputs, they're just the cheapest implementable methods available. Yes, there are tons of other things that we could be doing, but I think that it's pretty obvious that we're working on them. Supporting a "touch-based" or a "voice-driven" user interface is not an easy problem. It's a really hard problem and we're not "being held back", we're "evolving better solutions".

4. Battery Life
Yeah, you got me here, if we could triple the amount of energy stored in a Li-Ion battery, we would definitely have a different computing environment. But for anyone who knows the basic chemistry here, this is not an easy problem.

Short of a completely new battery technology, we're don't really have any more doubling room left. However, we do have the ability to get more mileage from our batteries: OLED screens promise better usage than TFT LCD we typically use and portable music players have been shown to be able to drastically extend battery life when using certain compression algorithms. And of course, we've made huge leaps in the last few years with making more efficient computer processors to help extend battery life.

5. The mania for speed
Faster processors are great. However, there is more to computing than processor speed — a point which can be easily proven by comparing a two-year-old PC running Linux with a new PC buckling under the weight of Vista. Shrinking the manufacturing process to enable greater speed has proven essential, but it's running out of magic.

...smarter, not faster, will lead to both smarter and faster.

Yes we're well aware of the size limitations on the processor, but if you haven't noticed, the "mania for speed" stopped a few years ago when Intel abandoned the P4 architecture and moved towards the Core and the Core 2. At that point they joined AMD in making multi-core, more power efficient processors in an attempt to address points #4 & 5.

The cheap shots comparing Linux and Vista are just that: cheap shots. Linux and Vista are not competitive desktop OSes, Vista and Mac OS X are competitive desktop OSes, I guess he's counting on the Slashdot crowd to back him up on the Apples-to-Oranges comparison.

Point is, between various SSE and the move to 64-bit and the move to multi-core and the creation of things like physics processors, we're clearly making a lot of movement in the "not faster" category.

Ok let's skip ahead:
9. National interests
10. The current lack of global wars and/or disasters
Yeah, again, you got me... technology is being impeded by political interests. This isn't new or novel, this has gone on for as long as we've known. Galileo's pretty famous for his sacrifice, but these are pretty disingeneous arguments to make when we live in an era of relatively high freedom and access to information.

And now for more of the opinions:
8. Web 2.0
I think that I can let most of this just speak for itself:
Speaking of daft innovations that do little to better the lives of humanity, Web 2.0 has a lot to answer for...But the extremes of enthusiasm shown by financiers and business people are verging on counterproductive...It's nice to see the vanguard cashing in. But they're not really worth their valuations or the mountains of cash they have received from venture capitalists, whose money could probably find better use in other areas of technological innovation.

Yes, b/c making the web into the new target platform isn't really that significant? Oh no, you're just saying that it's a waste of money. I thought that you wanted innovation, flexibility and a free market, but I thought that it took money and competition to make these things happen. Are lots of companies going to fail, are lots of investors going to lose lots of money? Sure, but that's just par for the course, being angry at "Web 2.0" is like being angry at every major technological boom: radio, the railway, cars, they all had their big booms and their big losers.

This will be no different, of course, I can assure you that people throwing billions of dollars at technology is not "holding back tech" as the title of the article would seem to imply.

7. Skills inequalities
Applications and technology might become more intuitive and creative if more women were involved in the industry. Diversity breeds innovation...
The more IT listens to and gives power to those it has traditionally excluded, the better it will be suited to solve real problems for us all.

Yeah, yeah, if more men were involved in the nursing industry the world would be a better place, right? Just more cheap shots and more of the same "classic" problems. Take that last sentence and replace IT with any major industry: healthcare, education, engineering, public services. It's basically a straw man sentence with no supporting arguments.

The author cannot even be bothered to find a single link in this section that supports his statements, espeically the whole "if more women were involved" sentence. I just can't argue with "logic" like that.

And lastly, we'll end on a good note:
6. Intellectual property law
Here he's correct.

Laws regarding IP are not currently capable of correctly handling modern technology. This is not just for technology, this is for all of the arts. Consider that the laws regarding copyright and patents were developed before the advent of the microchip, before scanners and photocopiers and digital cameras and even affordable home cameras.

If you, faithful reader, were writing Intellectual Property laws in the 1850s, how would you have accounted for all of these things?.... yeah, I wouldn't have been able to either... so it's probably time to re-write most of this stuff, but many of the politicians responsible for making these changes are just not technically capable enough to institute the changes... kind of a shitty deal.

Of course, we'll need this intervention sooner rather than later, b/c not only was IP law not written for the current tech, it was written before the advent of computer code. So that means that all of the computer code powering all of the highly capable computers is all hovering in a giant legal gray area b/c no one's really legislated a good answer for the whole thing (again, not like the people drafting the laws have the required technical know-how).

So there we go... the "Gates on Stuff" Top 3 List of Things Holding Back Technology:
1. Battery life
2. Politics
3. IP law (read politics...)

OK, new list:
1. Battery life
2. Politics
3. Really shitty tech writers

Of course, YMMV.

Saturday, October 20, 2007

Sofware IS a Service

Here's a quickie reply to Jeff Atwood's blog posts on the decay of software:
Why does software spoil?
Are Features the Enemy?

Of course, what he's talking about in these last two posts is basically endemic to the way in which packaged software is sold. It's not the very nature of software, packaged software is sold as a physical good, but it's not.

All of this feature bloat is an attempt to justify future sales, but sometimes problems arise from below as well. For all the "stableness" of packaged product it's all running on shaky ground. Hardware and software are evolving so quickly that even stable software will die. But that's the fundamental problem!

Building and then packaging software is analogous to building a house on top of a sand-dune and then selling the house. When the house inevitably crumbles we run out and sell a new house. Of course, the crumbling may have nothing to do with the quality of the house itself, it's just that you built it on a fricken sand dune!

This is why we need to move to subscription-based software services. I can't buy software for $100 today and simply expect it to function correctly on my new computer 10 years from now. Software isn't like a shovel or a bed or a fridge. Software is organic, it grows, it evolves, it lives within an eco-system of other related software.

For software to grow correctly, we need to move to a subscription model so that we can afford to keep programmers as tenders of the garden as well as tillers of the new land. Right now, we're not tending our gardens. The packaged software guys are being constantly forced to till new soil with no one left behind to tend gardens. But again, this is because we're pretending that selling software is like selling a shovel.

Good software doesn't need to spoil, instead it needs to be sold in a way that will allow it grow and to be tended. Maybe I'm just a dreamer, but imagine a world where Quicken charged an annual software fee? Then instead of "sun-setting" features, they'd just extract cash for keeping their software up to date and ensuring that it satisfies current/future customer needs.

It'd probably be a better software world, it's just a long ways off.

Friday, June 8, 2007

A little rant on the software industry?

Here's a reply to:
http://channel9.msdn.com/ShowPost.aspx?PostID=314711#314711

Look Pace, I'm worried that you're getting some mixed advice here. So I want to give you both sides here.

1. This behaviour is not abnormal in the development field. Moving jobs is not a guarantee that your problems will go away. However, I'm not saying that you should stay, read on
2. The MCTS designation is an excellent goal to pursue. It demonstrates dedication to your craft to both your current and future employers.

You are on the right path with #2, however, you are not on the right path with #1. But the problems are deep and complex and probably worth a couple of chapters in a good book, so bear with me on the quickie version (using your quotes). The fundamental thing to understand is that people know very little about programming and what's more, they have no mass or understanding of the complexities.

One problem I have making things here is that a lot of the people dont actually know what they want. That makes it hard to get some sort of spec to then turn in and program.

This is common, users have a difficult time pinpointing their needs. Not only do not they not know how to program, they've never analyzed their own processes that thoroughly. Your job as a Systems Analyst is to bridge this gap, your job is to convert process into programs.

This involves documentation and meetings and drawings and designs and flow-charts and e-mails back and forth, etc. If you are the only Programmer in your company, then you are also responsible for being the Systems Analyst, just like you're responsible for being the Tester and the DBA and the Architect. If you can't take this, then you will not be successful at your company, leave now, go to a software consulting firm and tell them that you only want to code. This will limit your salary and may limit your career advancement but you'll be comfortable. Truth is, we have lots of programmers out there, but very few people who can bridge the gap between programmers and users.

Now, if you want to make things better, then the onus is entirely on you! When you go in on Monday, make the decision that you will not work on anything that doesn't have a written spec. Cover your own a$$! You don't want to get chewed out at meetings, so write stuff down. When you have client meetings, take notes, take meetings minutes, send them out to attendees, get people to comment

If you get any flack whatsoever on this, tell your boss that you cannot work from a verbal spec. Tell them that if it isn't worth writing down, it isn't worth programming. If they persist, ask them "who's the software expert"? If they can't trust you to do the job they're paying for...?

The point is, it's your job to get the spec before you do any work. It's your job to get stuff in writing. You may be annoyed that people are yelling at you but you have do your job and stand your ground.

after all my work, that these "codes" are for internal purposes? Holy wtf!?!?! when were you going to tell me this? Why in the 10 meetings I have had trying to talk you out of this havent you mentioned this?

And this is what I'm talking about. Do you have minutes from the last 10 meetings? Specs? Documents of any kind that this manager has seen? Because you have to tell the manager that he's just changed the spec and you have to back that up!

How do I know in the future if something I am asked for is correct or wrong?

So I think you get the idea by now. WRITE IT DOWN! B/c that's your job and that's how you're going to cover your ass.

I want someone to give me a detailed or at least basic spec for me to work off. Instead I have to interpret what they say, which is often full of business speak and BS and make something based on that.

So that's the problem then, you're definitely at the wrong spot. You see, your bosses are angry at you b/c they think that your job is to interpret what they say and make it happen on the computer. But you don't want to interpret what they say. In fact it sounds like you want them to magically come up with a spec and all you have to do is program.

But that's the whole problem, they can't program! They don't know how to convert their BS-speak into computer code, that's why they hired you. Of course, you can only program if you know their business. So you have to bridge the gap, you have to understand their business AND you have to interpret that business into a computer system.

It's a two-way street here Pace, you feel like you're getting messed around AND they feel like they're getting messed around. They don't understand your business and you're not helping them.

Somebody has to step up and fix the problem and hopefully, by now, you understand what that is, b/c you're the only one who can fix it. You're the computer expert, you're the guy with the degree that says you know how to make computers work.