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.
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.
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.
She's Chinese. I have never once, in 12 years in IT had an American do something like this.
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.
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.
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.