One aspect is that being excellent at one thing is hard. Be really good at two things. And thats how you will stand out because it is the fusion of two skils that makes you unique.
And then there is a quote by Robert Anson Heinlein, if you want to take it to heart and live on other extreme. By no means it is a career advice but surely an interesting take.
A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects.”
I use it to save all sorts of clever snippets on the command line. Helps me revise some nifty commands periodically and thereby grow expertise in them with time.
A lot of criticism is valid however rather generalized. The talent pool at large-scale, low-cost services industry in India is comprised of people who were mass hired, trained on the job and dug through a single skill set for years. That being said, there are pockets within the organization which do really well. It is worth noting, that it can't be a million dollar business without actually solving a business problem. There was a time, when it did manage to fill a massive gap in western markets and even today builds/maintains large scale systems at lot of western enterprises.
In my opinion, it provides challenging opportunities around how to manage large distributed teams. It is not a place to seek technical growth or high powered teams.
As an outsider, I feel, Vishal Sikka, was attempting to change the culture from within but was clearly facing considerable resistance from promoters/founders. I admire the value system upon with the Infosys was originally founded on; they originally went out of their way for employees, however, over time the focus has shifted and I feel they have failed to keep pace with evolving landscape and business models both.
I disagree with anyone who says that code tests are scam. I work at Thoughtworks and we follow extreme programming practices. The most basic of which includes pairing. Pairing is a super strenuous activity which brings in productivity as well. However it is not everyone. Doing a code pairing round validates a lot of softer aspects.
I personally believe in show and don't tell. So if I am interviewing with someone or vice versa I would rather appreciate that I get to see some code that an individual has written or have someone assess me on that rather than how I well I can articulate myself or conjure up jargons and buzz words.
I am comfortable taking on large problems as long as there is flexibility in time. I spend about 15 hours over three days solving a problem that intrigued me when I interviewed 5 years back. I learned a lot about company, programming and myself int those three days.
Years later as I am trying to make that experience smoother for others, I have done a 5 series blog on what we look into coding solutions. Hopefully, that solidified them a little bit and doesn't make them look like "vague" and "just a whim and fancy" coding round.
Find my detailed take on coding problems given out by Thoughtworks recruiting here.