"Knowledge of database tools like(MySQL, PHP, Java and C#)"

"8yrs experience building iOS apps using the Swift programming language"

*How often do you see job descriptions like these? *

I stumble across technical job descriptions like this almost every other day.

What's annoying about these job descriptions for technical roles is that they are most likely, if not often, written by people with almost no technical experience nor expertise.

One of the greatest misconceptions I have seen or heard about over time is the notion that software engineering or IT as a whole is something everybody and their mother can just pick up in a whim.

This is nothing less than a big fat lie.

You don't just pick up these things. You learn them, grow with them. There is a reason why people in (information) technology are referred to as professionals.

Every so often, companies allow the human resources department to come up with job descriptions based on the business needs, while there isn't anything utterly wrong with this, it is also imperative that the said HR department needs to pass these job descriptions to someone in the technology department for proper vetting and sign off.

Why ask for an 8yrs experience for a technology that has been around for a little over 2yrs?

Where on earth are your prospective candidates going to come with the remaining 6yrs?

Why do you classify a scripting language as a DBMS (database management system)?

This is wrong. Just wrong.

There is a huge difference between programming/scripting languages and databases.

Don't even get me started on the different kinds of databases available today - RDBMS, NoSQL.

PHP isn't a DBMS. Period.

These same mistakes aren't common to companies putting up job descriptions alone but to Hollywood movie script writers as well.

I once heard these lines from a movie scene

"I'll create a GUI interface in visual basic, I'll see if I can track an IP address."

I'm sorry dear movie script writer, you missed this one by a very long mile. A long one.

Every DevOps or Software Engineer that's worth his or her salt knows you don't need a GUI interface written in Visual Basic or any other language at that to track an IP.

There's a reason your OS has a terminal and that's why log files exist. Explore the log with your terminal.

It's that simple.

While organizations and movie script writers tend to come up with these things to make their organization and movies sound sophisticated and cool, they always often end up shooting themselves on the foot.

My Advise

If you must write a technical job description, run it by someone who's experienced in that field to help spot your mistakes and refrain from looking for a generalists. They don't exist, no one person is an expert in iOS and Android development, Web Application development, Server Administration, Database administration. Proficient in PHP, Python, Ruby, Java, Scala, Go, Closure, NodeJS, Coffee Script, JavaScript, CSS3.

Like I said, he does not exist. At best, people have a fare working knowledge of these technologies.

Dear movie script writer, you can use the help of a real software engineer or tech professional. No point reinventing the wheel by writing your own "GUI terminal interface."

UNIX and all its contributors have done a great job for you already. Just use the tool.

And those typing scenes(read as hacking)? The ones with the lonely guy in a poorly listed room?

Make it more realistic, no one types that fast without even sparing a minute to catch a breath nor think.

Finally, technology, like every other profession has professionals and these are people that have spent years learning and perfecting their skills. It isn't just about Excel, PowerPoint and Word.

It is much more.