361 karma · joined October 28, 2014
Hiring is Broken: Yes it is,but not the process,but the people. When you interview in a big company(especially a profitable one) you need to realize they are not looking for a typical skillset. Big (for profit) companies tend to keep their softwares behind closed doors. Hadoop was open sourced by google atleast a year after internal usage ,the same goes for Bazel(Blaze internally) .These were open sourced because they had much better versions of the same software that were consumed internally.When you reach such levels,performance factors are as important as
- ability to ship fast - writing clean/testable code - and all the other things that we programmers/coders are good at.
I am not saying that we aren't good at optimizing. But they are not really looking for the horde. This could also explain poaching college professors/PhD candidates for jobs.They need to people to push boundaries,not implement/build things from existing technologies.There is only so long that you can spend in a domain without having the need to extend that domain which you have been working in the past 20 years for.
Regular start-ups and other companies need a product.They need to make a mark in a field by pleasing the customer who would be using their products/technologies and who are looking for a service alternative mostly.
That is my justification for such interviews.This changed the way how I even handled interviews.
If I am asked these algorithmic questions,I generally smile and ask them if they want a Computer[1] or someone who can use a computer.I Immediately steer the conversation to what do they expect from me and explain to them what I can do.Often this clears the air and helps me(stress on the me) decide if I would like to join them. What you need to realize is that its you who is joining them.The impact that the organization will have on you is normally a much larger of magnitude in comparison to what you will have on the organization. The environment you end up working in will mould you in ways that you cannot anticipate.
PS: There are a couple of people who do the job hunting for the massive salary hikes and those sort of factors.I guess none of my arguments apply for them .
Does this not remind you of Sauron's Eye?
We have a single giant whose products are used by the masses(Google/Uber/Github-in this sense) which had customer-focussed /domain-oriented paths but seem to have lost it midway, and then we have smaller/modular companies who are more focused to the domain improvement in itself (DDG,Lyft,Gitlab) who partner up with other specialised companies(Yandex/Didi Kaudi/DO) to remain customer-focussed /domain-oriented.
In the meantime the consumers get to choose between what the world chose and what could be a more sensible decision.
Simple use case: the `man` and `help` command are useful when you have not been able to solve for your particular use case.Else I would still prefer doing a google search which would tell me how to scp a file with the syntax and placeholders instead of reading the documentation.
The examples would help in this regard.But then again I am not sure how much.Normally documentation list pretty straight forward examples which any editor/IDE with intellisense (even Sublime provides a bit of prediction with plugins) ,should be able to provide.
This also goes against the tendency of comparing.Normally while trying to solve a problem,I tend to open 2~3 similar 'answers' which help me drill down to my particular problem.Whereas here I would be restricted to only a single solution.I love the idea for the technology involved.But I am not completely convinced with the help that it could provide.
Also keep in mind that it commonly happens that one of the first few programmers become a CTO? .That is not only because of the requirement of such a position but also a genuine care for the product which leads to him shouldering responsibility for the same.
So now if you were doing this responsibility shouldering and people management for 10 years,you cannot expect yourself to up-to-date and be tech savvy forever. Some people move to that position to also ensure relevancy. -It is much harder to remain relevant as a programmer in comparison to being in a managerial position.
TLDR;It all depends on how much you like to code in comparison to see through a finished product which sells.Both are symbiotic fields which need specialists in each area.
TLDR; its the passion for creation which drives any job.As a programmer having things setup in hours or weeks and then seeing your product being used by a percentage of the 3 billion people[3] who use the www.It brings a hell load of satisfaction in me.
[1]:http://hello-world.io [2]:http://money.usnews.com/careers/best-jobs/plumber/salary [3]:http://www.internetlivestats.com/internet-users/
I distinctly remember reading somewhere that Gmail interface was simplified and inbox was a much more powerful client.I cannot find that page right now.
This is a genuine question and not sarcasm.I have seen this sort of styling on several sites which excel in material provided.
EDIT: I do love the content.Gonna be trying this this weekend