I'm a systems integration person, so I have actual real-world experience getting one steaming turd of enterprise software to coexist with another one. Even if it's just coding style, and nothing your team does shows up in the final product released to customers, sloppy work means that your customers are going to have longer waits for bug fixes in the future. They're also going to be cursing your company because your products are a pain in the butt to install, require 100% of a high-end server's resources for a simple client/server application, and other reasons. When was the last time you looked at an Oracle or CA or SAP product and said, "Wow, that product is amazing! Clear documentation, easy installation and plays nice with other things on the same system!" Yeah, I thought I knew the answer.:-)
One of the things that really gets me is over-reliance on the infinite hardware resource fairy to get an application to work. I've worked with tons of very expensive software that utilizes some of the worst, most inefficient SQL queries and procedures I've seen. The solution is always "add memory" or "buy a dedicated server." Admittedly, we're far from the days of hand-optimized assembler in most systems, but just reasonable hardware utilization still seems to be too much to ask.
So from a customer perspective, yes, you're doing the right thing by recognizing the problem. How to fix it is a very hard problem and depends on a lot of things. From your question it sounds like poor project management and resource allocation is a big part of this. Well, welcome to my world.:-) Project managers are an interesting lot. The best ones actually did the work previously and know how hard it is to estimate a software project. The worst take the PMP course and assume you're working on a construction project. I wish IT projects were like construction projects -- there's zero uncertainty in most of those. It takes X workers Y hours to drywall Z m^2 of studs. It takes X workers Y hours to rough in plumbing. Etc. Software is a whole different bag -- most construction projects don't get halfway down the track and require that you rip the whole thing down and start over, or even that you rip the last 3 floors out.
I guess I would try to see if the PMs on your project are the type that can be reasoned with and have a clue about what you're doing. That's going to be the way to solve the problem -- getting the pressure off the other guy so he can deliver decent stuff. I've rolled out stuff I hate to make artificial deadlines as well -- it's unprofessional and I hate doing it.
Most corporate social media sites are the domain of the marketing department. Am I the only one who thinks there isn't much hacking involved?
Username -- BigCorpTwitter Password -- password1
If I were a company's IT department, I would make sure the marketing people were using a 40 character complex passphrase. Unfortunately there's no way to enforce it, and making it complex means that it'll be written under the keyboard of the Associate Twitter Specialist who has to write all the "spontaneous, off-the-cuff, edgy Web 2.0" marketing messages every day.
I fully understand the reason for switching to the full-screen Start screen. You want a cut of the app revenue like Apple gets, and that only makes sense. I would even be happy with Win8.1 if you could just boot to the desktop and not have the Start button back (but I would REALLY like it back as a bonus...) Here's one thing I can't live with that needs to change:
Put Aero Glass back into the OS as a selectable theme, or even Aero without the glass.
I'm our company's desktop systems architect, and I'm still on Windows 7 for all my personal machines. The main reason is the flat, ugly, hard-to-navigate 2D user interface on the desktop. I really want the client-side improvements Windows has made, I want Client Hyper-V so I don't have to shell out for VMWare Workstation. I definitely want Windows to Go. But I can't use the new flat user interface. Office 2013, Visual Studio and Server Manager are acres and acres of monochrome text and icons with very little to guide your eyes around the screen. I know a lot of people complained about Aero wasting processor cycles, but even the non-transparent version had buttons, text and icons that were colorful, stood out on the screen so you knew where they were instinctively, etc.
I guess I should have left the Customer Experience Improvement Program opt-in checkbox checked all these years...but I can't be the only one who feels this way. So if you want me to upgrade, I need the following: - Aero Glass available as a theme - you can even leave the 2D screen as the default. - Start button as a bonus -- If I don't get that I'll be OK, but I'd be happy if I did.
If I upgrade, there's a very good chance 6000+ PCs will upgrade too.
You're pointing out an interesting fact about the IT industry -- there are some really good places to work and some that are really awful. And that definition of good and awful depends on the individual/situation. Without going too far off topic, think about working at Google vs. a "traditional" IT employer like a bank or hospital. Google is ideal for young/single workers who kind of want to continue the college dorm atmosphere. Free meals, concierge service, funky office space, etc. all designed to extract maximum hours out of a workforce who doesn't mind working 80 or 90 hours a week because nothing else is going on in their lives ATM. A more staid IT employer can either be a soul-crushing experience, or (in my case) realize that they need to attract mature talented people. (I work for an IT company that exclusively services a very staid, established industry sector for which correctness and uptime come before speed and flashy stuff.)
Just like corporate cultures are different, training policies are different. Our product design groups basically have to take all the latest flashy tech off the shelf and get it working reliably for our industry, so we're constantly learning. Since our company also deals with a few industry-proprietary skills that aren't easy to come by off the street, long-term employment is also encouraged. (And yes, I know that's wierd and 20th Century, but I like it now that I'm married with children.) We're encouraged to do one company-paid course a year, typically one of those week-long classroom sessions. Certification exams are also reimbursed, even if you don't do them as part of your formal course. Anyone who starts out with our company (including when I started) is told up front that they'll be given all the training they need in the proprietary side of the business, but that they'll be useless for at least the first 8 months while they learn. They then get our internal training where they learn the basics of our customer's business, the fundamental concepts behind what we do, and get to work on small projects. Also, university courses are fully reimbursed once good grades are submitted if you so desire.
I realize that my situation isn't typical, and we can only do it due to our unique situation. But the reality is that this should be the norm. On the job training should be encouraged if your company wants people who are engaged and understand the business side of things. Otherwise in my experience you get a never-ending stream of generic VMWare people, generic Windows people, generic Citrix people, etc. who only get the IT side of things because that's what they need to do to keep jumping ship every 2 years. Part of the reason why our company does well is that the consulting staff knows the customer's business beyond some crash PowerPoint briefing that they read on the plane before they showed up to work.
Bottom line, IT employers should invest in their people and not expect ready made new hires. IT employees should actively seek these employers out to encourage the bad ones to change their practices.
First, welcome. You're probably going to get a lot of comments telling you you're too old, but I don't think that's true. I'm in my late 30s and have often worried about what happens when I have to (or want to) completely retrain for something new down the road. And believe it or not, the 25 year olds will eventually run into this problem too. I love IT work, but if I ever win the lottery, I'm going to go back for my PhD in chemistry and be a scientist when I grow up.:-)
I can think of a few things in your favor switching into IT, although youth-obsessed workplaces may not agree with me: - You probably have a better handle on troubleshooting, which is my #1 complaint with newbies in our field. 70% of this job, especially on the IT side, is figuring out what's broken in a methodical, logical way. - You also probably have more discipline than someone straight out of school to design a system or application in such a way that it doesn't need to be babysat 24/7. - You can probably document what you do clearer than younger people (although that's subjective -- I know a lot of older people who refuse to document their work, and 20-somethings who write perfect docs.) - It also sounds like you're lucky that you're not going to be the guy constantly begging for raises in a job where salaries are contracting overall.
The problem. as I'm sure you're aware, is that not every employer sees your age and experience as strengths. I'm very lucky to be working as a systems engineer for an IT company that services a very mature industry. Most of the guys on our team are around my age or older, and experience is highly valued. Some of the stuff we do is proprietary, but the vast majority of it is implementing off-the-shelf IT stuff for our customers. This means we're constantly learning new things, or at least enough of those new things to get things done. The flip side of this would be a place like Google, Facebook, Zynga, or any Silicon Valley startup. Those places are all about youth and time-to-market, and are much less likely to take someone older regardless of skill set.
So, given the age problem, you can either selectively cut things out of your resume, OR, you can fall back on your network of people if you have one. I learned a few years ago that the best chance of getting a non-crap IT job is to call someone you worked with and ask them for help finding something. Even if they don't work in IT, they'll be able to find someone who does and get you past the cold call resume HR filter. My experience with this was good - a company I was working with for a while decided to move their IT department to Florida, and I was told to move or be laid off. I hate the heat and sun, so I called up one of my former managers and asked if anything interesting was brewing. 6 weeks later, I had a job and never had to be unemployed. And I don't have to deal with 100% humidity and 95 degree temperatures for 8 months of the year. So yeah, networking is a good thing.
The other problem you face is this - entry level IT is shrinking as well. I started out doing help desk work. These jobs can still be had, but with so many companies contracting out basic IT services like helpdesk, network and systems management, they're more consolidated than they were and the pay is lower. This means that you may have fewer choices about where you work, and you're going to have to deal with very low pay until you have that magical experience under your belt.
So what would I recommend doing? - If you're really interested in IT, get yourself hands on experience. Pick a specialty (software development, sysadmin, etc.) and learn on your own. Amazon EC2 is giving away compute power for new customers to get started. You can download VMWare ESXi for free and build a whole lab on spare hardware at home. It's easy to train yourself now, much more so than it was. - Stick to more predictable, established companies that don't have a culture that prizes youth over experience. Since pay is less of an issue, and the hiri
One very important point that you may have missed is this -- tech IS very important. Even organizations who don't care about IT beyond basic file and print have a stake in making sure things they use work well. But, IT is one of those fields where you can still cover over massive, huge, big balls of fail with money to the right vendor or cheap labor. Because of this, companies don't like to pay for competent help, or if they do, they squeeze every last nickel out of it that they can because they feel it's a waste.
Also, "tech" is too broad. The desktop support guy changing toner cartridges, the help desk person changing passwords and the systems architect trying to make sure everything doesn't come crashing to a halt when you put it in the same room have very different jobs, skills and responsibilities. On the simple break-fix support/part-swapper side, the work is getting easier and more automated. This means that you can hire fewer people, and those that you do hire don't need to have as much specialist knowledge. I'm a systems engineer, dealing with Intel server boxes every day -- the vendors have resorted to putting an extra "Don't pull this drive out!" light on hard disks so that part swappers don't pull a second drive out of a failed disk array and cause data loss. Even though the failed drive has a big blinky red light on it. That tells me that customers have complained about this happening enough...so you can draw your own conclusions about skill sets. On the higher end, you just run into wage pressure, companies trying to get away with as little as they can.
I think part of the reason for flat wages across the board is just the overall impression that "computers are simple" now, so why do we need to pay these geniuses to run them? Anyone in corporate IT is keenly aware of the "consumerization" trend, where everyone expects all systems to be as seamlessly integrated as their iPad, no matter how complex.
So at least in "big corporate IT," there are a few things putting wage pressure on:
Automation - just like all the other office jobs, anything that isn't absolutely essential is being turned into an automatic process.
Ready supply of cheaper labor -...and the lack of understanding that cheap labor may not always be the best way to spend money, especially if you have to pay a consultant 5x that amount later on to clean up the mess.
Lack of standards and understanding - IT is still seen as a magic box, and any attempts at standardizing things (_cough_ITIL_cough_) have just made things worse and completely pigeonholed a lot of IT employees.
Vast difference in skill sets - It is still very difficult to tell whether or not the person you hire is a complete dud based on the interview. I think that a lot of organizations pay less simply because they don't know whether they're actually getting competent help.
CapEx vs OpEx - In the old model, you kept employees on staff for a long time, trained them and they learned the business inside and out. Now, accounting makes it cheaper to just hire the people you need, when you need them, and pay them out of the operating expense budget.
Things like this make IT a very difficult field to work in. I'm not stupid enough to call myself a rock star IT god, but I certainly feel I'm competent and do a good job. Fortunately, I have an employer who appreciates that (for now) and I do OK. The other class of people who are making serious coin in the IT "racket" are the nomadic consultants. How many places have you worked where these guys seem to parachute in out of the sky when a very narrow specialist problem needs to be solved, charge hundreds an hour for months, and are off to the next place requiring that same specialty just as quick as they came in? I know a lot of these guys personally (can't do the lifestyle if you're married or have any sort of ties to any one place or thing) and they're definitely not hurting. For those of us tied down by one thing
Even if it's just for PR points, some domestic manufacturing employment is a good thing. The reason why isn't nice, it's not politically correct, but it's the facts:
Not everyone is intelligent enough for knowledge work.
In my opinion, if we continue the way we're going, we're going to spiral into a society with three classes -- business owners, knowledge workers and a huge swath of working poor. If everyone has to complete at least a masters' degree to secure a place in one of the top two classes, that completely ignores the other 75% of the IQ distribution.
Think about the way society was organized in the 50s through the 70s: - Only the highly intelligent and/or well off went to college. They typically inherited a business, got a technical, science, engineering or other kind of knowledge job, or became academics. Each one of these outcomes guaranteed a stable job for life because that's what business ownership, academia or large corporate employment did back then. This is still the preferred path, minus the guarantees of course. - For the high end of the medium-intelligence scale, there were plenty of paper-shuffling jobs in corporate environments. Remember that before computers, automation and email, large corporations had to employ thousands of file clerks, secretaries and layers of management that just routed paper reports around. Because US companies were doing so well, and things couldn't be outsourced and automated, a huge upper middle class thrived. - For the low end of the medium-intelligence scale, there were millions of factory jobs. They were all simple, stand on a line for 8 hours and perform a single task or set of tasks. Because of unionization and a lack of global competition, even those jobs were stable and paid reasonable living wages. This was the bulk of the middle class, and I grew up in a Rust Belt city in the early 80s so I got to watch it all unravel live. - The screwups, dropouts or just plain dumb people wound up doing menial labor. But even at that end of the scale, there was less downward pressure on those wages, so they were able to scrape by for the most part.
The problem is, in 2012, you can locate a factory anywhere, employ thousands of people for a fraction of the price that 100 would cost you, and pump out products just as quickly as before. All the secretaries and paper routers lost their jobs in the late 80s/early 90s automation and downsizing waves. So now, where do all those people who used to have solid incomes go? They either end up permanently unemployed, or go work menial jobs for just above minimum wage, no security and no benefits. So you have a huge class of working poor, working at Wal-Mart, as a home health care aide, or something else.
It's a really tough problem that might have a very bad ending in the next 40 years or so -- we need to find something for everyone to do and someone to employ them. Conservatives love to tout entrepreneurship as our savior, but do they really think a factory guy whose job was bolting the same two parts together for the last 20 years is going to be a successful business owner? Thinking like that will mean you have a class of bankrupt working poor instead of just working poor as all their little ventures fail.
So yes, I hope manufacturing comes back. And I hope it can be something that someone can build an entire career on, not just a string of $10/hr temp jobs.
Given that this is GM, this might set off a few ideas in MBA-land that will be beneficial to IT at large. A huge company bringing IT back in house? Amazing how things come back around... kind of like the cloud.
I actually work for a service provider (not doing hands-on support but engineering work for customer projects.) If you are absolutely, completely not dependent on IT, or too small to have your own IT department, outsourcing is one way to go. Big companies I've been at that outsourced IT have almost always had a negative experience that only gets worse as time goes on. You can mainly attribute this to "no one cares about your IT infrastructure more than you do (or should.)" I do my job professionally, because I'm just that sort of IT person, but I've seen countless experiences where vendors try to weasel out of extra work by hiding behind contracts and procedures. Or, they throw up huge roadblocks because YetAnotherWierdProprietarySystemThatThe50YearOldYouFiredKnewEverythingAbout breaks every few weeks and it's too expensive to hire expertise and still make margin on the contract.
There's lots of reasons to avoid outsourcing if you rely at all on your IT -- A Team replaced with the F Team after the contract is signed, bottom of the barrel talent, cost, etc. etc. I'm sure GM ran into all of this and more, and got sick of wasting money. (Didn't EDS start out as the GM IT department way back when?) It's nice to see some different thinking in the marketplace now -- I know when I worked direct for a company, I felt way more plugged into what was happening, and on the hook to deliver. After all, if they can't deposit my pay into my account, I have a great motivation to fix the A/P system.:-)
I think this is just natural considering what's happened with technology in the last 20 or so years. Tweeting, blogging or posting a status update to Facebook is not a difficult, cumbersome task. The user interface is intuitive, you don't have to do too much magic to get Internet access, and the results are immediate. Someone on the back end did all the magic to make this possible -- you're just a user.
Contrast that with being interested in PCs around the early to mid 1990s. The cohort who "loves technology" was limited because loving technology meant you loved to mess around with arcane, strange concepts that most of the population didn't understand. Today's "love technology" crowd actually loves using technology someone else built for the most part. Do you think your average Facebook using teenager would want to go back to, say, 1993 and spend hours fiddling with driver parameters to get a video card working in Windows, or OS/2, or DOS, or Linux? Or figuring out the magic incantations to get your 14.4 kbps modem to dial into an ISP?
Unlike a lot of people, I still actually enjoy my systems engineering/architect job. I get to solve interesting problems and come up with workarounds for strange situations all the time. I wouldn't want a traditional corporate job, or project management, or whatever, just because those jobs aren't intellectually stimulating IMO -- mindless paper shuffling. However, I have seen my share of people who tried to force themselves to love IT jobs, and they're disappointed. The fact remains that you have to have the "figure it out" mindset and the discipline to sit and work through a complex problem. I'm also one of those people who is interested in all the crazy stuff going on under the hood to deliver data around the world, so I guess I "love technology" too. That said, with things like ITIL and process-driven IT, there are a lot of IT jobs that are very boring now...the key is to get yourself one of the interesting ones. As far as software dev goes, sure, everyone thinks they'd love to program video games because playing them is fun. Doing boring, predictable, corporate software development is different -- just connect parts from different toolsets. I can't tell you how many CRUD web interface applications I've seen -- businesses need this stuff a lot more than they need video games. Someone has to do the unsexy work.
So, the group of people who "love building things with technology" is much smaller than the "love using technology to stay in contact with my social circle" group -- same as always.
Time will tell if this is a good thing for HP.
on
HP To Cut 30,000 Jobs
·
· Score: 4, Insightful
I'm sure that with the EDS acquisition, as well as all the other companies HP went out and bought, there are tons of people hiding out waiting to see which group of employees survives the merger. With the PC and printer divisions merging, that looks to me like a lot of sales guys, account managers and customer liaison people are going to be looking for work as well. HP has 300,000 people or something like that. It's kind of like IBM -- once a company gets too big, people can build themselves a very safe spot without doing too much work simply because it's too hard to keep track of everything.
I've had some limited experience with EDS, and from what I saw, there's LOTS of room to cut there. Outsourcing contracts can only support so many project managers, support staff and liaisons-to-liaisons without affecting the number of actual workers who do work.
The problem is that mass-firings like this, especially ones led by management consultants, tend to gut product engineering and design teams, and leave the overhead in place. Even though Whitman may be sparing HP Labs, which was cut to the bone under Fiorina and Hurd, that doesn't account for the everyday hardware engineers who have to design HP's next products. If HP wants to stay successful long-term, they need to ignore the typical McKinsey speak and keep the people who can build stuff that HP can sell.
I'm working in one of the very few dinosaur-era fields that actually needs to buy good-quality PCs and servers for customer projects. Think stick-in-the-mud customers, low or no network bandwidth and old applications. HP and Lenovo are basically the only choices if you want a decent, well-made business grade PC with a warranty and stable configuration. All the hardware manufacturers need to lay off the cloud kool-aid and realize that there will be a balance between local, private and hosted for quite a while. Not every business is ready for the cloud, the cloud doesn't make sense for some businesses, and even the cloudy people need decent machines to run VMWare, Hyper-V, Xen, etc. on. In HP's case, I'm sure the McKinsey people read the Gartner people's Magic Quadrant stuff, concluded that every business will be in the cloud by 2017, and recommended that HP get out of the traditional PC and services business, and become strictly a cloud provider. Problem is, when the social media/Web 2.0/cloud bubble pops, things are going to swing back to a sane mix of hosted and local, and HP might not have anything good to offer anymore.
The problem is that for all the cool stuff they build and make available, Google is an advertising agency. Their core job is to get advertisers to spend money on ads targeted at you. I'm a little bit older than the current "millenial" crowd who is supposed to be influencing the future of computing, and I find some of the stuff Facebook, Google and other advertisers do very creepy. Not in a tinfoil hat kind of way, but in a "I'm not totally comfortable with an advertising agency knowing everything I search for, every YouTube video I watch, every email I send if I use Gmail, who my acquaintances are and what I like if I use Google+ -- and then using that to build a package to sell to an advertiser."
Facebook and Google have done a very good job eradicating this creepy feeling from the younger set. They're very smart about it too -- Facebook is incredibly easy to use and fun for people to post pictures and share all their personal information. Google is incredibly useful -- I'd be lost without their search engine or mapping features embedded in the iPhone. When you grow up using a certain set of technology, and have been posting everything about yourself on Facebook since you were 7, I can see why a person might pull out the tinfoil hat designation on someone like me. Privacy policy change or not, people aren't going to stop using the service they love until something happens. I think what's going to happen eventually is that some people might realize they're sharing too much, not get a job because of their social media profile, or maybe just get the creepy feeling I was talking about. (Example: I went online to check airfare to a city I need to be in next month, and this morning, up pops a Delta ad offering low low fares to that city. It's not a big deal because I've never clicked on an advertisement or sponsored link in my life, so they don't directly make any money off me. It's just the feeling that another record got added to Google's database about my set of cookies.)
So yeah, it's not so much that they collect your data -- everyone knows that. It's the fact that your profile is readily accessible and way more plugged into your life than was previously possible. Before the current age of zero privacy, constructing a profile on someone meant digging through a lot of different sources of information, most of which were not accessible directly. It's the same argument that prevents national electronic health records from being implemented -- there's always the possibility that someone knowing what's in these can negatively affect you (medical/life insurance companies would love that kind of access, for example.) If Google and the like want to keep this kind of model going, I think they're going to have to be a little less overt about it.
The system in the US is very different from Ontario's health insurance plan. Traditional fee-for-service Medicare is very different from private insurance. Both of these combine to give the results you see. 1. Doctors (usually) graduate with huge student loans and have to pay into malpractice insurance in our system, which means they need to charge a lot of overhead to make a profit that justifies the amount of effort they put in to their education. 2. Doctors in the US also need a huge office staff to keep up with billing insurance companies, fighting claim rejections, processing referrals and all the "stuff" that is needed to deal with the wide variety of insurance companies. A single payer system with flat fees for service and a single (hopefully electronic) way to submit claims reduces those staff requirements significantly. 3. Doctors may bill a large fee for services rendered, but they usually never see that -- they get the "negotiated rate" from an insurance carrier. So, that $250 for simple bloodwork that is billed to an uninsured person gets knocked down to the $10 or whatever the insurer feels it's worth. Go look carefully at those Explanation of Benefits statements you get if you're insured. They detail exactly what your insurer pays and what the doctor or hospital has to write off. (This is also why uninsured people have it much worse; they're paying bills at the full rates to make up for the money they aren't getting from insurance companies.) 4. Because healthcare is very expensive if you're uninsured, and can be expensive even if you are, people wait longer to see the doctor and usually only see them when something serious (read: expensive to treat) is happening. 5. Without sounding too political, Americans generally can't stand the idea of modifying their behavior for the benefit of society. Selfish and individualistic would be two adjectives I'd use to describe most people who live here. Governments who have a little more control over their population (or maybe just a more homogeneous one) have an easier time pushing fitness and smoking cessation programs. 6. On the whole, people with lower incomes and education end up with much worse health problems, meaning they're more expensive to treat than those who can afford to pay.
We can't really fix #5 and #6 (Canada and Europe can't fix #6 completely either.) The big contributor is all that overhead (office staff, paperwork, insurance companies who take their cut, etc.) I've talked to doctors who say that Medicare has its problems, but at least they usually get reimbursed without fighting and it's easier to submit all the billing paperwork.
If I were king, and could wave a magic wand and fix everything, my solution would be this. Extend Medicare coverage to everyone at the current benefit levels, and yes, increase taxes to cover it. Let the private insurers fight over the gaps in coverage (Ontario's plan doesn't cover dental care or prescriptions, that's a huge market right there.) It would put a lot of office staff out of work, but is shuffling paper in 2012 high-value work?
An alternative would be to morph the private insurers into claims processors, and use them to help detect fraud. Usually, we only hear of the really outlandish fraud cases, like doctors recruiting Medicaid patients into signing forms authorizing treatments they never get. Fraudulent claim detection would be an interesting use of Big Data(TM), especially when the data is all in one single payer system.
People like to bash single payer systems because they ration a scarce resource. I just don't see it. Go to Ontario's health insurance plan website, or the NHS website. The wait times aren't unreasonable -- they're longer than what we're used to, but we're used to healthcare being treated as an unlimited resource. In any of those systems, if you're truly dying, you go to the emergency department and you're going to get treated.
The article says the reasons aren't certain, but my experience doing technical interviews for my employer seems to point to a possible cause -- perceived lack of stable career prospects.
My background: I work for a medium to large IT company doing systems integration -- code for "troubleshooter, lab rat, make-stuff-work-in-the-face-of-no-documentation person." For a person with the right temperament and skills, it's a very fun job. However, whenever we go out looking for new team members, we get back lots of less-than-qualified people. I'm not talking about qualities like "experts in 4 different operating platforms, genius-level coding skills, etc." -- I'm talking more along the lines of "communicates well, writes clear documentation, and has logical thinking skills." Everything else is trainable in my mind, but if you don't have the engineer/tinkerer/figure-it-out-without-help mindset, you can't do this job well. And oh yes, the pay is decent, and the job is stable if you're good at it and contributing excellent work.
The only problem is that we're in the NYC area, and so is the finance industry. Anecdotal evidence from my colleagues in finance states that any new college grad who is remotely good at science, math and engineering is going into finance or business. Unfortunately for us, that's probably a rational choice given the current employment climate. When you turn 21 or so and are faced with constant talk of outsourcing/offshoring, companies living with a skeleton crew because they don't want to hire and add to costs on one side, and see in finance/business an easy and very lucrative job market, what would you pick? Go back a couple of years before that...and compare the STEM students working in the lab/studying all the time with the business/psychology/communications majors partying 24/7 and coming out ahead of the game in terms of compensation and ease of work. Then, you really start to see what's wrong.
One other problem is the outsourcing/offshoring of routine IT work. Some of the jobs that us IT veterans got our start in are way less accessible than before. I started in tech support/help desk, and it was the best training for dealing with angry users and calmly troubleshooting a problem without changing 100 things. Now, those help desk jobs are overseas or at one of three or four huge IT service providers. So, strike two -- uncertain future employment/compensation prospects, lack of entry-level positions to learn the business...what else is stacked against us?
Personally, I still see a need for *good, competent* engineering talent. Even though most companies and products now are just marketing, flash and repackaging of old technology, someone has to come up with the next neat thing. (Or in my case, someone has to make the 45 neat new things that all got mashed into our software/systems work together.) The problem is that business hs to either start signaling that they really do want and pay for talent, or we won't have replacements for all the people who are slated to retire soon.
It's funny how those of us who bring up issues of data security and service resiliency are dismissed as just trying to protect our jobs.
Like so many other things, the actual technical underpinnings of "the cloud" are great, and have been standard fare for years. Virtual machines + flexible networking are a godsend for systems guys tasked with getting capacity for a new project up and going yesterday. I love being able to build and rip down entire test environments just to try something out...that used to mean a rack of physical servers, switchgear, etc. tied up while it was being used. That's why everyone's slowly coming around to the "private/hybrid cloud" model, which is really just code for "VMs + network capacity + something to tie it all together + maybe some external hosting".
The problem is that "the cloud" is very badly misunderstood. As sson as a CIO sees "virtual, on-demand capacity without those pesky physical on-site machines and IT staff, for a fixed cost per compute-hour" everything else takes a back seat. Then, it's "why do we need IT staff on-site, everything's being taken care of in the cloud." Public clouds like Amazon or Azure are great for startups who can't really afford their own data centers, or even bigger businesses to offload some of the nonessential stuff. When you start looking at hosting everything though, the marketing hype of the cloud sometimes distracts people from realities that they have to contend with.
Also, I'm not saying that businesses who go the private cloud or traditional hosting/outsourcing route won't have downtime -- they will. However, having onsite staff and infrastructure means you can work those staff until they fix the problem, and you have control over them. Most sane outsourcing contracts have SLAs in them stating that the vendor will expend X amount of effort to fix your problems. Cloud provider agreements, unless specifically mentioned otherwise, are "as is, where is, best effort restoration with no warranty." OK, maybe some providers will give you an SLA, but all that does is buy you free service at a later date if they violate it...it doesn't bring your application back online. You still have no choice but to sit and wait around for the provider to fix whatever's wrong...just ask Amazon EC2 customers about what happened during their last outage...
Companies need to draw sane boundaries around hosted systems, and decide what is critical and what can be offloaded. Do I care about a set of development/test machines that get used once a month? Probably a lot less than the critical database/application servers that run my core business. Comfort level, cost per minute of downtime vs. cost of dedicated resources and other factors need to be carefully considered before jumping into the cloud with both feet.
The problem with a traditional teach-learn-test-forget-teach cycle is that students have to stuff as much of the lecture material into their brains as they can fit, pour it all out on the test and repeat the cycle. In my opinion, having tests that actually check for understanding rather than memorization capability would promote actual understanding of material instead of the repeated stuffing.
I've been out of school for a while, but I have recent anecdotal evidence -- vendor certification exams. Specifically, I took the VMWare exam recently. I passed, but it was quite difficult because I work with the product on an infrequent basis -- that is, I don't have the entire GUI memorized. More than half the questions would be easy to answer if you had the GUI in front of you and could just check the available options; the rest tested your knowledge of product architecture, limits and quite frankly trivia items. I've never done well on exams like these, because I'm just not a memorizer.
When I was in school a million years ago, with the Internet just becoming a viable research tool, some of my upper-division chemistry professors wouldn't give standard exams - we'd get "take home exams" which were actually mini-research projects that you could do pretty well if you were paying attention in class. The questions were just right in most cases...challenging enough to be a major pain to brute-force your way through, but made easier if you knew where to start looking (by knowing the material that was presented.) I'm not sure you can do this with a class of hundreds in freshman chemistry lectures, but when you have 20 or 30 students taking the class, and most are motivated to do well anyway, these are easier to do.
So the question isn't "how do I block Internet access for the test?" but more along the lines of "How do I make a challenging-enough test that can be finished in a finite amount of time, and doesn't just test student's lookup skills?"
Forget all the patent and IP insanity that goes on in the modern world for a minute, and think about what it means for a company to do its own basic research. Companies did R&D because they knew products come and go, and that they would profit handsomely if something their researchers discovered was key to a profitable product. I think that philosophy comes from a time when companies were run for the long term rather than a few quarters into the future. Today, only the big boys can really support their own R&D divisions, such as IBM, Microsoft and GE. HP and Xerox used to have big R&D facilities, and Bell Labs was the biggest of the big, but now the demand to keep shareholders happy outstrips the need to keep the idea pipeline stocked. Today's corporate research is backed by huge piles of money, just as it used to be, simply because you're investing in something that is very capital intensive and doesn't involve a guaranteed payout. Anyone who's taken Corporate Finance 101 knows about the cost-benefit analysis and "which project should we fund given 20 altenatives" exercises the MBAs go through. Add angry shareholders to the mix, most of whom don't care about the company's longevity, and it's no wonder research doesn't get the funds it used to.
One advantage that corporate labs have over university or government labs is their science/engineering focus. It may be basic research, but the reality is that it's mostly in the company's field and ties in neatly with the current or future product lines. I'll use Bell Labs as an example...AT&T used their telephone monopoly, which generated vast sums of money, to fund basic research. That led them to invent the transistor, which (surprise, surprise) was very useful in early telephone switching equipment, and in modern electronics in general. Digital switching dropped the cost of providing phone service, and enabled new technologies that just couldn't exist in the old analog-switched network. Other inventions such as the UNIX operating system and others had wide-ranging implications for technology in general, but at their core they were used to improve the company's products and services.
I think that corporate research is probably going to end up relegated to privately-held firms who make boatloads of predictable income every year, and can afford to fund it. The current stock market just doesn't allow for this to go on...wild gyrations every single day, plus the fact that people and institutions trade in and out of stocks every second, not every 10 years like they used to. That's the thing that's different -- money is still available, but no one wants to plow it into something that doesn't give an immediate payout.
I've managed to carve out a pretty successful IT career graduating from a big state university, in a completely unrelated field (chemistry.) The thing that seemed to help most was the practical experience I got during school (tech support was my student job), and graduating in the late 90s helped. That said, recruiters weren't falling all over themselves to hire me like they might a grad from CMU, UIUC, Stanford, etc. It took work to get my first job, it was a crappy one, but every job thereafter has been won based on skill (and decent interview skills.) I do systems integration work rather than software development, and a good part of my job falls back on critical thinking skills and the ability to creatively solve a problem without infinite money, hardware or compute time. You gain that experience IMO, by doing what I did -- riding out the dotcom boom in a "boring" field where I could learn as much as possible about a wide array of systems and concepts. I wasn't an HTML millionaire, but I managed to get through 2000-2001 with marketable skills that kept me employed.
So, is a big-name school worth it for a CS degree? I think not, and here's why: - If you believe the IT field is shrinking, and you'll probably have to take a lower wage to do what you want, then you shouldn't blow all your money on an expensive school. Especially if you need loans, you'll be paying for that education for a very long time. - "Reputation enhancement" that you get from the big name probably isn't the same as what you get in other degrees/fields. If you graduate with an MBA from an Ivy-league school, you are almost guaranteed to make a few high level connections that will get you ahead faster than your peers. Some jobs like investment banking or management consulting are very difficult to get into without big-name school recognition, simply because they're a ticket to instant riches and kind of a closed club. Some "elite" tech companies like Google might place a premium on your educational pedigree, but unless you have your heart set on working there, it's probably not going to matter much. - Recruitment is easier at big name schools, because large corporations seem to just send people to collect a few new grads based on the fact that they went to that school...at all levels of work. So, the difference might be "hand in your resume and watch the offers pour in" versus "hustle and pound the pavement yourself." If you can handle that for your first job, you don't have to do that for the second if you've managed to gain any marketable skills in the first.
Here's something else to consider -- I didn't do CS, but knew a lot of people who did. Very few people end up working as "computer scientists" doing the low level theoretical stuff. In fact, the secret is that business IT is full of contractors/consultants who make huge amounts of money doing work in some obscure niche. SAP implementations, Oracle DBAs (good ones,) and guru level network guys come to mind here. Think about the places you've worked where they parachuted some consultant in to work on fixing some problem. That guy probably makes $150+ an hour, and works 8 months out of the year.simply because he fills an immediate need for some weird combination of skills. You certainly don't need to be a computer scientist to figure out Oracle's garbage dump of a documentation collection [1], or solve a thorny OS problem. You just need to have a head for problem solving and the ability to travel anywhere at a moment's notice (perfect for a recent grad.)
Also, as noted in many other places, the cost of a college education keeps going up every year. Big name schools can charge more. You have to think of it as an investment, in terms of future payback. Do you pay, let's say, $50K at a state school or $200K at a name brand school? Are you reasonably guaranteed to make back to $150K difference and way more? If not, then don't do it!
[1] Oracle's a perfect example of what I'm talking about. First rule is that you can't properly install or tune an Oracle system without
At least from anecdotal experience, I'd say there's merit to the claim that different mental exercises cause brain changes. My evidence? I have reasonable command of most math concepts, but I'm a complete drooling idiot when it comes to mental arithmetic. As in, being the embarrassed guy who pulls out a piece of paper or calculator to multiply >2 digit numbers. I've worked over the years to try to get better at it, and have succeeded somewhat. I can now at least keep some figures in my head and work things out, albeit slower than most people -- my problem before was that the problem setup in my brain would disappear as I was trying to work out the interim sums/products; I just couldn't hold on to the running totals. The only way I'd be able to do this is by forcing myself to...if I were still relying on a calculator to figure out a tip in a restaurant, that part of my brain would stay in its atrophied state IMO.
Now, extend this example to the problem domain we have now -- Internet access is almost an auxiliary brain for most people. I know I don't keep as much stuff in my brain as I used to. I do systems work, and there are tons of esoteric facts that help me do my job (knowing the "secret" registry settings in Windows for key server parameters, or the names of the 5 million files in/etc and which I need to change to make something happen in Linux. Back when I started doing this in the dinosaur era of Win 3.1 and OS/2, the only references available were paper manuals, live tech support and "Resource Kits" for products. It made sense to have a million things in your head so you didn't have to go look them up. But just this morning, I needed to find where to change a parameter in Microsoft Deployment Toolkit's set of scripts. I didn't go to a manual, or the collection of facts in my head -- I typed it into the search box of the browser. And I got the answer in about 30 seconds of searching, picking the right search result and reading the online text.
Now, the question is, does this make humans dumber? I think that if you're measuring mental ability by the volume of trivia in your head, then yes. I do think we need to figure out exactly what we really should keep stored away and what we can look up so we're not completely helpless should Google choose to be extra-evil. I also think that humans need to work on their attention spans and be able to stick to a problem more -- the rise of texting/social media/always-on Internet access is to blame for this.
Technology can be used to help us develop other skills to replace a head full of trivia...even simple tasks can improve people's problem solving, critical thinking and reasoning skills. Again, taking an example from my systems admin work -- how many fellow sysadmins do you know who don't logically lay out the solution to a problem and troubleshoot the real root cause? Good ones do this -- bad ones change 90 things all at once and see if the problem goes away, even if a new problem pops up. But if my mental arithmetic example is to be believed, people can get better with practice.
Is it just me, or are most of the technological innovations in the last decade mainly about monetizing consumer behavior tracking?
Google has an entire ecosystem built up around you using their "free" services in exchange for mining your data to improve search results and advertising clickthroughs. Facebook takes it another step and explicitly states that all your personal data is for sale to advertisers. Amazon has all sorts of creepy analytics sorting through your purchase and shopping history, and now they will have full access to Kindle Fire users' web browsing habits. If the late 90s through early 2000s was the dotcom bubble, the late 2000s through the early 2010s appears to be the customer marketing data bubble. Who knows what will come of this...
What I don't get is why this data is so useful to advertisers. I've almost never bought anything based solely on an ad. Maybe other people are more easily manipulated, but generally I need to try something first or have a real (non-marketroid) person give me a recommendation before I give money away to someone. I'm one of those annoying skeptics in the IT department who take vendor-sponsored "whitepapers" on products with a grain of salt. I guess advertising works on some subset of the population....otherwise businesses wouldn't waste money on it.
We'll see what happens with the privacy thing as well. Either the Web 2.0 crowd is going to completely take over and there will be zero privacy in any aspect of one's life, or people might start realizing that Google and Facebook don't just put these cool services out there for free. I'm not a tinfoil hat guy, but I really don't want the kind of hyper-targeted advertising that knowing my location, presumably my credit score and browsing history would present. Problem is that for every one of me, there 10 million others who don't care or just click I Agree to the new terms because they want the cool service.
I've been watching these protests, interested in seeing what might come out of them. Unfortunately, no one has stepped out and tried to distill all the chaos down to simple talking points that the masses can understand. Left-wing protestors have a much higher barrier to overcome to be taken seriously. The right wing pundits, Tea Party guys, etc. seem to understand this and keep their rantings simple. They appeal to a wide swath of the country by doing that -- it's easy to convince a plumber that the Evil Government is preventing them from becoming a hugely successful entrepreneur because they're "stealing" his tax dollars. That's where I think a lot of the non-rich right wingers have their thinking misplaced -- they're inadvertently supporting business owners who turn around and make average peoples' lives miserable.
My take on this whole thing is as follows. I don't want communism, anarchy or the guillotining of investment bankers. What I do want is the social contract that companies used to have with their workers put back in place. The world is going to get even more divisive as automation and cheap labor start taking away all those nice safe service jobs. I like the model of Germany and the Scandinavian countries. There are plenty of business owners in those countries who are successful and get rich, but they seem to have a perspective and deal with the burden of paying taxes to support the rest of society. This is similar to the 50s-style social contracts many employers had -- hard work and loyalty were rewarded with a commensurate income ladder, paid health insurance, and paid retirement.
Think about it this way -- you're probably well-educated, worked hard to get where you are, and most people have health insurance, a nice stable job, good income and a few possessions. What makes you think that businesses are always going to need network administrators, Java programmers and other IT people? We're already seeing evidence that businesses would rather deal with sub-par service and skeleton staffs...and most people are a couple of paychecks away from being totally broke short of their retirement funds.
I see why everyone's mad at Wall Street though -- a lot of the reason that social contract went away in the first place is a constant demand for corporate earnings regardless of economic conditions.
If I were leading this thing, I think my simple, Tea Party-style talking points would be as follows: 1. Make everyone pay their fair share of taxes. Don't fall for executives' scare tactics about moving to China -- they're going to do that anyway. 2. To ensure this tax money gets spent wisely, limit corporate influence on the political system. It's amazing how quickly universal health insurance could be funded once some of these tax loopholes are removed. 3. Reduce the hyper-focus on the financial markets. Get individual retirement investors out of the market and into something safer like a pension or annuity. Let average people have a stable retirement, but encourage investment on their own if they want. Let companies breathe for a couple of quarters so they can actually plow money back into things that will produce results further down the road.
These things would resonate with average Americans, and it would be very hard for the right wing pundits to call me a dirty hippie if I came to the table with a good set of arguments.
Engineering doesn't have to be frozen in time. You're right, bridges do one thing (connecting points) and that never changes. Suspension bridges are all similar from a physics point of view, but the Brooklyn Bridge is way different from the Golden Gate in terms of materials, construction and so on. Good ideas are tried and picked up over time. Sometimes a completely new method is devised for situations where the old methods don't make sense. If it turns out to be better, the old methods are replaced or reserved for special cases. If it fails, it's usually spectacularly obvious if it makes it to the real world, or it dies in the lab.
I would argue that most of the security issues with code now stem from two places -- closed-source software whose owner doesn't proactively hunt out bugs, and applications of any kind that are churned out on an insane schedule with no time for testing. Part of that insane schedule stems from the "We need to build this in YetAnotherKewlPHPFramework 0.0.9alpha1 to be on the bleeding edge." mandates. A developer has to learn YAKPHPF, and might only have time to learn enough to get the application just working. Then the boss comes in a day after release and says "Hey, StillAnotherRubyOnRailsFramework 1.0 is out! We'll be behind the competition if we don't change RIGHT NOW." Developer learns SARORF, again, just enough to get the app running. Repeat over and over again, regardless of language, regardless of platform choice, every 6-12 months. In my field (systems,) it's "We changed the platform just enough so you have to go back and relearn everything." For someone with a good grasp of the fundamentals, that's no problem. But the constantly shifting trends make it hard to stop and build up anything resembling design standards.
I'm not advocating that time should stop. There should be controlled entrance of new standards though. In traditional engineering, scientists discover the cool new stuff, engineers take the practical bits that help them to build their toolkit, and the cycle repeats. In software development, brand new cool stuff is great, but systems that run the core things we depend on should be built on stable foundations. The projects I've worked on with the best outcomes have been, like you said, a few steps back from the bleeding edge. Problem is that there are fewer and fewer projects like that.
And if you don't like the engineering analogy, we can change that too. In my mind, it's a good starting point because licensed professional engineers are actually liable for what they design or sign off on. This is in sharp contrast to the typical software developer who has very little incentive to do anything beyond getting their creation to compile. Good "craftspeople" are out there, but without some standard training, there's very little differentiation between a true master and a hack. People just don't see the difference until problems appear.
During the banking crisis, people in the US and the UK heard this a lot about the financial sector -- if you regulate them too much, they'll just move somewhere without regulations. I think there's some truth to that, but I can't imagine every company loves the idea of operating in a completely unregulated environment.
One of the things I'm all for is professionalism in the IT world. Computers have been around for a long time, and now they're 100% vital to peoples' daily lives. It's time to start thinking about a couple of things:
- Separating the design and deployment portions of the IT landscape
- Making the design part a real branch of the engineering profession, with a set of educational standards
- Making the deployment part a skilled trade, with the necessary apprenticeships and career progression to attract new hires
Having a professional body would allow us to stand up to employers who demand that the schedule be crunched once again to meet an arbitrary date. No one tells a licensed PE who is liable for work they sign off on that they just lost a week of design time because someone said so...PEs are aware that they could lose their license or be sued out of existence. Currently, software isn't considered infrastructure, and so projects aren't run like bridge construction...they're arbitrary, and not grounded in reality.
The problem is that the field of IT is very broad. You have systems guys like me, network guys, software developers, deployment experts, hardware engineers -- it's all over the map. One thing I don't like about the current state of our profession is a lack of training standards. We leave a lot of training up to vendors like Microsoft, Cisco, Oracle, IBM, etc. who have a vested interest in selling product and training a generation of newbies to use their technology. You also have a lot of independent IT people who have no desire to associate with a larger body of professionals, and wouldn't want the responsibility that professional status gives them. Even with the liability, I would be happy to be the equivalent of a PE because (a) I do good work, and (b) I'm well aware of what I don't know, and ask other professionals for help when needed. Other people in our field want nothing to do with this...they like the idea of being a cowboy coder or cowboy sysadmin and flying by the seat of their pants. Professionalism would also mean slowing down, realizing what works in terms of systems design, not trying to reinvent things every 6 months, etc. The laws of physics and properties of fluid dynamics don't change much -- techniques are introduced gradually in other branches of engineering. In our world, it's "new programming language", "new design pattern", "new OS", "new hardware design" every few years, and often it's just a rehash of what's come before.
The other problem, and the one that this article addresses, is that other countries are probably not willing to commit to playing by the same rules if we adopted them. In fact, there would be a huge uptick in business at "Joe's Code Shack" because they would promise unreasonably short turnaround times and just throw labor at the problem. It's not really a national security issue -- the root cause is that no one is willing to pay for proper engineering work and they just want things faster and faster for less money.
I think that a lot of specialized industries are starting to figure out what they can offshore and what just doesn't work when it comes back. I do systems integration work, and I have seen first-hand the disasters that come back from the "code monkeys" when there are no specs and bad oversight. It's not a cost savings if you have to hire a US contractor at 4x the rate of an FTE to wade through the mess and make it maintainable. One problem is that a lot of industries see IT is "grunt work" coding that people don't necessarily notice when it's done poorly. Anyone working for a large multinational who offshores development is probably well versed in things like internal web applications that crash
I'm all for workers' rights, and also can see things from the employers' side, but man, when you see a piece of work like that guy, you realize that there's a reason for all these labor laws and regulations. Just like everything in life, one chunk of idiots messes up things for everyone else. That happens on both sides of the equation - from the labor side, think about the people you work with who actively avoid doing anything, even going out of the way to be difficult. Or think about tenant-landlord laws -- they are slanted in favor of tenants because a fraction of landlords abuse their influence, regardless of how nightmarish a tenant might be. If people were rational on both sides, there would be less need for regulation.
My experience with small-to-medium size business owners and managers has been mixed. For every decent, hardworking guy working his guts out to make a good place to work, there's the Napoleonic, reactive, stressed out crazy guy who creates a hostile work environment. It's not limited to small businesses either, but you see more of these types in small businesses because they're typically more invested. Some of it can probably be traced to the personality type you need to have to be a business owner -- combative, competitive, driven, etc. There's no way to succeed in small business without having at least some of those traits.
In this case, it sounds mainly like ignorance of the law or willful disregard of it. The guy probably thought he was being funny, making a joke of what he saw as a major affront to his view of the world. I'm guessing the thought process goes something like this:
- I am Master of Convenience Stores, King of the World.
- I've got a bunch of kids who aren't doing everything I tell them.
- I can fire anyone I want, and I will keep firing until I have a set of perfectly obedient employees.
- Since the economy is lousy, I can scare my employees into doing what I want.
- Hey, I know, let's make this fun! Heh heh heh, that'll show those idiots.......and the contest is born.
In my opinion, people who subscribe to the "I can fire anyone for any reason and treat them like slaves because they should be paying ME to work here" attitude are left with the people who can't get jobs with normal bosses. Most people don't want to work for an unpredictable tyrant. Demanding good work is one thing, but being unreasonable is another. He just probably figured that his employees are either kids or people who really can't get better work and thought "motivation" like this was appropriate.
Same thing goes for things like sexual harassment. I'm sure no one *wants* to be treated like that, but business owners abuse their power because they can.
Disclaimer: I'm not an MBA, I'm one of those techie geeks the MBAs grudgingly keep around to make things work and help build new products for them to sell.:-)
My thoughts on the main reason for our economic problems are that short-term cash hits take precedence over long-term strategy. Part of that is due to public ownership of companies and the fact that almost all Americans' retirements are now linked directly to the stock market. The MBA itself just trains a generation of corporate managers into this mindset. Even more dangerous in my mind is the fact that it encourages revolving-door "professional executives" who go from company to company, collect performance bonuses for getting these same short-term cash hits, then leave when things turn sour.
If you're an entrepreneurial sort (definitely not me...) and you start a business that ends up being very successful, you probably want to make sure it keeps running and stays successful. Founders of businesses will generally pour their heart and soul into a company, investing everything until it's either a huge success or totally obvious that it will fail and nothing more can be done to fix it. More importantly, they want the business to be around to provide them income and a place to do what they do best. In the case of a public company, this immediately disappears. The company's stock price is all that matters anymore, not the quality of products, the jobs/tax revenue/new innovations that the business generates, or anything else. This is because the new "owners" of the company are you and me, either directly through speculative trading or indirectly via 401(k) balances and mutual funds. You and I need those balances to keep gong up so we don't starve to death when we're 76, so whenever a public company tries to do something that might pay off in the future over something that pays off RIGHT NOW, it's always rejected.
For example, a board is presented with two options. Assume (probably correctly) that they have no idea about technology, quality of products, etc. Also assume the company is a high-tech manufacturer doing cutting-edge product design.
Option 1: Close a US R&D facility, lay off 3500 workers and open a new R&D facility in China hiring 5000 new workers at 20% of the US rate. License company's core technology/IP to the subsidiary company you had to set up in China to get the investment done. Time to completion: 3 months. Net guaranteed raw profit: $2 million.
Option 2: Invest in an incredibly promising new product line, totally revolutionary from what the business is doing now. Expand the R&D facility in the US, hire more people, and hope this pans out. Time to completion: 4 years. Potential profits: $2 billion.
Option 1 is ALWAYS chosen now. Executives are paid on what they do in the next quarter, even if Option 2 may make them tons more money in the long run. Option 2 would probably be chosen if there were people with a real stake invested in the company, not just a few thousand shares of a bunch of letters on a trading screen.
"Option 2 thinking" produced some of the most interesting innovations of the 20th century. To get back there, we would have to: - Break the link of people's retirement from the stock market, or at least abstract it one level. Pension funds did this -- they were the ones on the hook if things went south and have years and years to make up for failed investments. This may reduce the constand talking-head CNBC/Bloomberg chatter that causes these short-term decisions to be made. - Reiterate the fact to private companies that going public may be a personal windfall, but they will never be able to do another long-term project again.
Some of the stock market focus is out of the bottle and never going back in -- cheap web-based stock trading took care of that. Before, only pension funds and the incredibly rich invested in stocks, and even then, if something happened, it usually took an iteration of the Wall Street Journal news cycle to bring it to light, and a call to a traditional broker to act on anything.
I've worked in a range of environments, from tiny to huge. Some companies do really well with an internal IT department, and others are awful. Some IT departments put up huge walls and make it impossible to do anything, and at the other extreme, they do whatever crazy stuff the business tells them to and waste more time and money. I can definitely see why some decision makers might jump at the opportunity to "kick the nerds out of the basement," but they may not realize how much institutional knowledge walks out with them.
In my experience, any time you involve a third party to do IT, friction ensues because now there's a wall between you and another company looking to make money, not just your internal IT department. Some businesses out there do well with this model because IT isn't used for much beyond file, print and office applications. Businesses looking to go outside the standards, develop their own business logic or applications, etc. will find issues with the cloud model. No matter how big of a check you write, or how many onsite people the service provider gives you (or zero in the cloud case,) the model will always be "That's not in the contract, submit a change request, and we will get back to you with a scope estimate and price."
Eventually, businesses are going to come to grips with the cloud model, figure out what can and cannot be safely hosted or run outside their organizations, and make intelligent decisions. However, we're in the "marketing hype" phase now, and it's just starting to slow down. For example, in a nod to the idea that "cloud == VM hypervisor + virtual network fabric + SAN + servers", infrastructure providers are tailoring their pitches to involve the "private cloud" which basically means dedicated hosting plus flexibility...and that's a good model in my mind.
Clouds are great for dev work and testing -- I've been able to build and rip down entire labs full of equipment to test new Windows domain designs, etc. without buying tons of extra hardware. I still think the security model needs to be looked at, because your average managed service provider will dump the cheapest, greenest sysadmins into their cloud computing environment to save money. Test in the cloud, then buy enough in-house or dedicated capacity to run production within your control.
I'm a systems integration person, so I have actual real-world experience getting one steaming turd of enterprise software to coexist with another one. Even if it's just coding style, and nothing your team does shows up in the final product released to customers, sloppy work means that your customers are going to have longer waits for bug fixes in the future. They're also going to be cursing your company because your products are a pain in the butt to install, require 100% of a high-end server's resources for a simple client/server application, and other reasons. When was the last time you looked at an Oracle or CA or SAP product and said, "Wow, that product is amazing! Clear documentation, easy installation and plays nice with other things on the same system!" Yeah, I thought I knew the answer. :-)
One of the things that really gets me is over-reliance on the infinite hardware resource fairy to get an application to work. I've worked with tons of very expensive software that utilizes some of the worst, most inefficient SQL queries and procedures I've seen. The solution is always "add memory" or "buy a dedicated server." Admittedly, we're far from the days of hand-optimized assembler in most systems, but just reasonable hardware utilization still seems to be too much to ask.
So from a customer perspective, yes, you're doing the right thing by recognizing the problem. How to fix it is a very hard problem and depends on a lot of things. From your question it sounds like poor project management and resource allocation is a big part of this. Well, welcome to my world. :-) Project managers are an interesting lot. The best ones actually did the work previously and know how hard it is to estimate a software project. The worst take the PMP course and assume you're working on a construction project. I wish IT projects were like construction projects -- there's zero uncertainty in most of those. It takes X workers Y hours to drywall Z m^2 of studs. It takes X workers Y hours to rough in plumbing. Etc. Software is a whole different bag -- most construction projects don't get halfway down the track and require that you rip the whole thing down and start over, or even that you rip the last 3 floors out.
I guess I would try to see if the PMs on your project are the type that can be reasoned with and have a clue about what you're doing. That's going to be the way to solve the problem -- getting the pressure off the other guy so he can deliver decent stuff. I've rolled out stuff I hate to make artificial deadlines as well -- it's unprofessional and I hate doing it.
Most corporate social media sites are the domain of the marketing department. Am I the only one who thinks there isn't much hacking involved?
Username -- BigCorpTwitter
Password -- password1
If I were a company's IT department, I would make sure the marketing people were using a 40 character complex passphrase. Unfortunately there's no way to enforce it, and making it complex means that it'll be written under the keyboard of the Associate Twitter Specialist who has to write all the "spontaneous, off-the-cuff, edgy Web 2.0" marketing messages every day.
Dear Microsoft,
I fully understand the reason for switching to the full-screen Start screen. You want a cut of the app revenue like Apple gets, and that only makes sense. I would even be happy with Win8.1 if you could just boot to the desktop and not have the Start button back (but I would REALLY like it back as a bonus...) Here's one thing I can't live with that needs to change:
Put Aero Glass back into the OS as a selectable theme, or even Aero without the glass.
I'm our company's desktop systems architect, and I'm still on Windows 7 for all my personal machines. The main reason is the flat, ugly, hard-to-navigate 2D user interface on the desktop. I really want the client-side improvements Windows has made, I want Client Hyper-V so I don't have to shell out for VMWare Workstation. I definitely want Windows to Go. But I can't use the new flat user interface. Office 2013, Visual Studio and Server Manager are acres and acres of monochrome text and icons with very little to guide your eyes around the screen. I know a lot of people complained about Aero wasting processor cycles, but even the non-transparent version had buttons, text and icons that were colorful, stood out on the screen so you knew where they were instinctively, etc.
I guess I should have left the Customer Experience Improvement Program opt-in checkbox checked all these years...but I can't be the only one who feels this way. So if you want me to upgrade, I need the following:
- Aero Glass available as a theme - you can even leave the 2D screen as the default.
- Start button as a bonus -- If I don't get that I'll be OK, but I'd be happy if I did.
If I upgrade, there's a very good chance 6000+ PCs will upgrade too.
Sincerely, Me
You're pointing out an interesting fact about the IT industry -- there are some really good places to work and some that are really awful. And that definition of good and awful depends on the individual/situation. Without going too far off topic, think about working at Google vs. a "traditional" IT employer like a bank or hospital. Google is ideal for young/single workers who kind of want to continue the college dorm atmosphere. Free meals, concierge service, funky office space, etc. all designed to extract maximum hours out of a workforce who doesn't mind working 80 or 90 hours a week because nothing else is going on in their lives ATM. A more staid IT employer can either be a soul-crushing experience, or (in my case) realize that they need to attract mature talented people. (I work for an IT company that exclusively services a very staid, established industry sector for which correctness and uptime come before speed and flashy stuff.)
Just like corporate cultures are different, training policies are different. Our product design groups basically have to take all the latest flashy tech off the shelf and get it working reliably for our industry, so we're constantly learning. Since our company also deals with a few industry-proprietary skills that aren't easy to come by off the street, long-term employment is also encouraged. (And yes, I know that's wierd and 20th Century, but I like it now that I'm married with children.) We're encouraged to do one company-paid course a year, typically one of those week-long classroom sessions. Certification exams are also reimbursed, even if you don't do them as part of your formal course. Anyone who starts out with our company (including when I started) is told up front that they'll be given all the training they need in the proprietary side of the business, but that they'll be useless for at least the first 8 months while they learn. They then get our internal training where they learn the basics of our customer's business, the fundamental concepts behind what we do, and get to work on small projects. Also, university courses are fully reimbursed once good grades are submitted if you so desire.
I realize that my situation isn't typical, and we can only do it due to our unique situation. But the reality is that this should be the norm. On the job training should be encouraged if your company wants people who are engaged and understand the business side of things. Otherwise in my experience you get a never-ending stream of generic VMWare people, generic Windows people, generic Citrix people, etc. who only get the IT side of things because that's what they need to do to keep jumping ship every 2 years. Part of the reason why our company does well is that the consulting staff knows the customer's business beyond some crash PowerPoint briefing that they read on the plane before they showed up to work.
Bottom line, IT employers should invest in their people and not expect ready made new hires. IT employees should actively seek these employers out to encourage the bad ones to change their practices.
First, welcome. You're probably going to get a lot of comments telling you you're too old, but I don't think that's true. I'm in my late 30s and have often worried about what happens when I have to (or want to) completely retrain for something new down the road. And believe it or not, the 25 year olds will eventually run into this problem too. I love IT work, but if I ever win the lottery, I'm going to go back for my PhD in chemistry and be a scientist when I grow up. :-)
I can think of a few things in your favor switching into IT, although youth-obsessed workplaces may not agree with me:
- You probably have a better handle on troubleshooting, which is my #1 complaint with newbies in our field. 70% of this job, especially on the IT side, is figuring out what's broken in a methodical, logical way.
- You also probably have more discipline than someone straight out of school to design a system or application in such a way that it doesn't need to be babysat 24/7.
- You can probably document what you do clearer than younger people (although that's subjective -- I know a lot of older people who refuse to document their work, and 20-somethings who write perfect docs.)
- It also sounds like you're lucky that you're not going to be the guy constantly begging for raises in a job where salaries are contracting overall.
The problem. as I'm sure you're aware, is that not every employer sees your age and experience as strengths. I'm very lucky to be working as a systems engineer for an IT company that services a very mature industry. Most of the guys on our team are around my age or older, and experience is highly valued. Some of the stuff we do is proprietary, but the vast majority of it is implementing off-the-shelf IT stuff for our customers. This means we're constantly learning new things, or at least enough of those new things to get things done. The flip side of this would be a place like Google, Facebook, Zynga, or any Silicon Valley startup. Those places are all about youth and time-to-market, and are much less likely to take someone older regardless of skill set.
So, given the age problem, you can either selectively cut things out of your resume, OR, you can fall back on your network of people if you have one. I learned a few years ago that the best chance of getting a non-crap IT job is to call someone you worked with and ask them for help finding something. Even if they don't work in IT, they'll be able to find someone who does and get you past the cold call resume HR filter. My experience with this was good - a company I was working with for a while decided to move their IT department to Florida, and I was told to move or be laid off. I hate the heat and sun, so I called up one of my former managers and asked if anything interesting was brewing. 6 weeks later, I had a job and never had to be unemployed. And I don't have to deal with 100% humidity and 95 degree temperatures for 8 months of the year. So yeah, networking is a good thing.
The other problem you face is this - entry level IT is shrinking as well. I started out doing help desk work. These jobs can still be had, but with so many companies contracting out basic IT services like helpdesk, network and systems management, they're more consolidated than they were and the pay is lower. This means that you may have fewer choices about where you work, and you're going to have to deal with very low pay until you have that magical experience under your belt.
So what would I recommend doing?
- If you're really interested in IT, get yourself hands on experience. Pick a specialty (software development, sysadmin, etc.) and learn on your own. Amazon EC2 is giving away compute power for new customers to get started. You can download VMWare ESXi for free and build a whole lab on spare hardware at home. It's easy to train yourself now, much more so than it was.
- Stick to more predictable, established companies that don't have a culture that prizes youth over experience. Since pay is less of an issue, and the hiri
One very important point that you may have missed is this -- tech IS very important. Even organizations who don't care about IT beyond basic file and print have a stake in making sure things they use work well. But, IT is one of those fields where you can still cover over massive, huge, big balls of fail with money to the right vendor or cheap labor. Because of this, companies don't like to pay for competent help, or if they do, they squeeze every last nickel out of it that they can because they feel it's a waste.
Also, "tech" is too broad. The desktop support guy changing toner cartridges, the help desk person changing passwords and the systems architect trying to make sure everything doesn't come crashing to a halt when you put it in the same room have very different jobs, skills and responsibilities. On the simple break-fix support/part-swapper side, the work is getting easier and more automated. This means that you can hire fewer people, and those that you do hire don't need to have as much specialist knowledge. I'm a systems engineer, dealing with Intel server boxes every day -- the vendors have resorted to putting an extra "Don't pull this drive out!" light on hard disks so that part swappers don't pull a second drive out of a failed disk array and cause data loss. Even though the failed drive has a big blinky red light on it. That tells me that customers have complained about this happening enough...so you can draw your own conclusions about skill sets. On the higher end, you just run into wage pressure, companies trying to get away with as little as they can.
I think part of the reason for flat wages across the board is just the overall impression that "computers are simple" now, so why do we need to pay these geniuses to run them? Anyone in corporate IT is keenly aware of the "consumerization" trend, where everyone expects all systems to be as seamlessly integrated as their iPad, no matter how complex.
So at least in "big corporate IT," there are a few things putting wage pressure on:
Things like this make IT a very difficult field to work in. I'm not stupid enough to call myself a rock star IT god, but I certainly feel I'm competent and do a good job. Fortunately, I have an employer who appreciates that (for now) and I do OK. The other class of people who are making serious coin in the IT "racket" are the nomadic consultants. How many places have you worked where these guys seem to parachute in out of the sky when a very narrow specialist problem needs to be solved, charge hundreds an hour for months, and are off to the next place requiring that same specialty just as quick as they came in? I know a lot of these guys personally (can't do the lifestyle if you're married or have any sort of ties to any one place or thing) and they're definitely not hurting. For those of us tied down by one thing
Even if it's just for PR points, some domestic manufacturing employment is a good thing. The reason why isn't nice, it's not politically correct, but it's the facts:
Not everyone is intelligent enough for knowledge work.
In my opinion, if we continue the way we're going, we're going to spiral into a society with three classes -- business owners, knowledge workers and a huge swath of working poor. If everyone has to complete at least a masters' degree to secure a place in one of the top two classes, that completely ignores the other 75% of the IQ distribution.
Think about the way society was organized in the 50s through the 70s:
- Only the highly intelligent and/or well off went to college. They typically inherited a business, got a technical, science, engineering or other kind of knowledge job, or became academics. Each one of these outcomes guaranteed a stable job for life because that's what business ownership, academia or large corporate employment did back then. This is still the preferred path, minus the guarantees of course.
- For the high end of the medium-intelligence scale, there were plenty of paper-shuffling jobs in corporate environments. Remember that before computers, automation and email, large corporations had to employ thousands of file clerks, secretaries and layers of management that just routed paper reports around. Because US companies were doing so well, and things couldn't be outsourced and automated, a huge upper middle class thrived.
- For the low end of the medium-intelligence scale, there were millions of factory jobs. They were all simple, stand on a line for 8 hours and perform a single task or set of tasks. Because of unionization and a lack of global competition, even those jobs were stable and paid reasonable living wages. This was the bulk of the middle class, and I grew up in a Rust Belt city in the early 80s so I got to watch it all unravel live.
- The screwups, dropouts or just plain dumb people wound up doing menial labor. But even at that end of the scale, there was less downward pressure on those wages, so they were able to scrape by for the most part.
The problem is, in 2012, you can locate a factory anywhere, employ thousands of people for a fraction of the price that 100 would cost you, and pump out products just as quickly as before. All the secretaries and paper routers lost their jobs in the late 80s/early 90s automation and downsizing waves. So now, where do all those people who used to have solid incomes go? They either end up permanently unemployed, or go work menial jobs for just above minimum wage, no security and no benefits. So you have a huge class of working poor, working at Wal-Mart, as a home health care aide, or something else.
It's a really tough problem that might have a very bad ending in the next 40 years or so -- we need to find something for everyone to do and someone to employ them. Conservatives love to tout entrepreneurship as our savior, but do they really think a factory guy whose job was bolting the same two parts together for the last 20 years is going to be a successful business owner? Thinking like that will mean you have a class of bankrupt working poor instead of just working poor as all their little ventures fail.
So yes, I hope manufacturing comes back. And I hope it can be something that someone can build an entire career on, not just a string of $10/hr temp jobs.
Given that this is GM, this might set off a few ideas in MBA-land that will be beneficial to IT at large. A huge company bringing IT back in house? Amazing how things come back around... kind of like the cloud.
I actually work for a service provider (not doing hands-on support but engineering work for customer projects.) If you are absolutely, completely not dependent on IT, or too small to have your own IT department, outsourcing is one way to go. Big companies I've been at that outsourced IT have almost always had a negative experience that only gets worse as time goes on. You can mainly attribute this to "no one cares about your IT infrastructure more than you do (or should.)" I do my job professionally, because I'm just that sort of IT person, but I've seen countless experiences where vendors try to weasel out of extra work by hiding behind contracts and procedures. Or, they throw up huge roadblocks because YetAnotherWierdProprietarySystemThatThe50YearOldYouFiredKnewEverythingAbout breaks every few weeks and it's too expensive to hire expertise and still make margin on the contract.
There's lots of reasons to avoid outsourcing if you rely at all on your IT -- A Team replaced with the F Team after the contract is signed, bottom of the barrel talent, cost, etc. etc. I'm sure GM ran into all of this and more, and got sick of wasting money. (Didn't EDS start out as the GM IT department way back when?) It's nice to see some different thinking in the marketplace now -- I know when I worked direct for a company, I felt way more plugged into what was happening, and on the hook to deliver. After all, if they can't deposit my pay into my account, I have a great motivation to fix the A/P system. :-)
I think this is just natural considering what's happened with technology in the last 20 or so years. Tweeting, blogging or posting a status update to Facebook is not a difficult, cumbersome task. The user interface is intuitive, you don't have to do too much magic to get Internet access, and the results are immediate. Someone on the back end did all the magic to make this possible -- you're just a user.
Contrast that with being interested in PCs around the early to mid 1990s. The cohort who "loves technology" was limited because loving technology meant you loved to mess around with arcane, strange concepts that most of the population didn't understand. Today's "love technology" crowd actually loves using technology someone else built for the most part. Do you think your average Facebook using teenager would want to go back to, say, 1993 and spend hours fiddling with driver parameters to get a video card working in Windows, or OS/2, or DOS, or Linux? Or figuring out the magic incantations to get your 14.4 kbps modem to dial into an ISP?
Unlike a lot of people, I still actually enjoy my systems engineering/architect job. I get to solve interesting problems and come up with workarounds for strange situations all the time. I wouldn't want a traditional corporate job, or project management, or whatever, just because those jobs aren't intellectually stimulating IMO -- mindless paper shuffling. However, I have seen my share of people who tried to force themselves to love IT jobs, and they're disappointed. The fact remains that you have to have the "figure it out" mindset and the discipline to sit and work through a complex problem. I'm also one of those people who is interested in all the crazy stuff going on under the hood to deliver data around the world, so I guess I "love technology" too. That said, with things like ITIL and process-driven IT, there are a lot of IT jobs that are very boring now...the key is to get yourself one of the interesting ones. As far as software dev goes, sure, everyone thinks they'd love to program video games because playing them is fun. Doing boring, predictable, corporate software development is different -- just connect parts from different toolsets. I can't tell you how many CRUD web interface applications I've seen -- businesses need this stuff a lot more than they need video games. Someone has to do the unsexy work.
So, the group of people who "love building things with technology" is much smaller than the "love using technology to stay in contact with my social circle" group -- same as always.
I'm sure that with the EDS acquisition, as well as all the other companies HP went out and bought, there are tons of people hiding out waiting to see which group of employees survives the merger. With the PC and printer divisions merging, that looks to me like a lot of sales guys, account managers and customer liaison people are going to be looking for work as well. HP has 300,000 people or something like that. It's kind of like IBM -- once a company gets too big, people can build themselves a very safe spot without doing too much work simply because it's too hard to keep track of everything.
I've had some limited experience with EDS, and from what I saw, there's LOTS of room to cut there. Outsourcing contracts can only support so many project managers, support staff and liaisons-to-liaisons without affecting the number of actual workers who do work.
The problem is that mass-firings like this, especially ones led by management consultants, tend to gut product engineering and design teams, and leave the overhead in place. Even though Whitman may be sparing HP Labs, which was cut to the bone under Fiorina and Hurd, that doesn't account for the everyday hardware engineers who have to design HP's next products. If HP wants to stay successful long-term, they need to ignore the typical McKinsey speak and keep the people who can build stuff that HP can sell.
I'm working in one of the very few dinosaur-era fields that actually needs to buy good-quality PCs and servers for customer projects. Think stick-in-the-mud customers, low or no network bandwidth and old applications. HP and Lenovo are basically the only choices if you want a decent, well-made business grade PC with a warranty and stable configuration. All the hardware manufacturers need to lay off the cloud kool-aid and realize that there will be a balance between local, private and hosted for quite a while. Not every business is ready for the cloud, the cloud doesn't make sense for some businesses, and even the cloudy people need decent machines to run VMWare, Hyper-V, Xen, etc. on. In HP's case, I'm sure the McKinsey people read the Gartner people's Magic Quadrant stuff, concluded that every business will be in the cloud by 2017, and recommended that HP get out of the traditional PC and services business, and become strictly a cloud provider. Problem is, when the social media/Web 2.0/cloud bubble pops, things are going to swing back to a sane mix of hosted and local, and HP might not have anything good to offer anymore.
The problem is that for all the cool stuff they build and make available, Google is an advertising agency. Their core job is to get advertisers to spend money on ads targeted at you. I'm a little bit older than the current "millenial" crowd who is supposed to be influencing the future of computing, and I find some of the stuff Facebook, Google and other advertisers do very creepy. Not in a tinfoil hat kind of way, but in a "I'm not totally comfortable with an advertising agency knowing everything I search for, every YouTube video I watch, every email I send if I use Gmail, who my acquaintances are and what I like if I use Google+ -- and then using that to build a package to sell to an advertiser."
Facebook and Google have done a very good job eradicating this creepy feeling from the younger set. They're very smart about it too -- Facebook is incredibly easy to use and fun for people to post pictures and share all their personal information. Google is incredibly useful -- I'd be lost without their search engine or mapping features embedded in the iPhone. When you grow up using a certain set of technology, and have been posting everything about yourself on Facebook since you were 7, I can see why a person might pull out the tinfoil hat designation on someone like me. Privacy policy change or not, people aren't going to stop using the service they love until something happens. I think what's going to happen eventually is that some people might realize they're sharing too much, not get a job because of their social media profile, or maybe just get the creepy feeling I was talking about. (Example: I went online to check airfare to a city I need to be in next month, and this morning, up pops a Delta ad offering low low fares to that city. It's not a big deal because I've never clicked on an advertisement or sponsored link in my life, so they don't directly make any money off me. It's just the feeling that another record got added to Google's database about my set of cookies.)
So yeah, it's not so much that they collect your data -- everyone knows that. It's the fact that your profile is readily accessible and way more plugged into your life than was previously possible. Before the current age of zero privacy, constructing a profile on someone meant digging through a lot of different sources of information, most of which were not accessible directly. It's the same argument that prevents national electronic health records from being implemented -- there's always the possibility that someone knowing what's in these can negatively affect you (medical/life insurance companies would love that kind of access, for example.) If Google and the like want to keep this kind of model going, I think they're going to have to be a little less overt about it.
The system in the US is very different from Ontario's health insurance plan. Traditional fee-for-service Medicare is very different from private insurance. Both of these combine to give the results you see.
1. Doctors (usually) graduate with huge student loans and have to pay into malpractice insurance in our system, which means they need to charge a lot of overhead to make a profit that justifies the amount of effort they put in to their education.
2. Doctors in the US also need a huge office staff to keep up with billing insurance companies, fighting claim rejections, processing referrals and all the "stuff" that is needed to deal with the wide variety of insurance companies. A single payer system with flat fees for service and a single (hopefully electronic) way to submit claims reduces those staff requirements significantly.
3. Doctors may bill a large fee for services rendered, but they usually never see that -- they get the "negotiated rate" from an insurance carrier. So, that $250 for simple bloodwork that is billed to an uninsured person gets knocked down to the $10 or whatever the insurer feels it's worth. Go look carefully at those Explanation of Benefits statements you get if you're insured. They detail exactly what your insurer pays and what the doctor or hospital has to write off. (This is also why uninsured people have it much worse; they're paying bills at the full rates to make up for the money they aren't getting from insurance companies.)
4. Because healthcare is very expensive if you're uninsured, and can be expensive even if you are, people wait longer to see the doctor and usually only see them when something serious (read: expensive to treat) is happening.
5. Without sounding too political, Americans generally can't stand the idea of modifying their behavior for the benefit of society. Selfish and individualistic would be two adjectives I'd use to describe most people who live here. Governments who have a little more control over their population (or maybe just a more homogeneous one) have an easier time pushing fitness and smoking cessation programs.
6. On the whole, people with lower incomes and education end up with much worse health problems, meaning they're more expensive to treat than those who can afford to pay.
We can't really fix #5 and #6 (Canada and Europe can't fix #6 completely either.) The big contributor is all that overhead (office staff, paperwork, insurance companies who take their cut, etc.) I've talked to doctors who say that Medicare has its problems, but at least they usually get reimbursed without fighting and it's easier to submit all the billing paperwork.
If I were king, and could wave a magic wand and fix everything, my solution would be this. Extend Medicare coverage to everyone at the current benefit levels, and yes, increase taxes to cover it. Let the private insurers fight over the gaps in coverage (Ontario's plan doesn't cover dental care or prescriptions, that's a huge market right there.) It would put a lot of office staff out of work, but is shuffling paper in 2012 high-value work?
An alternative would be to morph the private insurers into claims processors, and use them to help detect fraud. Usually, we only hear of the really outlandish fraud cases, like doctors recruiting Medicaid patients into signing forms authorizing treatments they never get. Fraudulent claim detection would be an interesting use of Big Data(TM), especially when the data is all in one single payer system.
People like to bash single payer systems because they ration a scarce resource. I just don't see it. Go to Ontario's health insurance plan website, or the NHS website. The wait times aren't unreasonable -- they're longer than what we're used to, but we're used to healthcare being treated as an unlimited resource. In any of those systems, if you're truly dying, you go to the emergency department and you're going to get treated.
The article says the reasons aren't certain, but my experience doing technical interviews for my employer seems to point to a possible cause -- perceived lack of stable career prospects.
My background: I work for a medium to large IT company doing systems integration -- code for "troubleshooter, lab rat, make-stuff-work-in-the-face-of-no-documentation person." For a person with the right temperament and skills, it's a very fun job. However, whenever we go out looking for new team members, we get back lots of less-than-qualified people. I'm not talking about qualities like "experts in 4 different operating platforms, genius-level coding skills, etc." -- I'm talking more along the lines of "communicates well, writes clear documentation, and has logical thinking skills." Everything else is trainable in my mind, but if you don't have the engineer/tinkerer/figure-it-out-without-help mindset, you can't do this job well. And oh yes, the pay is decent, and the job is stable if you're good at it and contributing excellent work.
The only problem is that we're in the NYC area, and so is the finance industry. Anecdotal evidence from my colleagues in finance states that any new college grad who is remotely good at science, math and engineering is going into finance or business. Unfortunately for us, that's probably a rational choice given the current employment climate. When you turn 21 or so and are faced with constant talk of outsourcing/offshoring, companies living with a skeleton crew because they don't want to hire and add to costs on one side, and see in finance/business an easy and very lucrative job market, what would you pick? Go back a couple of years before that...and compare the STEM students working in the lab/studying all the time with the business/psychology/communications majors partying 24/7 and coming out ahead of the game in terms of compensation and ease of work. Then, you really start to see what's wrong.
One other problem is the outsourcing/offshoring of routine IT work. Some of the jobs that us IT veterans got our start in are way less accessible than before. I started in tech support/help desk, and it was the best training for dealing with angry users and calmly troubleshooting a problem without changing 100 things. Now, those help desk jobs are overseas or at one of three or four huge IT service providers. So, strike two -- uncertain future employment/compensation prospects, lack of entry-level positions to learn the business...what else is stacked against us?
Personally, I still see a need for *good, competent* engineering talent. Even though most companies and products now are just marketing, flash and repackaging of old technology, someone has to come up with the next neat thing. (Or in my case, someone has to make the 45 neat new things that all got mashed into our software/systems work together.) The problem is that business hs to either start signaling that they really do want and pay for talent, or we won't have replacements for all the people who are slated to retire soon.
It's funny how those of us who bring up issues of data security and service resiliency are dismissed as just trying to protect our jobs.
Like so many other things, the actual technical underpinnings of "the cloud" are great, and have been standard fare for years. Virtual machines + flexible networking are a godsend for systems guys tasked with getting capacity for a new project up and going yesterday. I love being able to build and rip down entire test environments just to try something out...that used to mean a rack of physical servers, switchgear, etc. tied up while it was being used. That's why everyone's slowly coming around to the "private/hybrid cloud" model, which is really just code for "VMs + network capacity + something to tie it all together + maybe some external hosting".
The problem is that "the cloud" is very badly misunderstood. As sson as a CIO sees "virtual, on-demand capacity without those pesky physical on-site machines and IT staff, for a fixed cost per compute-hour" everything else takes a back seat. Then, it's "why do we need IT staff on-site, everything's being taken care of in the cloud." Public clouds like Amazon or Azure are great for startups who can't really afford their own data centers, or even bigger businesses to offload some of the nonessential stuff. When you start looking at hosting everything though, the marketing hype of the cloud sometimes distracts people from realities that they have to contend with.
Also, I'm not saying that businesses who go the private cloud or traditional hosting/outsourcing route won't have downtime -- they will. However, having onsite staff and infrastructure means you can work those staff until they fix the problem, and you have control over them. Most sane outsourcing contracts have SLAs in them stating that the vendor will expend X amount of effort to fix your problems. Cloud provider agreements, unless specifically mentioned otherwise, are "as is, where is, best effort restoration with no warranty." OK, maybe some providers will give you an SLA, but all that does is buy you free service at a later date if they violate it...it doesn't bring your application back online. You still have no choice but to sit and wait around for the provider to fix whatever's wrong...just ask Amazon EC2 customers about what happened during their last outage...
Companies need to draw sane boundaries around hosted systems, and decide what is critical and what can be offloaded. Do I care about a set of development/test machines that get used once a month? Probably a lot less than the critical database/application servers that run my core business. Comfort level, cost per minute of downtime vs. cost of dedicated resources and other factors need to be carefully considered before jumping into the cloud with both feet.
The problem with a traditional teach-learn-test-forget-teach cycle is that students have to stuff as much of the lecture material into their brains as they can fit, pour it all out on the test and repeat the cycle. In my opinion, having tests that actually check for understanding rather than memorization capability would promote actual understanding of material instead of the repeated stuffing.
I've been out of school for a while, but I have recent anecdotal evidence -- vendor certification exams. Specifically, I took the VMWare exam recently. I passed, but it was quite difficult because I work with the product on an infrequent basis -- that is, I don't have the entire GUI memorized. More than half the questions would be easy to answer if you had the GUI in front of you and could just check the available options; the rest tested your knowledge of product architecture, limits and quite frankly trivia items. I've never done well on exams like these, because I'm just not a memorizer.
When I was in school a million years ago, with the Internet just becoming a viable research tool, some of my upper-division chemistry professors wouldn't give standard exams - we'd get "take home exams" which were actually mini-research projects that you could do pretty well if you were paying attention in class. The questions were just right in most cases...challenging enough to be a major pain to brute-force your way through, but made easier if you knew where to start looking (by knowing the material that was presented.) I'm not sure you can do this with a class of hundreds in freshman chemistry lectures, but when you have 20 or 30 students taking the class, and most are motivated to do well anyway, these are easier to do.
So the question isn't "how do I block Internet access for the test?" but more along the lines of "How do I make a challenging-enough test that can be finished in a finite amount of time, and doesn't just test student's lookup skills?"
Forget all the patent and IP insanity that goes on in the modern world for a minute, and think about what it means for a company to do its own basic research. Companies did R&D because they knew products come and go, and that they would profit handsomely if something their researchers discovered was key to a profitable product. I think that philosophy comes from a time when companies were run for the long term rather than a few quarters into the future. Today, only the big boys can really support their own R&D divisions, such as IBM, Microsoft and GE. HP and Xerox used to have big R&D facilities, and Bell Labs was the biggest of the big, but now the demand to keep shareholders happy outstrips the need to keep the idea pipeline stocked. Today's corporate research is backed by huge piles of money, just as it used to be, simply because you're investing in something that is very capital intensive and doesn't involve a guaranteed payout. Anyone who's taken Corporate Finance 101 knows about the cost-benefit analysis and "which project should we fund given 20 altenatives" exercises the MBAs go through. Add angry shareholders to the mix, most of whom don't care about the company's longevity, and it's no wonder research doesn't get the funds it used to.
One advantage that corporate labs have over university or government labs is their science/engineering focus. It may be basic research, but the reality is that it's mostly in the company's field and ties in neatly with the current or future product lines. I'll use Bell Labs as an example...AT&T used their telephone monopoly, which generated vast sums of money, to fund basic research. That led them to invent the transistor, which (surprise, surprise) was very useful in early telephone switching equipment, and in modern electronics in general. Digital switching dropped the cost of providing phone service, and enabled new technologies that just couldn't exist in the old analog-switched network. Other inventions such as the UNIX operating system and others had wide-ranging implications for technology in general, but at their core they were used to improve the company's products and services.
I think that corporate research is probably going to end up relegated to privately-held firms who make boatloads of predictable income every year, and can afford to fund it. The current stock market just doesn't allow for this to go on...wild gyrations every single day, plus the fact that people and institutions trade in and out of stocks every second, not every 10 years like they used to. That's the thing that's different -- money is still available, but no one wants to plow it into something that doesn't give an immediate payout.
I've managed to carve out a pretty successful IT career graduating from a big state university, in a completely unrelated field (chemistry.) The thing that seemed to help most was the practical experience I got during school (tech support was my student job), and graduating in the late 90s helped. That said, recruiters weren't falling all over themselves to hire me like they might a grad from CMU, UIUC, Stanford, etc. It took work to get my first job, it was a crappy one, but every job thereafter has been won based on skill (and decent interview skills.) I do systems integration work rather than software development, and a good part of my job falls back on critical thinking skills and the ability to creatively solve a problem without infinite money, hardware or compute time. You gain that experience IMO, by doing what I did -- riding out the dotcom boom in a "boring" field where I could learn as much as possible about a wide array of systems and concepts. I wasn't an HTML millionaire, but I managed to get through 2000-2001 with marketable skills that kept me employed.
So, is a big-name school worth it for a CS degree? I think not, and here's why:
- If you believe the IT field is shrinking, and you'll probably have to take a lower wage to do what you want, then you shouldn't blow all your money on an expensive school. Especially if you need loans, you'll be paying for that education for a very long time.
- "Reputation enhancement" that you get from the big name probably isn't the same as what you get in other degrees/fields. If you graduate with an MBA from an Ivy-league school, you are almost guaranteed to make a few high level connections that will get you ahead faster than your peers. Some jobs like investment banking or management consulting are very difficult to get into without big-name school recognition, simply because they're a ticket to instant riches and kind of a closed club. Some "elite" tech companies like Google might place a premium on your educational pedigree, but unless you have your heart set on working there, it's probably not going to matter much.
- Recruitment is easier at big name schools, because large corporations seem to just send people to collect a few new grads based on the fact that they went to that school...at all levels of work. So, the difference might be "hand in your resume and watch the offers pour in" versus "hustle and pound the pavement yourself." If you can handle that for your first job, you don't have to do that for the second if you've managed to gain any marketable skills in the first.
Here's something else to consider -- I didn't do CS, but knew a lot of people who did. Very few people end up working as "computer scientists" doing the low level theoretical stuff. In fact, the secret is that business IT is full of contractors/consultants who make huge amounts of money doing work in some obscure niche. SAP implementations, Oracle DBAs (good ones,) and guru level network guys come to mind here. Think about the places you've worked where they parachuted some consultant in to work on fixing some problem. That guy probably makes $150+ an hour, and works 8 months out of the year.simply because he fills an immediate need for some weird combination of skills. You certainly don't need to be a computer scientist to figure out Oracle's garbage dump of a documentation collection [1], or solve a thorny OS problem. You just need to have a head for problem solving and the ability to travel anywhere at a moment's notice (perfect for a recent grad.)
Also, as noted in many other places, the cost of a college education keeps going up every year. Big name schools can charge more. You have to think of it as an investment, in terms of future payback. Do you pay, let's say, $50K at a state school or $200K at a name brand school? Are you reasonably guaranteed to make back to $150K difference and way more? If not, then don't do it!
[1] Oracle's a perfect example of what I'm talking about. First rule is that you can't properly install or tune an Oracle system without
At least from anecdotal experience, I'd say there's merit to the claim that different mental exercises cause brain changes. My evidence? I have reasonable command of most math concepts, but I'm a complete drooling idiot when it comes to mental arithmetic. As in, being the embarrassed guy who pulls out a piece of paper or calculator to multiply >2 digit numbers. I've worked over the years to try to get better at it, and have succeeded somewhat. I can now at least keep some figures in my head and work things out, albeit slower than most people -- my problem before was that the problem setup in my brain would disappear as I was trying to work out the interim sums/products; I just couldn't hold on to the running totals. The only way I'd be able to do this is by forcing myself to...if I were still relying on a calculator to figure out a tip in a restaurant, that part of my brain would stay in its atrophied state IMO.
Now, extend this example to the problem domain we have now -- Internet access is almost an auxiliary brain for most people. I know I don't keep as much stuff in my brain as I used to. I do systems work, and there are tons of esoteric facts that help me do my job (knowing the "secret" registry settings in Windows for key server parameters, or the names of the 5 million files in /etc and which I need to change to make something happen in Linux. Back when I started doing this in the dinosaur era of Win 3.1 and OS/2, the only references available were paper manuals, live tech support and "Resource Kits" for products. It made sense to have a million things in your head so you didn't have to go look them up. But just this morning, I needed to find where to change a parameter in Microsoft Deployment Toolkit's set of scripts. I didn't go to a manual, or the collection of facts in my head -- I typed it into the search box of the browser. And I got the answer in about 30 seconds of searching, picking the right search result and reading the online text.
Now, the question is, does this make humans dumber? I think that if you're measuring mental ability by the volume of trivia in your head, then yes. I do think we need to figure out exactly what we really should keep stored away and what we can look up so we're not completely helpless should Google choose to be extra-evil. I also think that humans need to work on their attention spans and be able to stick to a problem more -- the rise of texting/social media/always-on Internet access is to blame for this.
Technology can be used to help us develop other skills to replace a head full of trivia...even simple tasks can improve people's problem solving, critical thinking and reasoning skills. Again, taking an example from my systems admin work -- how many fellow sysadmins do you know who don't logically lay out the solution to a problem and troubleshoot the real root cause? Good ones do this -- bad ones change 90 things all at once and see if the problem goes away, even if a new problem pops up. But if my mental arithmetic example is to be believed, people can get better with practice.
Is it just me, or are most of the technological innovations in the last decade mainly about monetizing consumer behavior tracking?
Google has an entire ecosystem built up around you using their "free" services in exchange for mining your data to improve search results and advertising clickthroughs. Facebook takes it another step and explicitly states that all your personal data is for sale to advertisers. Amazon has all sorts of creepy analytics sorting through your purchase and shopping history, and now they will have full access to Kindle Fire users' web browsing habits. If the late 90s through early 2000s was the dotcom bubble, the late 2000s through the early 2010s appears to be the customer marketing data bubble. Who knows what will come of this...
What I don't get is why this data is so useful to advertisers. I've almost never bought anything based solely on an ad. Maybe other people are more easily manipulated, but generally I need to try something first or have a real (non-marketroid) person give me a recommendation before I give money away to someone. I'm one of those annoying skeptics in the IT department who take vendor-sponsored "whitepapers" on products with a grain of salt. I guess advertising works on some subset of the population....otherwise businesses wouldn't waste money on it.
We'll see what happens with the privacy thing as well. Either the Web 2.0 crowd is going to completely take over and there will be zero privacy in any aspect of one's life, or people might start realizing that Google and Facebook don't just put these cool services out there for free. I'm not a tinfoil hat guy, but I really don't want the kind of hyper-targeted advertising that knowing my location, presumably my credit score and browsing history would present. Problem is that for every one of me, there 10 million others who don't care or just click I Agree to the new terms because they want the cool service.
I've been watching these protests, interested in seeing what might come out of them. Unfortunately, no one has stepped out and tried to distill all the chaos down to simple talking points that the masses can understand. Left-wing protestors have a much higher barrier to overcome to be taken seriously. The right wing pundits, Tea Party guys, etc. seem to understand this and keep their rantings simple. They appeal to a wide swath of the country by doing that -- it's easy to convince a plumber that the Evil Government is preventing them from becoming a hugely successful entrepreneur because they're "stealing" his tax dollars. That's where I think a lot of the non-rich right wingers have their thinking misplaced -- they're inadvertently supporting business owners who turn around and make average peoples' lives miserable.
My take on this whole thing is as follows. I don't want communism, anarchy or the guillotining of investment bankers. What I do want is the social contract that companies used to have with their workers put back in place. The world is going to get even more divisive as automation and cheap labor start taking away all those nice safe service jobs. I like the model of Germany and the Scandinavian countries. There are plenty of business owners in those countries who are successful and get rich, but they seem to have a perspective and deal with the burden of paying taxes to support the rest of society. This is similar to the 50s-style social contracts many employers had -- hard work and loyalty were rewarded with a commensurate income ladder, paid health insurance, and paid retirement.
Think about it this way -- you're probably well-educated, worked hard to get where you are, and most people have health insurance, a nice stable job, good income and a few possessions. What makes you think that businesses are always going to need network administrators, Java programmers and other IT people? We're already seeing evidence that businesses would rather deal with sub-par service and skeleton staffs...and most people are a couple of paychecks away from being totally broke short of their retirement funds.
I see why everyone's mad at Wall Street though -- a lot of the reason that social contract went away in the first place is a constant demand for corporate earnings regardless of economic conditions.
If I were leading this thing, I think my simple, Tea Party-style talking points would be as follows:
1. Make everyone pay their fair share of taxes. Don't fall for executives' scare tactics about moving to China -- they're going to do that anyway.
2. To ensure this tax money gets spent wisely, limit corporate influence on the political system. It's amazing how quickly universal health insurance could be funded once some of these tax loopholes are removed.
3. Reduce the hyper-focus on the financial markets. Get individual retirement investors out of the market and into something safer like a pension or annuity. Let average people have a stable retirement, but encourage investment on their own if they want. Let companies breathe for a couple of quarters so they can actually plow money back into things that will produce results further down the road.
These things would resonate with average Americans, and it would be very hard for the right wing pundits to call me a dirty hippie if I came to the table with a good set of arguments.
Engineering doesn't have to be frozen in time. You're right, bridges do one thing (connecting points) and that never changes. Suspension bridges are all similar from a physics point of view, but the Brooklyn Bridge is way different from the Golden Gate in terms of materials, construction and so on. Good ideas are tried and picked up over time. Sometimes a completely new method is devised for situations where the old methods don't make sense. If it turns out to be better, the old methods are replaced or reserved for special cases. If it fails, it's usually spectacularly obvious if it makes it to the real world, or it dies in the lab.
I would argue that most of the security issues with code now stem from two places -- closed-source software whose owner doesn't proactively hunt out bugs, and applications of any kind that are churned out on an insane schedule with no time for testing. Part of that insane schedule stems from the "We need to build this in YetAnotherKewlPHPFramework 0.0.9alpha1 to be on the bleeding edge." mandates. A developer has to learn YAKPHPF, and might only have time to learn enough to get the application just working. Then the boss comes in a day after release and says "Hey, StillAnotherRubyOnRailsFramework 1.0 is out! We'll be behind the competition if we don't change RIGHT NOW." Developer learns SARORF, again, just enough to get the app running. Repeat over and over again, regardless of language, regardless of platform choice, every 6-12 months. In my field (systems,) it's "We changed the platform just enough so you have to go back and relearn everything." For someone with a good grasp of the fundamentals, that's no problem. But the constantly shifting trends make it hard to stop and build up anything resembling design standards.
I'm not advocating that time should stop. There should be controlled entrance of new standards though. In traditional engineering, scientists discover the cool new stuff, engineers take the practical bits that help them to build their toolkit, and the cycle repeats. In software development, brand new cool stuff is great, but systems that run the core things we depend on should be built on stable foundations. The projects I've worked on with the best outcomes have been, like you said, a few steps back from the bleeding edge. Problem is that there are fewer and fewer projects like that.
And if you don't like the engineering analogy, we can change that too. In my mind, it's a good starting point because licensed professional engineers are actually liable for what they design or sign off on. This is in sharp contrast to the typical software developer who has very little incentive to do anything beyond getting their creation to compile. Good "craftspeople" are out there, but without some standard training, there's very little differentiation between a true master and a hack. People just don't see the difference until problems appear.
During the banking crisis, people in the US and the UK heard this a lot about the financial sector -- if you regulate them too much, they'll just move somewhere without regulations. I think there's some truth to that, but I can't imagine every company loves the idea of operating in a completely unregulated environment.
One of the things I'm all for is professionalism in the IT world. Computers have been around for a long time, and now they're 100% vital to peoples' daily lives. It's time to start thinking about a couple of things:
- Separating the design and deployment portions of the IT landscape
- Making the design part a real branch of the engineering profession, with a set of educational standards
- Making the deployment part a skilled trade, with the necessary apprenticeships and career progression to attract new hires
Having a professional body would allow us to stand up to employers who demand that the schedule be crunched once again to meet an arbitrary date. No one tells a licensed PE who is liable for work they sign off on that they just lost a week of design time because someone said so...PEs are aware that they could lose their license or be sued out of existence. Currently, software isn't considered infrastructure, and so projects aren't run like bridge construction...they're arbitrary, and not grounded in reality.
The problem is that the field of IT is very broad. You have systems guys like me, network guys, software developers, deployment experts, hardware engineers -- it's all over the map. One thing I don't like about the current state of our profession is a lack of training standards. We leave a lot of training up to vendors like Microsoft, Cisco, Oracle, IBM, etc. who have a vested interest in selling product and training a generation of newbies to use their technology. You also have a lot of independent IT people who have no desire to associate with a larger body of professionals, and wouldn't want the responsibility that professional status gives them. Even with the liability, I would be happy to be the equivalent of a PE because (a) I do good work, and (b) I'm well aware of what I don't know, and ask other professionals for help when needed. Other people in our field want nothing to do with this...they like the idea of being a cowboy coder or cowboy sysadmin and flying by the seat of their pants. Professionalism would also mean slowing down, realizing what works in terms of systems design, not trying to reinvent things every 6 months, etc. The laws of physics and properties of fluid dynamics don't change much -- techniques are introduced gradually in other branches of engineering. In our world, it's "new programming language", "new design pattern", "new OS", "new hardware design" every few years, and often it's just a rehash of what's come before.
The other problem, and the one that this article addresses, is that other countries are probably not willing to commit to playing by the same rules if we adopted them. In fact, there would be a huge uptick in business at "Joe's Code Shack" because they would promise unreasonably short turnaround times and just throw labor at the problem. It's not really a national security issue -- the root cause is that no one is willing to pay for proper engineering work and they just want things faster and faster for less money.
I think that a lot of specialized industries are starting to figure out what they can offshore and what just doesn't work when it comes back. I do systems integration work, and I have seen first-hand the disasters that come back from the "code monkeys" when there are no specs and bad oversight. It's not a cost savings if you have to hire a US contractor at 4x the rate of an FTE to wade through the mess and make it maintainable. One problem is that a lot of industries see IT is "grunt work" coding that people don't necessarily notice when it's done poorly. Anyone working for a large multinational who offshores development is probably well versed in things like internal web applications that crash
I'm all for workers' rights, and also can see things from the employers' side, but man, when you see a piece of work like that guy, you realize that there's a reason for all these labor laws and regulations. Just like everything in life, one chunk of idiots messes up things for everyone else. That happens on both sides of the equation - from the labor side, think about the people you work with who actively avoid doing anything, even going out of the way to be difficult. Or think about tenant-landlord laws -- they are slanted in favor of tenants because a fraction of landlords abuse their influence, regardless of how nightmarish a tenant might be. If people were rational on both sides, there would be less need for regulation.
My experience with small-to-medium size business owners and managers has been mixed. For every decent, hardworking guy working his guts out to make a good place to work, there's the Napoleonic, reactive, stressed out crazy guy who creates a hostile work environment. It's not limited to small businesses either, but you see more of these types in small businesses because they're typically more invested. Some of it can probably be traced to the personality type you need to have to be a business owner -- combative, competitive, driven, etc. There's no way to succeed in small business without having at least some of those traits.
In this case, it sounds mainly like ignorance of the law or willful disregard of it. The guy probably thought he was being funny, making a joke of what he saw as a major affront to his view of the world. I'm guessing the thought process goes something like this:
- I am Master of Convenience Stores, King of the World.
- I've got a bunch of kids who aren't doing everything I tell them.
- I can fire anyone I want, and I will keep firing until I have a set of perfectly obedient employees.
- Since the economy is lousy, I can scare my employees into doing what I want.
- Hey, I know, let's make this fun! Heh heh heh, that'll show those idiots.... ...and the contest is born.
In my opinion, people who subscribe to the "I can fire anyone for any reason and treat them like slaves because they should be paying ME to work here" attitude are left with the people who can't get jobs with normal bosses. Most people don't want to work for an unpredictable tyrant. Demanding good work is one thing, but being unreasonable is another. He just probably figured that his employees are either kids or people who really can't get better work and thought "motivation" like this was appropriate.
Same thing goes for things like sexual harassment. I'm sure no one *wants* to be treated like that, but business owners abuse their power because they can.
Disclaimer: I'm not an MBA, I'm one of those techie geeks the MBAs grudgingly keep around to make things work and help build new products for them to sell. :-)
My thoughts on the main reason for our economic problems are that short-term cash hits take precedence over long-term strategy. Part of that is due to public ownership of companies and the fact that almost all Americans' retirements are now linked directly to the stock market. The MBA itself just trains a generation of corporate managers into this mindset. Even more dangerous in my mind is the fact that it encourages revolving-door "professional executives" who go from company to company, collect performance bonuses for getting these same short-term cash hits, then leave when things turn sour.
If you're an entrepreneurial sort (definitely not me...) and you start a business that ends up being very successful, you probably want to make sure it keeps running and stays successful. Founders of businesses will generally pour their heart and soul into a company, investing everything until it's either a huge success or totally obvious that it will fail and nothing more can be done to fix it. More importantly, they want the business to be around to provide them income and a place to do what they do best. In the case of a public company, this immediately disappears. The company's stock price is all that matters anymore, not the quality of products, the jobs/tax revenue/new innovations that the business generates, or anything else. This is because the new "owners" of the company are you and me, either directly through speculative trading or indirectly via 401(k) balances and mutual funds. You and I need those balances to keep gong up so we don't starve to death when we're 76, so whenever a public company tries to do something that might pay off in the future over something that pays off RIGHT NOW, it's always rejected.
For example, a board is presented with two options. Assume (probably correctly) that they have no idea about technology, quality of products, etc. Also assume the company is a high-tech manufacturer doing cutting-edge product design.
Option 1: Close a US R&D facility, lay off 3500 workers and open a new R&D facility in China hiring 5000 new workers at 20% of the US rate. License company's core technology/IP to the subsidiary company you had to set up in China to get the investment done. Time to completion: 3 months. Net guaranteed raw profit: $2 million.
Option 2: Invest in an incredibly promising new product line, totally revolutionary from what the business is doing now. Expand the R&D facility in the US, hire more people, and hope this pans out. Time to completion: 4 years. Potential profits: $2 billion.
Option 1 is ALWAYS chosen now. Executives are paid on what they do in the next quarter, even if Option 2 may make them tons more money in the long run. Option 2 would probably be chosen if there were people with a real stake invested in the company, not just a few thousand shares of a bunch of letters on a trading screen.
"Option 2 thinking" produced some of the most interesting innovations of the 20th century. To get back there, we would have to:
- Break the link of people's retirement from the stock market, or at least abstract it one level. Pension funds did this -- they were the ones on the hook if things went south and have years and years to make up for failed investments. This may reduce the constand talking-head CNBC/Bloomberg chatter that causes these short-term decisions to be made.
- Reiterate the fact to private companies that going public may be a personal windfall, but they will never be able to do another long-term project again.
Some of the stock market focus is out of the bottle and never going back in -- cheap web-based stock trading took care of that. Before, only pension funds and the incredibly rich invested in stocks, and even then, if something happened, it usually took an iteration of the Wall Street Journal news cycle to bring it to light, and a call to a traditional broker to act on anything.
I've worked in a range of environments, from tiny to huge. Some companies do really well with an internal IT department, and others are awful. Some IT departments put up huge walls and make it impossible to do anything, and at the other extreme, they do whatever crazy stuff the business tells them to and waste more time and money. I can definitely see why some decision makers might jump at the opportunity to "kick the nerds out of the basement," but they may not realize how much institutional knowledge walks out with them.
In my experience, any time you involve a third party to do IT, friction ensues because now there's a wall between you and another company looking to make money, not just your internal IT department. Some businesses out there do well with this model because IT isn't used for much beyond file, print and office applications. Businesses looking to go outside the standards, develop their own business logic or applications, etc. will find issues with the cloud model. No matter how big of a check you write, or how many onsite people the service provider gives you (or zero in the cloud case,) the model will always be "That's not in the contract, submit a change request, and we will get back to you with a scope estimate and price."
Eventually, businesses are going to come to grips with the cloud model, figure out what can and cannot be safely hosted or run outside their organizations, and make intelligent decisions. However, we're in the "marketing hype" phase now, and it's just starting to slow down. For example, in a nod to the idea that "cloud == VM hypervisor + virtual network fabric + SAN + servers", infrastructure providers are tailoring their pitches to involve the "private cloud" which basically means dedicated hosting plus flexibility...and that's a good model in my mind.
Clouds are great for dev work and testing -- I've been able to build and rip down entire labs full of equipment to test new Windows domain designs, etc. without buying tons of extra hardware. I still think the security model needs to be looked at, because your average managed service provider will dump the cheapest, greenest sysadmins into their cloud computing environment to save money. Test in the cloud, then buy enough in-house or dedicated capacity to run production within your control.