Follow the money. Industry wants this badly. Why? Supply and demand for jobs. With the current demand for workers and limited supply, wages stay up. Increase the supply of workers and the wages go down.
In other words, more women in sciences and engineering means less money for you, me, and her, but more money for big business.
I'm saying you should drop the god complex and admit that you can't read people's minds.
Further, I'm also saying that no one who both survived through a computer science degree from a decent school and then spent 5 years gainfully employed as a software developer for multiple companies is "shitty".
It is far more likely that interviewer and the candidate, both being engineers who are almost by definition NOT people-oriented, are unable to communicate properly. The candidate is unable to properly communicate their experience. And the interviewer is unable to properly read that experience.
As for how we should be doing interviews, I do have some ideas there. However, that is beyond the point I was making.
Many Americans (particularly Republicans and Libertarians) are fans of the "free market" (as in pretty much 100% unrestricted and unregulated)
The "free" market is not "100% unrestricted and unregulated". No, "free" market trade deals are chock full of protectionism in the form of copyright, intellectual property, and patent provisions. However, since those protections favor big business, they are considered good, while protections that favor workers are considered bad. The increasingly conservative media, owned and operated by big business, purposefully confuse the issue by never bringing up these facts.
These "free" market trade deals are not free at all and should just be called trade deals.
If an engineer (given a hint or two) could not make a half-decent attempt at solving a novel problem, it was a sign that they were not a good fit for the work that our team had to do.
And how often are you solving novel problems on the time constraint of 30 minutes, with the pressure of your job at stake, without tools, without resources, and without a well-thought design? You're talking about a completely contrived situation that is not likely to occur in the actual job. Any code produced from situations like that should be complete crap. And you want to judge someone's entire career and future with your company based on that?
Further, you want novel problem solvers, but in positions where they're unlikely to do novel work. Software engineers work mostly with already-existing technology. They're configuring and testing new functionality, using processes and systems already established. They're maintaining and documenting all the code they run into. They work hard to follow proper software standards. A truly novel-thinking engineer would be completely bored and/or frustrated in a regular software engineering role.
There is very little novel about the standard software engineering role. Requiring your interview candidates to solve novel problems is testing them on one, tiny facet of the job. It tells you almost nothing about how they'll perform as an actual engineer, which generally does not require novel thinking.
Almost all the interview questions revolve around CS 101 type stuff. Crack open your old books and review your notes. Yes, that tells the interviewer nothing about your last few years of experience, but evidently that's the way they prefer it.
And for the record, there are plenty of companies out there who ask for perfect syntax on these sample problems. Two of my last interviews asked for that level of detail.
Anyone implementing linked lists in Java should be fired. You are wasting time and energy on a problem that is already supported by the platform in multiple ways. And, you are making more work for people in the future who are going to be supporting your code. Further, you are also potentially adding bugs.
The idea that you can "see how their mind thinks" is a load of crap. Engineers are too used to dealing with machines. They are the absolute worst when it comes to interacting with other people, even though they often think otherwise, like you. The concept that you can read the lifetime of someone's development experience in a 5-minute exercise is completely ludicrous. Psychologists are far better at reading peoples' minds than you and they can't do it that fast, especially for the level of accuracy you seem to claim.
That is certainly one reason why there are so many "shitty engineers" out there despite the fact that these engineers have had jobs giving them years of experience, and yet each company out there hires the "best and the brightest".
Re:I've already done my share of "code samples," t
on
How To Show Code Samples?
·
· Score: 2, Informative
In my recent job search, I had two companies ask me to do 4-6 hour coding exercises.
In the first case, I went to town creating fully-commented, production-quality code complete with automated tests. It was more than they asked for. In that case, it didn't matter, I was turned down for the job. The solution was so damn good that I think they thought I copied it from the web, even though I had not.
In the second case, I produced code that looked more like a proof-of-concept. It worked and matched what they were asking for. But, it wasn't properly documented, wasn't production-quality, and didn't include the automated tests. It was clearly my own creation, but I again was turned down for the job. They said my code wasn't good enough.
So, apparently there isn't a happy medium. If you solve the problem to their required level, then they think your code is shit. Actually go all out and give them more than what they ask for and they think you've copied it.
Either way, I put in over 10 hours and got absolutely nothing from it. I agree that if a company asks you to do a programming exercise on your own time, then add them to your 'lame' filter and walk away.
If all you do is code year in and year out for 40+ hours a week at work and several extra hours each night at home, then at some point you will break down. It's just a matter of when. You can't live a real life when you are that busy. And yes, living a real life does become important at some point in all of our lives.
Hiring people that eventually burn out is certainly not good for your business.
There is a reason people talk about work/life balance: it is extremely important for longevity in this field.
Are you still in college? Seriously, that strikes me as a question asked by someone who never actually worked as a developer. The test problems they ask are both trivial and repeated from candidate to candidate. Any responses are likely useless on a commercial basis.
Writing code on a whiteboard under the pressure and limited time constraints of an interview, without tools, without resources, and without a well-thought design is the opposite of how good developers actually develop code.
You're not weeding out candidates who "exaggerate" about their skills. You're removing the engineers who haven't recently seen the problem you're asking.
Further, with all the various knowledge of technology required to do software engineering from SQL to ORM to business code to frameworks to front-end code to test code to documentation to design and architecture, having your main requirement be the ability to implement a single algorithm from CS 101 is stupid. Coming up with a new algorithm is a miniscule part of an engineering position. If you're weeding out candidates because of that, then you're the moron.
On top of that, the in-interview tests are typically problems that are unrelated to the majority of the work out there. If the job is server-side Java, there is no point to asking the candidate to manually reorder Strings, implement a linked-list, or twiddle bits. If the candidate actually did any of that on the job or any of their previous jobs, they would or should have been fired. Java has sufficient mechanisms for all of those built into the platform. So, the last time the candidate encountered any of that was either in school or in their last interview. If an interviewer turns down someone because the interviewer asks the one question the candidate hasn't heard or thought in 10 years, then the candidate is not the stupid one.
What would asking those questions tell the interviewer anyway? Almost nothing. The strength of the engineer's ability to create an algorithm does not indicate their ability to do the job. Why? Because creating algorithms is a miniscule part of the job with all the other technologies currently being used.
Take the server-side Java example. An engineer needs to know how to put together a SQL script, Hibernate XML, Java business class, JUnit test, Struts entry, and JSP page with JSTL code. Add to that the ability to document in Word and Visio. Add to that the ability to create high-level architecture. The interview question to implement quicksort has no bearing on the job, particularly when that solution can be looked up in less than a minute anyway.
Yes, and you're still on the German Google, with German results, only it's printed in English. That is not the same as getting the US Google website.
Further that was an example of a single website. The fact that I have to learn how to change the settings for every website I visit is a pain in the ass. Making those changes instead of my preferred settings is another pain in the ass.
Uh, going to http://google.com/ from a foreign country takes you to that country's google website, typically not in English.
And yes, there is a setting for displaying English. However, you still get listings for that country, in their language, rather than the US listings, in English, which is what I really wanted.
Even so, the question I was answering comes down to: when does geographical information make browsing a pain in the ass? The fact that I have to know the settings for Google and every website that I visit to get the results I want is a pain in the ass. It's a further pain to apply those settings instead of my preferred settings (clearing the browser of cookies upon close). And the fact that applying those settings still don't give me the results I expect is a further pain in the ass.
I'd much rather prefer to have one global geographical setting which I could set.
I was in Mexico recently. Whenever I visited Google, I'd get the Mexican Google site. Getting the USA Google website was virtually impossible. As soon as I changed the URL, it'd just forward me back to the Mexican Google site.
Yahoo exhibited the exact same behavior. Same thing happened with a bunch of other websites. It was really damn annoying. As an American living in the US, I was never aware of this behavior because I never previously ran into it.
Hulu was particularly bad because they only display video for "US" IPs. This guy is legitimately living in the US, but with his IP coming up as Canada, he wouldn't be able to access that website.
The reason why there are so many H1-B visas is because America does not let anything else in... per capita there is very little immigration to America.
Interesting you use per-capita statistics. When you look at the totals, your argument falls apart. The US allows in more immigrants than the rest of the world combined. That may not be as much per capita as Australia or Canada, but that's still a hell of a lot of people.
You have an international corporation that simply wants the work done and are truly indifferent to where it is done... There are good reasons to do work in the US.
Inconsistent much?
If there are good reasons to do work in the US, as you say, then these companies are not indifferent to where the work is done.
Going through the years of effort to manipulate politicians into changing the law is a hell of a lot harder and more time consuming than immediately packing up and moving overseas. I'd say these companies have considerable reasons to stay here, which blows to hell your idea that these companies don't care.
I've been an IT manager at several companies and I find that a degree is unnecessary; good management skills are necessary.
IF you have 20 years of IT experience then yes, that's true if you're lucky, work hard, keep your nose clean, and communicate well. It's a hell of a lot easier to gain that position with an MBA. The reason that degree is so valuable and is so highly sought-after is that it means you've been taught good, if not great, management skills.
I don't see this as greed or laziness at all. First off, this report starts off talking about grade school students. Yeah, our grade schools suck. But, our colleges and universities are ranked higher than any other nation. 18 of the top 20 universities in the world are in the US. That is why, as other people have pointed out, great scientists from other countries just "show up" in the US. They come here for the best education possible and then stay here after graduation.
What I see is that there are too few jobs for math and science graduates. That means wages are shit. On top of that, you have business constantly lying about the state of the job market, which encourages more students into math and science, which makes wages decline even further. THAT is what is going on in the market today.
Exactly. When are the Boy Scouts of America going to sue the Business Software Alliance for trademark infringement over the use of "BSA"? The Boy Scouts of America have been around since 1910. The Business Software Alliance has been around since what, the mid-1990's? Talk about a hypocritical and clear-cut case of trademark infringement.
First, a PhD will enter a company at a much higher level than someone with a BS, and generally will have far more advancement opportunities than someone with a BS.
Most companies are not looking for PhDs. So, if you find a company that you want to work for and their only requirement is a bachelor's, they're not going to pay more just because you have an advanced degree. You'll come in at the level of the posted position for the amount of the posted position, depending on experience. Considering you have no real-world experience, you're not going to be making more than the engineer with the bachelor's degree who earned nine years of experience while you were in school. In fact, the company may see your zero years of experience, consider you underqualified, and not hire you at all. Or, you may run into a company that actually values your PhD and they'll consider you overqualified for anything less than research - and heaven forbid you actually want to do something other than research.
Either way, getting a PhD in engineering these days is just plain stupid. You give up years of earnings while spending a small fortune for a degree in a field where every employer wants to give your position to a foreigner, either here or overseas. You don't necessarily get to do what you want to do any more than if you had only the bachelor's. And if you enter technology, you're still considered old and over the hill at 50, far before you make up the opportunity cost and monetary loss for those degrees.
Why do we want women in sciences and engineering?
Follow the money. Industry wants this badly. Why? Supply and demand for jobs. With the current demand for workers and limited supply, wages stay up. Increase the supply of workers and the wages go down.
In other words, more women in sciences and engineering means less money for you, me, and her, but more money for big business.
I'm saying you should drop the god complex and admit that you can't read people's minds.
Further, I'm also saying that no one who both survived through a computer science degree from a decent school and then spent 5 years gainfully employed as a software developer for multiple companies is "shitty".
It is far more likely that interviewer and the candidate, both being engineers who are almost by definition NOT people-oriented, are unable to communicate properly. The candidate is unable to properly communicate their experience. And the interviewer is unable to properly read that experience.
As for how we should be doing interviews, I do have some ideas there. However, that is beyond the point I was making.
Many Americans (particularly Republicans and Libertarians) are fans of the "free market" (as in pretty much 100% unrestricted and unregulated)
The "free" market is not "100% unrestricted and unregulated". No, "free" market trade deals are chock full of protectionism in the form of copyright, intellectual property, and patent provisions. However, since those protections favor big business, they are considered good, while protections that favor workers are considered bad. The increasingly conservative media, owned and operated by big business, purposefully confuse the issue by never bringing up these facts.
These "free" market trade deals are not free at all and should just be called trade deals.
If an engineer (given a hint or two) could not make a half-decent attempt at solving a novel problem, it was a sign that they were not a good fit for the work that our team had to do.
And how often are you solving novel problems on the time constraint of 30 minutes, with the pressure of your job at stake, without tools, without resources, and without a well-thought design? You're talking about a completely contrived situation that is not likely to occur in the actual job. Any code produced from situations like that should be complete crap. And you want to judge someone's entire career and future with your company based on that?
Further, you want novel problem solvers, but in positions where they're unlikely to do novel work. Software engineers work mostly with already-existing technology. They're configuring and testing new functionality, using processes and systems already established. They're maintaining and documenting all the code they run into. They work hard to follow proper software standards. A truly novel-thinking engineer would be completely bored and/or frustrated in a regular software engineering role.
There is very little novel about the standard software engineering role. Requiring your interview candidates to solve novel problems is testing them on one, tiny facet of the job. It tells you almost nothing about how they'll perform as an actual engineer, which generally does not require novel thinking.
Almost all the interview questions revolve around CS 101 type stuff. Crack open your old books and review your notes. Yes, that tells the interviewer nothing about your last few years of experience, but evidently that's the way they prefer it.
And for the record, there are plenty of companies out there who ask for perfect syntax on these sample problems. Two of my last interviews asked for that level of detail.
Yes, because obviously they don't discriminate where you are from...
Anyone implementing linked lists in Java should be fired. You are wasting time and energy on a problem that is already supported by the platform in multiple ways. And, you are making more work for people in the future who are going to be supporting your code. Further, you are also potentially adding bugs.
The idea that you can "see how their mind thinks" is a load of crap. Engineers are too used to dealing with machines. They are the absolute worst when it comes to interacting with other people, even though they often think otherwise, like you. The concept that you can read the lifetime of someone's development experience in a 5-minute exercise is completely ludicrous. Psychologists are far better at reading peoples' minds than you and they can't do it that fast, especially for the level of accuracy you seem to claim.
That is certainly one reason why there are so many "shitty engineers" out there despite the fact that these engineers have had jobs giving them years of experience, and yet each company out there hires the "best and the brightest".
In my recent job search, I had two companies ask me to do 4-6 hour coding exercises.
In the first case, I went to town creating fully-commented, production-quality code complete with automated tests. It was more than they asked for. In that case, it didn't matter, I was turned down for the job. The solution was so damn good that I think they thought I copied it from the web, even though I had not.
In the second case, I produced code that looked more like a proof-of-concept. It worked and matched what they were asking for. But, it wasn't properly documented, wasn't production-quality, and didn't include the automated tests. It was clearly my own creation, but I again was turned down for the job. They said my code wasn't good enough.
So, apparently there isn't a happy medium. If you solve the problem to their required level, then they think your code is shit. Actually go all out and give them more than what they ask for and they think you've copied it.
Either way, I put in over 10 hours and got absolutely nothing from it. I agree that if a company asks you to do a programming exercise on your own time, then add them to your 'lame' filter and walk away.
"Exploring your craft outside of work" == burnout
If all you do is code year in and year out for 40+ hours a week at work and several extra hours each night at home, then at some point you will break down. It's just a matter of when. You can't live a real life when you are that busy. And yes, living a real life does become important at some point in all of our lives.
Hiring people that eventually burn out is certainly not good for your business.
There is a reason people talk about work/life balance: it is extremely important for longevity in this field.
Are you still in college? Seriously, that strikes me as a question asked by someone who never actually worked as a developer. The test problems they ask are both trivial and repeated from candidate to candidate. Any responses are likely useless on a commercial basis.
Writing code on a whiteboard under the pressure and limited time constraints of an interview, without tools, without resources, and without a well-thought design is the opposite of how good developers actually develop code.
You're not weeding out candidates who "exaggerate" about their skills. You're removing the engineers who haven't recently seen the problem you're asking.
Further, with all the various knowledge of technology required to do software engineering from SQL to ORM to business code to frameworks to front-end code to test code to documentation to design and architecture, having your main requirement be the ability to implement a single algorithm from CS 101 is stupid. Coming up with a new algorithm is a miniscule part of an engineering position. If you're weeding out candidates because of that, then you're the moron.
On top of that, the in-interview tests are typically problems that are unrelated to the majority of the work out there. If the job is server-side Java, there is no point to asking the candidate to manually reorder Strings, implement a linked-list, or twiddle bits. If the candidate actually did any of that on the job or any of their previous jobs, they would or should have been fired. Java has sufficient mechanisms for all of those built into the platform. So, the last time the candidate encountered any of that was either in school or in their last interview. If an interviewer turns down someone because the interviewer asks the one question the candidate hasn't heard or thought in 10 years, then the candidate is not the stupid one.
What would asking those questions tell the interviewer anyway? Almost nothing. The strength of the engineer's ability to create an algorithm does not indicate their ability to do the job. Why? Because creating algorithms is a miniscule part of the job with all the other technologies currently being used.
Take the server-side Java example. An engineer needs to know how to put together a SQL script, Hibernate XML, Java business class, JUnit test, Struts entry, and JSP page with JSTL code. Add to that the ability to document in Word and Visio. Add to that the ability to create high-level architecture. The interview question to implement quicksort has no bearing on the job, particularly when that solution can be looked up in less than a minute anyway.
I hate it when people like you don't even bother to read the thread before posting.
Again, the Google example is an example of one website. Other websites may not be so flexible.
Further, even if those other sites are that flexible, it's a pain in the ass to figure out how to change the settings for all of them.
Further still, that means I have to change my browser settings from clearing my cookies on close - yet another pain in the ass.
The fact that I can get around all of these nuisances does not change the fact that they are a nuisance in the first place.
Yes, and you're still on the German Google, with German results, only it's printed in English. That is not the same as getting the US Google website.
Further that was an example of a single website. The fact that I have to learn how to change the settings for every website I visit is a pain in the ass. Making those changes instead of my preferred settings is another pain in the ass.
Uh, going to http://google.com/ from a foreign country takes you to that country's google website, typically not in English.
And yes, there is a setting for displaying English. However, you still get listings for that country, in their language, rather than the US listings, in English, which is what I really wanted.
Even so, the question I was answering comes down to: when does geographical information make browsing a pain in the ass? The fact that I have to know the settings for Google and every website that I visit to get the results I want is a pain in the ass. It's a further pain to apply those settings instead of my preferred settings (clearing the browser of cookies upon close). And the fact that applying those settings still don't give me the results I expect is a further pain in the ass.
I'd much rather prefer to have one global geographical setting which I could set.
I was in Mexico recently. Whenever I visited Google, I'd get the Mexican Google site. Getting the USA Google website was virtually impossible. As soon as I changed the URL, it'd just forward me back to the Mexican Google site.
Yahoo exhibited the exact same behavior. Same thing happened with a bunch of other websites. It was really damn annoying. As an American living in the US, I was never aware of this behavior because I never previously ran into it.
Hulu was particularly bad because they only display video for "US" IPs. This guy is legitimately living in the US, but with his IP coming up as Canada, he wouldn't be able to access that website.
The reason why there are so many H1-B visas is because America does not let anything else in... per capita there is very little immigration to America.
Interesting you use per-capita statistics. When you look at the totals, your argument falls apart. The US allows in more immigrants than the rest of the world combined. That may not be as much per capita as Australia or Canada, but that's still a hell of a lot of people.
You have an international corporation that simply wants the work done and are truly indifferent to where it is done... There are good reasons to do work in the US.
Inconsistent much?
If there are good reasons to do work in the US, as you say, then these companies are not indifferent to where the work is done.
Going through the years of effort to manipulate politicians into changing the law is a hell of a lot harder and more time consuming than immediately packing up and moving overseas. I'd say these companies have considerable reasons to stay here, which blows to hell your idea that these companies don't care.
I've been an IT manager at several companies and I find that a degree is unnecessary; good management skills are necessary.
IF you have 20 years of IT experience then yes, that's true if you're lucky, work hard, keep your nose clean, and communicate well. It's a hell of a lot easier to gain that position with an MBA. The reason that degree is so valuable and is so highly sought-after is that it means you've been taught good, if not great, management skills.
I don't see this as greed or laziness at all. First off, this report starts off talking about grade school students. Yeah, our grade schools suck. But, our colleges and universities are ranked higher than any other nation. 18 of the top 20 universities in the world are in the US. That is why, as other people have pointed out, great scientists from other countries just "show up" in the US. They come here for the best education possible and then stay here after graduation.
What I see is that there are too few jobs for math and science graduates. That means wages are shit. On top of that, you have business constantly lying about the state of the job market, which encourages more students into math and science, which makes wages decline even further. THAT is what is going on in the market today.
Exactly. When are the Boy Scouts of America going to sue the Business Software Alliance for trademark infringement over the use of "BSA"? The Boy Scouts of America have been around since 1910. The Business Software Alliance has been around since what, the mid-1990's? Talk about a hypocritical and clear-cut case of trademark infringement.
First, a PhD will enter a company at a much higher level than someone with a BS, and generally will have far more advancement opportunities than someone with a BS.
Most companies are not looking for PhDs. So, if you find a company that you want to work for and their only requirement is a bachelor's, they're not going to pay more just because you have an advanced degree. You'll come in at the level of the posted position for the amount of the posted position, depending on experience. Considering you have no real-world experience, you're not going to be making more than the engineer with the bachelor's degree who earned nine years of experience while you were in school. In fact, the company may see your zero years of experience, consider you underqualified, and not hire you at all. Or, you may run into a company that actually values your PhD and they'll consider you overqualified for anything less than research - and heaven forbid you actually want to do something other than research.
Either way, getting a PhD in engineering these days is just plain stupid. You give up years of earnings while spending a small fortune for a degree in a field where every employer wants to give your position to a foreigner, either here or overseas. You don't necessarily get to do what you want to do any more than if you had only the bachelor's. And if you enter technology, you're still considered old and over the hill at 50, far before you make up the opportunity cost and monetary loss for those degrees.