What you do as a web developer

Five years I have worked in places where I was given weird puzzles in the interviews. I've been asked to implement linked list, red black trees, Fibonacci and various sorting algorithm. Five years I've been confidently waiting for the day I will use these fancy terms in my code. But today, all hope is gone. Looks like they tricked me into thinking I will have the chance to implement bubble sort.

Quick sort

Quicksort Algorithm — wikimedia

Don't get me wrong, bubble sorting and other algorithms are the back bone of technology. They are important to learn in school, not because you will be using it everyday but because it teaches you about problem solving. Like the name implies, computer science is a science, and like any science it is not easy.

However most companies, dubbed technological companies, that basically just build website are confusing terms and think they need computer scientist to build their websites. That is as incorrect as it can get. Let's remember that most websites are not different then a pamphlet. They provide information and make the page pretty to appeal to the reader.

You wouldn't need a scientist to make a pamphlet now do you? But since websites run on a server and can be made more efficient and easier to maintain using programming languages, developers are hired for the job.

Every time I describe my job to a stranger, he tells me "so you are a web designer". Arguing is futile.

The web designer has one of the most important job, theoretically, because her work is what the users sees in the end. The developers however are kept in the dark. Most of the stuff they do (I do) is confused with science. But let me try to dissect it for you.

None of this is science. And that's what most people need but they ask for someone with a PhD in neuro-technology as the job requirement.

If there is a shortage of developers today it's not because we don't have enough people that know this stuff. It's the bridge that connect the candidates with the job that's broken.

  1. Companies ask for 5 years experience plus bachelor degree in computer science for Front-end Engineer position.
  2. Schools provide the bachelor degree
  3. Clever companies provide unpaid internships to help with experience problem and free labor
  4. When student is ready to work at company, he is not qualified because he has never worked with angulatory.js

If you are a student, I am not trying to tell you what you are learning is irrelevant. Here I merely gave an example in the web programming world which is a hot field to date. The problems solved in computer science are highly on demand but you should get your terms straight. If you are interviewing for a web development job, you should work on your web development skills not memorize your sorting algorithm.

If you are the interviewer, you need to stop. We are not here to solve irrelevant puzzle, leave that for puzzle night. If you want to hire great people then you need to have a say on what goes on the job requirement. You need to know what you need first. A technical interviewer should know what the problems he is currently facing are and see how the candidate will handle these situation. That's it.

For now I will continue to wait for the day I write those terms you learn in school in my code:

// here I use polymorphism :B
public function void morph(Code code);
public function notvoid morph(NoCode nocode);

Comments

There are no comments added yet.

Let's hear your thoughts

For my eyes only