Doesn't have to be a CMS. What I'm looking for is some limited experience in taking that theory/knowledge and creating something of usefulness. If you look at what I just typed, you'll realize that I'm looking for someone that can show practical application of knowledge.
If you have experience in PL/SQL and can't sit in front of a SQL Server management studio session with help files and internet and muddle your way through some SELECT statements, I don't want you. Someone who understands OO programming languages should be able to take the help files and be writing beginner level code within a few hours in a completely new language. That's what separates a knowledge worker from a replaceable cog.
Wrong. Your CS degree should include a project where you design a relational database that models a common business structure like a CMS or Invoicing system. You should write all the database code to generate the tables and access/modify the data. Then you should write a UI, web, desktop, whatever that accesses it in a useful way.
Pick any language, database, ui stack you want. We in the business world don't give a crap. But if you want to be a business developer and you can't do this, you are of no use to us.
That's been my experience. People who can't code... they can't code at all, even the simple things.
I used to ask people to write their own function to take a string input and print it back in reverse. Simple array and decrementing loop. Like you, I found that the majority of new grads couldn't do it. I have no idea what they're teaching these days, but it isn't anything of business value.
You do realize that in a business in any of the major sectors like insurance, finance, etc nearly EVERY piece of code a developer will write interacts with data in some way? Data is going to be exposed through a webservice (xml), or a database (SQL variant). I tossed in CSS/HTML as an example because it's a skill gap I've encountered. I am flat out shocked that someone who is serious about development and finished a degree has never built a webpage.
Specific technologies that change over time? Really? Relational databases models have been around since 1969! Not only are most relevant businesses running them, most of your major software packages have relational databases running in the back end. And yes, SQL is pretty easy to pick up, that is why it shocks me in a 136 hour undergrad degree they can't take a 3 credit hour course on writing standard SQL.
For the record, I develop my employees quite well. We have a training budget, I send everyone to classes in technologies that provide value to the business. What I refuse to do is bring in some college grad with a chip on their shoulder who demands $50k salary and can't do anything of value. I will not spend 6 months salary + training + taxes to see if they can learn SQL and C#. If you want a job with me as an entry level developer, show some initiative: take your ass over to Amazon.com, order a C# and a SQL book, and build some sample projects at home. Then when you come in to interview and I give you a open help files open internet development test you can pass it.
To come in and say hey I have a degree, pay 10s of thousands to make me useful is not going to cut it with me or with most employers. I don't care about your degree, nor do I require one. I want employees that are motivated, passionate, and can actually do something.
It's a failure of education. Look at your average IT training catalog for certifications. You want to learn SQL? You can take 1-2 classes, 10 days of training, and you will have some knowledge and skills that are useful for a business. Doesn't it piss you off that in 136 credit hours and tens of thousands of dollars in loans that your university couldn't find the time to teach you a database language that is nearly ubiquitous in business?
I recently hired a new grad who came into the interview with a sample website tied to a simple sql backend she had created. She walked me through the source code and spoke intelligently about the design and areas that she had trouble with and how she solved them. I pointed out places where alternative methods would have been better and she quickly grasped my concepts and spoke intelligently about them. She had no "real job experience" but she showed a knowledge and passion for the craft.
She's Chinese. I have never once, in 12 years in IT had an American do something like this.
You are correct. Degree or not if you can walk into an interview and show fundamental knowledge of the skills required and a passion for the craft you're likely to get hired. Even people with degrees quite often fail because in IT, particularly in development there are demands for a high amount of logical reasoning and meticulousness which can't really be taught in a university. I have not hired and fired many an IT worker for lack of common sense, carelessness, and inability to follow written instructions.
I tossed CSS and web services in there because the whole web developer thing tends to be hot right now. Just an example.
Relational databases are nearly ubiquitous today though. I strongly feel there's no excuse for any college grad not to be versed in at least rudimentary SQL and relational structure of some kind.
It's cool that you give them the data. I like to make sure people can read documentation and apply it. Parsing a flat file is one of the most basic things you can do in most languages, and is generally straightforward and well documented. If they can't figure out how to do it with help files, I know I have a hopeless case.:)
The point I was making up above that people are glossing over is that my coding exercises are open help files. I also do have a basic SQL query writing test I give experienced candidates because we are a small shop and like most small shops we have a jack of all trades need for our candidates. Both of these tests have a development IDE and a database IDE on the machine, with help files and internet.
What that means to me is that even if the candidate lacks specific domain experience, if given a few hours on an exercise with these resources they should be able to use their vaunted theoretical collegiate skills to figure out how to complete the task. Unfortunately the vast majority can not.
So explain to me, if after 4 years of "study", given technical documentation and a beginner level exercise (experienced people can solve my test in under 15 minutes) and you can't figure a solution out in less than 3 hours... why should I spend any time on you? Any candidate without domain experience, reading the job description and spending a weekend reading even a.."for dummies" book should be able to easily pass this test. They are all aware before interviewing that there is a test. That they come unprepared tells me a lot about the candidate and that they can't figure stuff out given real job resources tells me even more.
The colleges are mostly to blame for not requiring real world exercises in school since theory is worthless without application. The students are also to blame because most of them seem to be too dumb to realize that they should spend some personal time actually writing code on their own if they expect someone to hire them to write code.
I am a development director for a business. It is astonishing to me how ill prepared new grads are.
Most do not know SQL, most have never used a webservice, CSS, or any number if common relevant skills.
I give a coding test to candidates. It involves a solution that requires a dictionary class and about 15 lines of code to loop through a flat file. It is open help files. 80% of new grads fail it. It is easier than most classroom assignments I had coming up.
You can't teach iron ore to be gold.
In most fields, as long as the person has a reasonable level of intelligence, some reading comprehension, and a true passion for the subject they will do well regardless of academic background.
Lots of people think they're good, but they're not. You'd be shocked (or not) at how many people fail the fizzbuzz coding exercise.
My general interview process is a brief verbal over their resume and some light tech questions, then you get a laptop with a dev environment and help files. You write a few coding exercises, stuff that would take a "good" coder probably 5-10 minutes.
My most recent hire was fresh out of college, he nailed it. I've had dozens of people claiming 5+ years experience that can't even finish it.
In any career you're going to be a lot like high school: You have your top 10%, your 10-25% that can bumble along, and then the other 75% who you wouldn't trust anything of value to.
It's what you see in fields of all sorts. There's your top 1%, top 10%, top 25% and then all the people that need to fill the seats but if actually had to compete in a limited market would be gone.
And after you modify your source version of the code, congratulations, upgrading to the next version is at best case going to require careful thought and planning, and at worst case a lot of time and effort on your part.
The danger of customizing your open source product is the same danger that companies face modifying products like SAP. Once you go so far down that path, upgrading is prohibitivly risky and costly.
I can't comment on air because I do MS development, but the goal behind silverlight is to bring a rich content experience to the browser. It seems to be succeeding too. Check out the jumper (movie) silverlight application on the microsoft website.
The real point is that mixing flash, javascript, etc isn't the easiest thing in the world to do what with all the quirks between different browsers and how they handle scripting. Silverlight is like a 1.8mb plugin that allows you to develop all your stuff in.NET and it does the legwork of standardizing the code across supported browsers so that you can spend time focusing on the important stuff.
I've been running Vista Ultimate on my laptop since December. Being a developer, I run a local instance of SQL Server, various development IDEs, and I am an avid gamer. Just two weeks ago I attended a coworker's LAN party and decided to bring my laptop (it's a pretty beefy alienware). I had absolutely no problems playing the following games:
Counter-Strike Far Cry Battlefield 1942 Warcraft 3
If you are running Vista and have a problem running a game, try going into the executables properties and first try to run it as administrator, if that doesn't work run in it compatibility mode. Battlefield was the only game on that list that required me to do this.
Also, FYI, I achieved framerates in these games of around 60fps, which while isn't a number a graphics afficiando would brag on, it's more than sufficient to have a smooth gaming experience.
If me or a family member takes my computer to you to be serviced, you're going to act like AOL or Real Player and try to install a bunch of crap I didn't ask for and hijack the applications that I'm accustomed to using. I don't know about others, but I certainly wouldn't go to this sort of technician. I think the pompus ass comment above would pretty much cover my feelings if someone came to me and showed me this was done.
Also you have to think about liability. If you go installing crap that _you_ think is better without the customer understanding or knowing and then god forbid a huge bug is found in firefox and their computer is breached, guess what? You're probably liable.
Um... how is it that huge nations (and India is much bigger than the US) can be run democratically, but a firm with only a fraction of the size of the nation's population on its workforce could not run democratically?
Insightful?
Um, that's because the US and India are not democracies as is described. You vote for representatives so that there ends up being a subset of people making decisions. These representatives usually join committees based on specialties and the other members of their party tend to take their findings at face value to make the process more efficient.
Co-ops often let all the members vote on some issues, but they also tend to elect a board that makes day to day decisions and only bring the really important stuff to the whole group.
"Is anyone really going to notice a 6 hour per year or 0.07% difference in uptime?"
Maybe not in your particular industry. But banking/financial trading/infrastructure/military etc etc etc would be concerned and notice even slivers of downtime.
As long as it is thematic and unobtrusive I really wouldn't mind. Like for example in games where there is "zoning". You're already showing me a splash screen that is a still shot and boring, go ahead and zap a quick ad through there... at least it will give me something else to stare at for 10-20 seconds.
Thematic is fine as well, if it's city of heroes or something and there's a soda machine, why not let pepsi or coke put their logos on it? Why can't an in-game gas station be a Sunoco?
Big company software "sucks" as he puts it because to exist in the mass market like MS, Apple, AOL, etc you have to create software that has the potential to be all things to all people. Or at least get as close to that as possible. This increases complexity, complexity increases the number of flaws.
Kind of a "Duh" statement. It's simply not economical though for everyone to sit around custom building and tweaking their software.
I would tend to agree. Much of working with computers is a mix of science/logic and craftsmanship. The craftsmanship part comes from passion.
Doesn't have to be a CMS. What I'm looking for is some limited experience in taking that theory/knowledge and creating something of usefulness. If you look at what I just typed, you'll realize that I'm looking for someone that can show practical application of knowledge.
If you have experience in PL/SQL and can't sit in front of a SQL Server management studio session with help files and internet and muddle your way through some SELECT statements, I don't want you. Someone who understands OO programming languages should be able to take the help files and be writing beginner level code within a few hours in a completely new language. That's what separates a knowledge worker from a replaceable cog.
Wrong. Your CS degree should include a project where you design a relational database that models a common business structure like a CMS or Invoicing system. You should write all the database code to generate the tables and access/modify the data. Then you should write a UI, web, desktop, whatever that accesses it in a useful way.
Pick any language, database, ui stack you want. We in the business world don't give a crap. But if you want to be a business developer and you can't do this, you are of no use to us.
That's been my experience. People who can't code... they can't code at all, even the simple things.
I used to ask people to write their own function to take a string input and print it back in reverse. Simple array and decrementing loop. Like you, I found that the majority of new grads couldn't do it. I have no idea what they're teaching these days, but it isn't anything of business value.
You do realize that in a business in any of the major sectors like insurance, finance, etc nearly EVERY piece of code a developer will write interacts with data in some way? Data is going to be exposed through a webservice (xml), or a database (SQL variant). I tossed in CSS/HTML as an example because it's a skill gap I've encountered. I am flat out shocked that someone who is serious about development and finished a degree has never built a webpage.
Specific technologies that change over time? Really? Relational databases models have been around since 1969! Not only are most relevant businesses running them, most of your major software packages have relational databases running in the back end. And yes, SQL is pretty easy to pick up, that is why it shocks me in a 136 hour undergrad degree they can't take a 3 credit hour course on writing standard SQL.
For the record, I develop my employees quite well. We have a training budget, I send everyone to classes in technologies that provide value to the business. What I refuse to do is bring in some college grad with a chip on their shoulder who demands $50k salary and can't do anything of value. I will not spend 6 months salary + training + taxes to see if they can learn SQL and C#. If you want a job with me as an entry level developer, show some initiative: take your ass over to Amazon.com, order a C# and a SQL book, and build some sample projects at home. Then when you come in to interview and I give you a open help files open internet development test you can pass it.
To come in and say hey I have a degree, pay 10s of thousands to make me useful is not going to cut it with me or with most employers. I don't care about your degree, nor do I require one. I want employees that are motivated, passionate, and can actually do something.
It's a failure of education. Look at your average IT training catalog for certifications. You want to learn SQL? You can take 1-2 classes, 10 days of training, and you will have some knowledge and skills that are useful for a business. Doesn't it piss you off that in 136 credit hours and tens of thousands of dollars in loans that your university couldn't find the time to teach you a database language that is nearly ubiquitous in business?
I recently hired a new grad who came into the interview with a sample website tied to a simple sql backend she had created. She walked me through the source code and spoke intelligently about the design and areas that she had trouble with and how she solved them. I pointed out places where alternative methods would have been better and she quickly grasped my concepts and spoke intelligently about them. She had no "real job experience" but she showed a knowledge and passion for the craft.
She's Chinese. I have never once, in 12 years in IT had an American do something like this.
You are correct. Degree or not if you can walk into an interview and show fundamental knowledge of the skills required and a passion for the craft you're likely to get hired. Even people with degrees quite often fail because in IT, particularly in development there are demands for a high amount of logical reasoning and meticulousness which can't really be taught in a university. I have not hired and fired many an IT worker for lack of common sense, carelessness, and inability to follow written instructions.
I tossed CSS and web services in there because the whole web developer thing tends to be hot right now. Just an example.
:)
Relational databases are nearly ubiquitous today though. I strongly feel there's no excuse for any college grad not to be versed in at least rudimentary SQL and relational structure of some kind.
It's cool that you give them the data. I like to make sure people can read documentation and apply it. Parsing a flat file is one of the most basic things you can do in most languages, and is generally straightforward and well documented. If they can't figure out how to do it with help files, I know I have a hopeless case.
The point I was making up above that people are glossing over is that my coding exercises are open help files. I also do have a basic SQL query writing test I give experienced candidates because we are a small shop and like most small shops we have a jack of all trades need for our candidates. Both of these tests have a development IDE and a database IDE on the machine, with help files and internet.
.."for dummies" book should be able to easily pass this test. They are all aware before interviewing that there is a test. That they come unprepared tells me a lot about the candidate and that they can't figure stuff out given real job resources tells me even more.
What that means to me is that even if the candidate lacks specific domain experience, if given a few hours on an exercise with these resources they should be able to use their vaunted theoretical collegiate skills to figure out how to complete the task. Unfortunately the vast majority can not.
So explain to me, if after 4 years of "study", given technical documentation and a beginner level exercise (experienced people can solve my test in under 15 minutes) and you can't figure a solution out in less than 3 hours... why should I spend any time on you? Any candidate without domain experience, reading the job description and spending a weekend reading even a
The colleges are mostly to blame for not requiring real world exercises in school since theory is worthless without application. The students are also to blame because most of them seem to be too dumb to realize that they should spend some personal time actually writing code on their own if they expect someone to hire them to write code.
I am a development director for a business. It is astonishing to me how ill prepared new grads are. Most do not know SQL, most have never used a webservice, CSS, or any number if common relevant skills. I give a coding test to candidates. It involves a solution that requires a dictionary class and about 15 lines of code to loop through a flat file. It is open help files. 80% of new grads fail it. It is easier than most classroom assignments I had coming up.
You can't teach iron ore to be gold. In most fields, as long as the person has a reasonable level of intelligence, some reading comprehension, and a true passion for the subject they will do well regardless of academic background.
Lots of people think they're good, but they're not. You'd be shocked (or not) at how many people fail the fizzbuzz coding exercise.
My general interview process is a brief verbal over their resume and some light tech questions, then you get a laptop with a dev environment and help files. You write a few coding exercises, stuff that would take a "good" coder probably 5-10 minutes.
My most recent hire was fresh out of college, he nailed it. I've had dozens of people claiming 5+ years experience that can't even finish it.
In any career you're going to be a lot like high school: You have your top 10%, your 10-25% that can bumble along, and then the other 75% who you wouldn't trust anything of value to.
It's what you see in fields of all sorts. There's your top 1%, top 10%, top 25% and then all the people that need to fill the seats but if actually had to compete in a limited market would be gone.
And after you modify your source version of the code, congratulations, upgrading to the next version is at best case going to require careful thought and planning, and at worst case a lot of time and effort on your part.
The danger of customizing your open source product is the same danger that companies face modifying products like SAP. Once you go so far down that path, upgrading is prohibitivly risky and costly.
I can't comment on air because I do MS development, but the goal behind silverlight is to bring a rich content experience to the browser. It seems to be succeeding too. Check out the jumper (movie) silverlight application on the microsoft website.
.NET and it does the legwork of standardizing the code across supported browsers so that you can spend time focusing on the important stuff.
The real point is that mixing flash, javascript, etc isn't the easiest thing in the world to do what with all the quirks between different browsers and how they handle scripting. Silverlight is like a 1.8mb plugin that allows you to develop all your stuff in
I've been running Vista Ultimate on my laptop since December. Being a developer, I run a local instance of SQL Server, various development IDEs, and I am an avid gamer. Just two weeks ago I attended a coworker's LAN party and decided to bring my laptop (it's a pretty beefy alienware). I had absolutely no problems playing the following games:
Counter-Strike
Far Cry
Battlefield 1942
Warcraft 3
If you are running Vista and have a problem running a game, try going into the executables properties and first try to run it as administrator, if that doesn't work run in it compatibility mode. Battlefield was the only game on that list that required me to do this.
Also, FYI, I achieved framerates in these games of around 60fps, which while isn't a number a graphics afficiando would brag on, it's more than sufficient to have a smooth gaming experience.
Microsoft asks sony to allow users the choice of playing X360 games on the PS3
If me or a family member takes my computer to you to be serviced, you're going to act like AOL or Real Player and try to install a bunch of crap I didn't ask for and hijack the applications that I'm accustomed to using. I don't know about others, but I certainly wouldn't go to this sort of technician. I think the pompus ass comment above would pretty much cover my feelings if someone came to me and showed me this was done.
Also you have to think about liability. If you go installing crap that _you_ think is better without the customer understanding or knowing and then god forbid a huge bug is found in firefox and their computer is breached, guess what? You're probably liable.
Um ... how is it that huge nations (and India is much bigger than the US) can be run democratically, but a firm with only a fraction of the size of the nation's population on its workforce could not run democratically?
Insightful?
Um, that's because the US and India are not democracies as is described. You vote for representatives so that there ends up being a subset of people making decisions. These representatives usually join committees based on specialties and the other members of their party tend to take their findings at face value to make the process more efficient.
Co-ops often let all the members vote on some issues, but they also tend to elect a board that makes day to day decisions and only bring the really important stuff to the whole group.
"Is anyone really going to notice a 6 hour per year or 0.07% difference in uptime?"
Maybe not in your particular industry. But banking/financial trading/infrastructure/military etc etc etc would be concerned and notice even slivers of downtime.
As long as it is thematic and unobtrusive I really wouldn't mind. Like for example in games where there is "zoning". You're already showing me a splash screen that is a still shot and boring, go ahead and zap a quick ad through there... at least it will give me something else to stare at for 10-20 seconds.
Thematic is fine as well, if it's city of heroes or something and there's a soda machine, why not let pepsi or coke put their logos on it? Why can't an in-game gas station be a Sunoco?
Like how you have to buy a laptop to use a free wifi spot?
Big company software "sucks" as he puts it because to exist in the mass market like MS, Apple, AOL, etc you have to create software that has the potential to be all things to all people. Or at least get as close to that as possible. This increases complexity, complexity increases the number of flaws.
Kind of a "Duh" statement. It's simply not economical though for everyone to sit around custom building and tweaking their software.