Yes, they do change. A dollar spent on someone who providers greater value to the company has a higher ROI.
This begs the question of whether somebody necessarily provides more value, simply because they are positioned higher up in the corporate hierarchy. Maybe that view is completely wrong and managers don't actually provide *more* value, just *different* value. Heck, it's even possible that the hierarchy to value view is completely upside down on some occasions.
Thus, spending the money on the boss' office is generally a better investment than spending the money on a programming drone's office.
OTOH, you could also say that spending the money on a top-notch engineer's office is generally a better investment than spending the money on a dullard PHB's office.
Of course I read TFA... nothing in TFA changes one thing about what I said. A professional teacher should not have been reduced to yelling at a student. Intentional provocation or no, these students exposed a teacher who is clearly not qualified to be in that position.
Offices isolate the members of what should be a reasonably social job (software development) from one another, so that's no good either. who wants to work in a rabbit warren?
It's an office, not a jail-cell. Assuming people working on related work are seated relatively near to each other (and they should be), it's not so difficult to get up and walk a few feet to speak to a co-worker. And if you give people reasonably sized offices, small meetings (2-4 people) can be held in any individual's office. Provide plenty of mid-sized to large conference rooms for when larger meetings are required.
In addition, have telephones, an IRC server, email and IM to provide additional communication channels as well; and people can work in separate offices but still communicate quite effectively.
Email and IM simply do not have the bandwidth of face-to-face communication.
No they don't, but not everybody needs to communicate with face-to-face level of bandwidth continuously throughout the day. Also, there is still this thing called a telephone, which provides more bandwidth than e-mail and IM, and is sometimes useful when telecommuting. It might not be reasonable to run a company based 100% on telecommuting, but to suggest that it (telecommuting) is a dumb idea in general flies in the face of a lot of experience that suggests otherwise. It just has be be applied properly, like any other tool.
Not gonna happen, when even some developers have been brainwashed into believing that open-plan and/or cubicles are a good idea. Some developers actually tout the supposed advantage of "I can be so much more productive when I can just yell over the cube wall to ask Joe something."
Unfortunately this is a very self-centered and short-sighted view; since they are neglecting to consider the effect of the constant distractions on **everybody else** within earshot. Between noisy conversations, "over the wall" yelling, ringing phones, speaker phone conversations and all the other disrupting factors found in a typical office, I find it amazing that anybody could actually advocate cubicles / open-plan. <sigh>
It is a misconception on the part of enterprise IT personnel, who use port whitelisting at the firewall to slow down information security breaches.
Yeah, so now everybody just multiplexes a bazillion different application protocols on top of HTTP / HTTPS. So they haven't actually solved any problem, they just moved it. And now they need layer 7 firewalls that can inspect the contents of the HTTP packets in order to determine what should pass through or be denied. <sigh>
You could probably also use WeirdX: http://www.jcraft.com/weirdx for some nifty stuff. WeirdX is written in Java, so I keep thinking it would be nice if somebody did a Java Webstart configuration for it... Just click a link, install the X-Server and then you're on your way to that "rich client experience."
but the essence of AJAX/Web 2.0 is the ability to easily make an asynchronous call without any hacks.
Feh, AJAX *is* a hack. A huge, honking, kludgey hack to work around the fact that people are trying to make a web-browser and HTTP do things they were never meant to do. A stateless protocol like HTTP is not a good solution for doing remote interactive clients. And why in the blue-hell should we need javascript on the client in order to interact with the server??
Let's quit trying to make a perfectly good web-browser into a cheap X-Server. Web browsers are GREAT at doing what they were meant to do: browse the web. However, they suck at being a freaking X-Server, which is what everybody seems to be trying to make the browser over into.
I mean, thank about it: what's the job of an X-Server? It's to receive data from a remote application running some logic "somewhere" and provide the display capabilities: drawing widgets on the screen, receiving keyboard input and mouse-clicks and sending them back to the application, etc. And they happen to be really good at it. Web Browsers are NOT good at doing this. Two big problems: they don't allow convenient access to the full array of UI widgets that are needed for a client, and they communicate using a stateless protocol which hinders the interactivity between the remote app and the UI.
Solution? Use browsers for browsing and X for serving up UI's to remote applications. Use the right tool for the job, instead of trying to shoe-horn something into a role it's not meant for. I mean, can't you just picture the browser developer guys huddled around a square peg, hammering it into a round hole with a big-ass hammer, while one of them yells "hit it harder, hit it harder?"
Not to feed the trolls, but... obviously, the idea is to allow current Microsoft Office users who already use macros written in VB to take those macros with them when they switch to OOo.
There's no troll... I'm just saying "who cares?"
Yeah, there are a few people out there who need to move Microsoft -> OOo who might care about this; but I think it's more important that OOo support more open solutions and encourage new users to develop their macros / scripts in something other than VBA. Sure, this might be good for short-term gratification in terms of encouraging OOo adoption by MS users; but it seems like a step backwards in the long-term.
Who cares about VBA in OOo when you can write OOo macros in Java, Python, Perl, Beanshell, and Javascript; and probably COBOL, Prolog, Lisp and Oberon as well...
I looked at a couple of the popular ones, installed Awffull and played with it for a bit. But it wasn't immediately obvious to me that any of the common ones supported aggregating stats across domains / hosts. Eg, I have 10 virtual servers on this Apache box, give me a sorted list of hits per domain/host. Probably one or more of the popular open-source stats packages *does* do this, but I didn't feel like spending hours examining different ones and installing them. Since my needs were very basic I just wrote something of my own.
Since all my domains are ultimately served by a Java webapp running on JBoss (I redirect from Apache to JBoss with mod_jk) I just wrote a servlet filter to write hits to a postgresql database. That's it,one table with the hostname, date-time, user-agent, and a handful of other things I care about. Now, getting the info I need is a simple as a quick sql query with pgadmin III. Although I'm looking at using the EclipseBIRT stuff for looking at the data, as my next project.
Linux would already be on a lot of desktops except for one important detail: it doesn't run Windows apps and drivers very well or at all. The inability to get round that obstacle is what has defeated every single would-be competitor over the last 11 years.
I'll allow that drivers are something of an issue, but for run of the mill destop productivity softare, not so much. For most of the basic things you use a PC for, there are perfectly functional packages available for Linux, either open-source programs which maintain a linux version, or things which are inherently cross-platform (liek Java apps).
To use myself as an example... my primary uses of my laptop are: playing music with winamp, surfing the 'net with firefox, editing documents with openoffice 2.0, writing Java code with Eclipse, running Java apps on JBoss, reading RSS feeds with RSSOwl, writing blog posts with JBlogEditor, reading email with Thunderbird, tracking my calendar with Sunbird, downloading things with Azureus, IM'ing with AIM and Yahoo IM and, er, that's about it. Now I don't claim to be a representative sample all by myself, but I bet plenty of people do pretty much those same things, or less. The oft mentioned "my grandmother" or "mom and dad" certainly fall in that catetory.
So out of that list of software, everything is either available on Linux, or has a suitable equivelant:
Winamp -> XMMS Firefox -> Runs natively on Linux OpenOffice 2.0 -> Runs natively on Linux Eclipse -> Java, runs on Linux JBoss -> Java, runs on Linux RSSOwl -> Java, runs on Linux JBlogEditor -> Java, runs on Linux Thunderbird -> Runs natively on Linux Sunbird -> Runs natively on Linux Azureus -> Java, runs on Linux AIM / Yahoo IM -> Gaim
For home use, I think Desktop Linux is very usable for the majority of folks. Business use, where there is often demand for a very specific application which doesn't exist on Linux yet, is the bigger deal. But I think we're making progress even in that area.
What do Slashdot readers think about the likelihood of another go at breaking up the Windows monopoly?"
I couldn't care less. I use Linux exclusively on every box I have at home, save my laptop which dual-boots (and I expect to wipe windows off of it soon), and on my desktop at work. I don't buy pre-built PCs from mainstream manufacturers who are forced to include a Windows license, so I'm not paying the "Windows tax." In short, it's completely irrelevant to me.
My only concern in the whole windows vs. linux "thing" involves hardware support for Linux and that's more an issue of manufacturers not being willing to release specs so that people can write open-source drivers.
Yes, that's why they came up with thing long ago called "promotion". Your junior people are supposed to be learning things as they work, and as they gain skills and experience, they become "senior".
Yep. You're preaching to the choir on that.
Where exactly do you think these senior engineers you were looking for were coming from? Did you think they just came right out of school that way? Or did you consider that engineers who had the skills you were looking for were at other companies that allowed them to learn and be promoted, and were still working there and not looking for a new job?
Obviously you don't come out of school as a senior engineer... it takes experience, and I think everybody realizes that. That said, senior people DO leave their jobs all the time, for all sorts of reasons. And yes, it's obvious that the selection is going to get smaller the higher up the "seniority" ladder you go. That's no surprise either. What we (well, at least I) found somewhat surprising was just how few candidates came along who were what we considered qualified at the level... and the number of people who *claimed* to be senior engineers (eg, 1 or more positions listed on their resume with that - or similar - title) who obviously weren't.
Any time a senior employee is looking for a new job, that means there's something wrong. Either their company didn't want to keep him around for some reason (either something wrong with him, or the company was stupid, since you never fire your senior talent unless you're ready to fold), or he left for some reason (he was about to be fired, or wanted a change). As you can tell, most of these reasons constitute an employee you don't want; the only ones you do are the few leaving badly-run companies, or those looking for a geographic change.
I don't know that I completely agree with that. There are all sorts of reasons for people to leave companies, and I'm not sure I buy that a majority of them indicate an employee that you don't want. But then again, I'm a big believer in the "one man's trash is another man's treasure" principle...and I like sports analogies and I buy into the whole "sometimes a guy just needs a change of scenery" thing.
It sounds to me like your company is very poorly run and is probably not a very good place to work.
It wasn't a terrible place to work, but I don't work their anymore myself. Take that for what it's worth.:-)
However I don't understand how you "don't have the money to train them." Instead of hiring an 80k senior developer, hire a mid level one at 55k and voila suddenly you have 25k a YEAR to train them. Promote some of your more energetic/eager mid-level staff, and replace them with mid level or more junior people. You will probably find that they are more competent than you thought.
Yeah, I tried to sell our management on that approach, no go.
I see this short-sightedness so much in the industry it drives me nuts: YOU ARE NOT HIRING A SKILLSET, YOU ARE HIRING A PERSON, if your candidate is very smart, personable and obviously would be a good fit, well, what are you waiting for? Hire them at a senior salary level and give them a few months to pick up whatever it is that you are doing.
We developers are not little interchangeable cogs in the machine (as much as people in finance, sales and sometimes management seem to think), you can't find a candidate with exactly the skills you need, the experience you want AND out of a job too!
I totally agree. Unfortunately I wasn't the one making those decisions.
I am glad that not all companies are like yours, but it does sadden me that the vast majority are, where somebody pulls out a wishlist from the sky and unless a candidate can put a checkmark in every box they won't be given the time of day.
Fortunately it wasn't quite like that. We didn't have a checklist where you had to literally fill every box: but we did need somebody who was overall reasonably competent and had a least a reasonable subset of the specific skills we were looking for. And it turns out, people like that just weren't very common.
That said, I do criticize the company for being short-sighted in it's lack of willingness to just hire smart people and allow them to learn on the job. I advocated pretty hard for one lady to be hired like that, but management shot me down.
Yep, this is exactly what every other company wants too: someone who's already an expert in whatever little niche they're working in.
That's not quite the problem... we could have (and did, ultimately) hire somebody who wasn't an "expert in our niche." The problem was simply finding a legitimately qualified senior level engineer. That is, if you allow that a basic understanding of concurrent programming and some knowledge of networking programming are reasonable things to expect of a senior software engineer. I mean, you would not believe how many people came through who had "senior engineer" on their resumes who couldn't explain what a deadlock is or how to fix it. And a large number answered the question "How do you stop a running thread?" by saying "call Thread.stop()" which is totally wrong.
Really, our requirements were not unrealistic, IMO. And I believe that a lot of people passing themselves off as "senior" engineers do not have the skills that would generally be expected to imply.
Personally, I worked on F/OSS software during school, which gave me some solid experience to point to when it came time to interview.
And (smart) employers WILL look at and consider open-source experience. There's a story I posted earlier in this discussion about trying to hire some help when I was working for a company in Cary... while there we interviewed a young lady who had done some work on Apache Geronimo... she didn't have quite the experience we were looking for, but her experience working on Geronimo - combined with her education - caused us to spend a lot of time talking about hiring her.
I actually argued for hiring her into a junior level role, but management insisted we could only hire the senior developer spots that we were specifically trying to fill, sadly. Anyway, the point isn't that we didn't ultimately hire her, as much as it is to say that yes, companies (well, at least some of them) DO take open-source experience into account.
In the US the phrase 'lack of qualified applicants' came to mean 'lack of qualified applicants who were willing to work for what we were willing to pay.'
Maybe in some places, but that's not always the case. To illustrate with an example: Last year I was working for a small software company in Cary, NC, specializing in telecom software. We were trying to hire a couple of senior software engineers, so we put out the word to several area recruiting companies and got a deluge of resumes... and the candidates we got were largely downright laughable, at least for a senior level position. And we weren't using some esoteric language, we were a Java shop... and our requirements weren't out in the stratosphere either... we just wanted knowledgeable senior engineers who could handle concurrent programming and network programming (our product was basically a fancy proxy server).
It took forever to find one guy who was clearly qualified, and he took another position before we even had a chance to make him an offer. So yeah, we definitely experienced the situation where there was a "lack of qualified candidates" despite having plenty of candidates in general. But really sharp people who actually know what they're doing proved to be fairly scarce, at least for us.
I will say this though: some of the folks that came through were clearly very smart, but just lacked the experience we were looking for. We needed somebody that could step in and contribute right away, and we didn't have any budget for hiring junior level people and grooming them. That would have been a good thing to do, if we could have gotten the money approved. But that issue is somewhat orthogonal to the original point anyway...
Yeah, I just wanted to hedge a bit on my statement because the platform was modified in some major ways at the last LP national convention, and I haven't familiarized myself with all the changes in detail yet. I mean, I'd hate to say "Oh yeah, it's official" and then have somebody come along and go "No, we took that out at the convention," ya know?
The world is about to get really scary, I'm afraid.
How so? What's different... 1000 years ago we were born, lived a while, then died. Today we're born, live a while, then die.
The only thing I find scary is the morons trying to take away my freedom to live my life as I see fit, in the name
of protecting me.
Yes, they do change. A dollar spent on someone who providers greater value to the company has a higher ROI.
This begs the question of whether somebody necessarily provides more value, simply because they are positioned higher up in the corporate hierarchy. Maybe that view is completely wrong and managers don't actually provide *more* value, just *different* value. Heck, it's even possible that the hierarchy to value view is completely upside down on some occasions.
Thus, spending the money on the boss' office is generally a better investment than spending the money on a programming drone's office.
OTOH, you could also say that spending the money on a top-notch engineer's office is generally a better investment than spending the money on a dullard PHB's office.
Of course I read TFA... nothing in TFA changes one thing about what I said. A professional teacher should not have been reduced to yelling at a student. Intentional provocation or no, these students exposed a teacher who is clearly not qualified to be in that position.
So, a teacher does something stupid and gets caught on tape... the response of the school district?
1. Leave (probably paid) for the teacher
2. disciplinary action for the kids doing the filming
3. ban of personal electronic devices in classrooms
Uuuuh, can I be the first to say: WTF!?!!
Could this situation be *any* more backwards than what it should be? How about an appropriate response like:
1. Fire / discipline teacher
2. Public praise for the kids involved
3. No ban of anything
Offices isolate the members of what should be a reasonably social job (software development) from one another, so that's no good either. who wants to work in a rabbit warren?
It's an office, not a jail-cell. Assuming people working on related work are seated relatively near to each other (and they should be), it's not so difficult to get up and walk a few feet to speak to a co-worker. And if you give people reasonably sized offices, small meetings (2-4 people) can be held in any individual's office. Provide plenty of mid-sized to large conference rooms for when larger meetings are required.
In addition, have telephones, an IRC server, email and IM to provide additional communication channels as well; and people can work in separate offices but still communicate quite effectively.
Email and IM simply do not have the bandwidth of face-to-face communication.
No they don't, but not everybody needs to communicate with face-to-face level of bandwidth continuously throughout the day. Also, there is
still this thing called a telephone, which provides more bandwidth than e-mail and IM, and is sometimes useful when telecommuting. It might
not be reasonable to run a company based 100% on telecommuting, but to suggest that it (telecommuting) is a dumb idea in general flies in the
face of a lot of experience that suggests otherwise. It just has be be applied properly, like any other tool.
Not gonna happen, when even some developers have been brainwashed into believing that open-plan and/or cubicles are a good idea. Some developers actually tout the supposed advantage of "I can be so much more productive when I can just yell over the cube wall to ask Joe something."
Unfortunately this is a very self-centered and short-sighted view; since they are neglecting to consider the effect of the constant
distractions on **everybody else** within earshot. Between noisy conversations, "over the wall" yelling, ringing phones, speaker phone conversations
and all the other disrupting factors found in a typical office, I find it amazing that anybody could actually advocate cubicles / open-plan. <sigh>
Well said... I hope some of your suggestions come to fruition!
It is a misconception on the part of enterprise IT personnel, who use port whitelisting at the firewall to slow down information security breaches.
Yeah, so now everybody just multiplexes a bazillion different application protocols on top of HTTP / HTTPS. So they haven't actually solved any problem, they just moved it. And now they need layer 7 firewalls that can inspect the contents of the HTTP packets in order to determine
what should pass through or be denied. <sigh>
You could probably also use WeirdX: http://www.jcraft.com/weirdx for some nifty stuff. WeirdX is written in Java, so I keep thinking
it would be nice if somebody did a Java Webstart configuration for it... Just click a link, install the X-Server and
then you're on your way to that "rich client experience."
but the essence of AJAX/Web 2.0 is the ability to easily make an asynchronous call without any hacks.
Feh, AJAX *is* a hack. A huge, honking, kludgey hack to work around the fact that people are trying to make
a web-browser and HTTP do things they were never meant to do. A stateless protocol like HTTP is not
a good solution for doing remote interactive clients. And why in the blue-hell should we need
javascript on the client in order to interact with the server??
Let's quit trying to make a perfectly good web-browser into a cheap X-Server. Web browsers are GREAT at doing what they
were meant to do: browse the web. However, they suck at being a freaking X-Server, which is what everybody seems to
be trying to make the browser over into.
I mean, thank about it: what's the job of an X-Server? It's to receive data from a remote application running some logic "somewhere"
and provide the display capabilities: drawing widgets on the screen, receiving keyboard input and mouse-clicks and sending them back to the application, etc. And they happen to be really good at it. Web Browsers are NOT good at doing this. Two big problems: they don't allow convenient access to the full array of UI widgets that are needed for a client, and they communicate using a stateless protocol which hinders the interactivity between the remote app and the UI.
Solution? Use browsers for browsing and X for serving up UI's to remote applications. Use the right tool for the job, instead of trying to shoe-horn something into a role it's not meant for. I mean, can't you just picture the browser developer guys huddled around a square peg, hammering it into a round hole with a big-ass hammer, while one of them yells "hit it harder, hit it harder?"
Easy, just hire a consultant. Oh, wait...
Not to feed the trolls, but ... obviously, the idea is to allow current Microsoft Office users who already use macros written in VB to take those macros with them when they switch to OOo.
There's no troll... I'm just saying "who cares?"
Yeah, there are a few people out there who need to move Microsoft -> OOo who
might care about this; but I think it's more important that OOo support more open solutions and encourage new users to develop
their macros / scripts in something other than VBA. Sure, this might be good for short-term gratification in terms of
encouraging OOo adoption by MS users; but it seems like a step backwards in the long-term.
Who cares about VBA in OOo when you can write OOo macros in Java, Python, Perl, Beanshell, and Javascript; and probably COBOL, Prolog, Lisp and Oberon as well...
I looked at a couple of the popular ones, installed Awffull and played with it for a bit. But it wasn't immediately
obvious to me that any of the common ones supported aggregating stats across domains / hosts. Eg, I have 10 virtual servers on this
Apache box, give me a sorted list of hits per domain/host. Probably one or more of the popular open-source stats packages
*does* do this, but I didn't feel like spending hours examining different ones and installing them. Since my needs were very basic
I just wrote something of my own.
Since all my domains are ultimately served by a Java webapp running on JBoss (I redirect from Apache to JBoss with mod_jk) I just wrote a servlet filter to write hits to a postgresql database. That's it,one table with the hostname, date-time, user-agent, and a handful of other things I care about. Now, getting the info I need is a simple as a quick sql query with pgadmin III. Although I'm looking at using the Eclipse BIRT stuff for looking at the data, as my next project.
Linux would already be on a lot of desktops except for one important detail: it doesn't run Windows apps and drivers very well or at all. The inability to get round that obstacle is what has defeated every single would-be competitor over the last 11 years.
I'll allow that drivers are something of an issue, but for run of the mill destop productivity softare, not so much. For most of the basic things you use a PC for, there are perfectly functional packages available for Linux, either open-source programs which maintain a linux version, or things which are inherently cross-platform (liek Java apps).
To use myself as an example... my primary uses of my laptop are: playing music with winamp, surfing the 'net with firefox, editing documents with openoffice 2.0, writing Java code with Eclipse, running Java apps on JBoss, reading RSS feeds with RSSOwl, writing blog posts with JBlogEditor, reading email with Thunderbird, tracking my calendar with Sunbird, downloading things with Azureus, IM'ing with AIM and Yahoo IM and, er, that's about it. Now I don't claim to be a representative sample all by myself, but I bet plenty of people do pretty much those same things, or less. The oft mentioned "my grandmother" or "mom and dad" certainly fall in that catetory.
So out of that list of software, everything is either available on Linux, or has a suitable equivelant:
Winamp -> XMMS
Firefox -> Runs natively on Linux
OpenOffice 2.0 -> Runs natively on Linux
Eclipse -> Java, runs on Linux
JBoss -> Java, runs on Linux
RSSOwl -> Java, runs on Linux
JBlogEditor -> Java, runs on Linux
Thunderbird -> Runs natively on Linux
Sunbird -> Runs natively on Linux
Azureus -> Java, runs on Linux
AIM / Yahoo IM -> Gaim
For home use, I think Desktop Linux is very usable for the majority of folks. Business use, where there is often demand for a very
specific application which doesn't exist on Linux yet, is the bigger deal. But I think we're making progress even in that area.
What do Slashdot readers think about the likelihood of another go at breaking up the Windows monopoly?"
I couldn't care less. I use Linux exclusively on every box I have at home, save my laptop which dual-boots (and I expect to wipe
windows off of it soon), and on my desktop at work. I don't buy pre-built PCs from mainstream manufacturers who are forced
to include a Windows license, so I'm not paying the "Windows tax." In short, it's completely irrelevant to me.
My only concern in the whole windows vs. linux "thing" involves hardware support for Linux and that's more an issue
of manufacturers not being willing to release specs so that people can write open-source drivers.
Yes, that's why they came up with thing long ago called "promotion". Your junior people are supposed to be learning things as they work, and as they gain skills and experience, they become "senior".
:-)
Yep. You're preaching to the choir on that.
Where exactly do you think these senior engineers you were looking for were coming from? Did you think they just came right out of school that way? Or did you consider that engineers who had the skills you were looking for were at other companies that allowed them to learn and be promoted, and were still working there and not looking for a new job?
Obviously you don't come out of school as a senior engineer... it takes experience, and I think everybody realizes that. That said, senior people DO leave their jobs all the time, for all sorts of reasons. And yes, it's obvious that the selection is going to get smaller the higher up the "seniority" ladder you go. That's no surprise either. What we (well, at least I) found somewhat surprising was just how few candidates came along who were what we considered qualified at the level... and the number of people who *claimed* to be senior engineers (eg, 1 or more positions listed on their resume with that - or similar - title) who obviously weren't.
Any time a senior employee is looking for a new job, that means there's something wrong. Either their company didn't want to keep him around for some reason (either something wrong with him, or the company was stupid, since you never fire your senior talent unless you're ready to fold), or he left for some reason (he was about to be fired, or wanted a change). As you can tell, most of these reasons constitute an employee you don't want; the only ones you do are the few leaving badly-run companies, or those looking for a geographic change.
I don't know that I completely agree with that. There are all sorts of reasons for people to leave companies, and I'm not sure I buy that a majority of them indicate an employee that you don't want. But then again, I'm a big believer in the "one man's trash is another man's treasure" principle...and I like sports analogies and I buy into the whole "sometimes a guy just needs a change of scenery" thing.
It sounds to me like your company is very poorly run and is probably not a very good place to work.
It wasn't a terrible place to work, but I don't work their anymore myself. Take that for what it's worth.
However I don't understand how you "don't have the money to train them." Instead of hiring an 80k senior developer, hire a mid level one at 55k and voila suddenly you have 25k a YEAR to train them. Promote some of your more energetic/eager mid-level staff, and replace them with mid level or more junior people. You will probably find that they are more competent than you thought.
Yeah, I tried to sell our management on that approach, no go.
I see this short-sightedness so much in the industry it drives me nuts: YOU ARE NOT HIRING A SKILLSET, YOU ARE HIRING A PERSON, if your candidate is very smart, personable and obviously would be a good fit, well, what are you waiting for? Hire them at a senior salary level and give them a few months to pick up whatever it is that you are doing.
We developers are not little interchangeable cogs in the machine (as much as people in finance, sales and sometimes management seem to think), you can't find a candidate with exactly the skills you need, the experience you want AND out of a job too!
I totally agree. Unfortunately I wasn't the one making those decisions.
I am glad that not all companies are like yours, but it does sadden me that the vast majority are, where somebody pulls out a wishlist from the sky and unless a candidate can put a checkmark in every box they won't be given the time of day.
Fortunately it wasn't quite like that. We didn't have a checklist where you had to literally fill every box: but we did need somebody who was overall reasonably competent and had a least a reasonable subset of the specific skills we were looking for. And it turns out, people like that just weren't very common.
That said, I do criticize the company for being short-sighted in it's lack of willingness to just hire smart people and allow them to learn on the job. I advocated pretty hard for one lady to be hired like that, but management shot me down.
Yep, this is exactly what every other company wants too: someone who's already an expert in whatever little niche they're working in.
That's not quite the problem... we could have (and did, ultimately) hire somebody who wasn't an "expert in our niche." The problem was simply finding a legitimately qualified senior level engineer. That is, if you allow that a basic understanding of concurrent programming and some knowledge of networking programming are reasonable things to expect of a senior software engineer. I mean, you would not believe how many people came through who had "senior engineer" on their resumes who couldn't explain what a deadlock is or how to fix it. And a large number answered the question "How do you stop a running thread?" by saying "call Thread.stop()" which is totally wrong.
Really, our requirements were not unrealistic, IMO. And I believe that a lot of people passing themselves off as "senior" engineers do
not have the skills that would generally be expected to imply.
Personally, I worked on F/OSS software during school, which gave me some solid experience to point to when it came time to interview.
And (smart) employers WILL look at and consider open-source experience. There's a story I posted earlier in this discussion about trying to hire some help when I was working for a company in Cary... while there we interviewed a young lady who had done some work on Apache Geronimo... she didn't have quite the experience we were looking for, but her experience working on Geronimo - combined with her education - caused us to spend a lot of time talking about hiring her.
I actually argued for hiring her into a junior level role, but management insisted we could only hire the senior developer spots that we were specifically trying to fill, sadly. Anyway, the point isn't that we didn't ultimately hire her, as much as it is to say that yes, companies (well, at least some of them) DO take open-source experience into account.
In the US the phrase 'lack of qualified applicants' came to mean 'lack of qualified applicants who were willing to work for what we were willing to pay.'
Maybe in some places, but that's not always the case. To illustrate with an example: Last year I was working for a small software company in Cary, NC, specializing in telecom software. We were trying to hire a couple of senior software engineers, so we put out the word to several area recruiting companies and got a deluge of resumes... and the candidates we got were largely downright laughable, at least for a senior level position. And we weren't using some esoteric language, we were a Java shop... and our requirements weren't out in the stratosphere either... we just wanted knowledgeable senior engineers who could handle concurrent programming and network programming (our product was basically a fancy proxy server).
It took forever to find one guy who was clearly qualified, and he took another position before we even had a chance to make him an offer. So yeah, we definitely experienced the situation where there was a "lack of qualified candidates" despite having plenty of candidates in general. But really sharp people who actually know what they're doing proved to be fairly scarce, at least for us.
I will say this though: some of the folks that came through were clearly very smart, but just lacked the experience we were looking for. We needed somebody that could step in and contribute right away, and we didn't have any budget for hiring junior level people and grooming them. That would
have been a good thing to do, if we could have gotten the money approved. But that issue is somewhat orthogonal to the original point anyway...
Yeah, I just wanted to hedge a bit on my statement because the platform was modified in some major ways at the last LP national convention, and I haven't familiarized myself with all the changes in detail yet. I mean, I'd hate to say "Oh yeah, it's official" and then have somebody come along and go "No, we took that out at the convention," ya know?