4 ms·
In the discussions about rockstar developers people pay far too little attention to context, to the environment in which people work. Some people have both the
by memracom 12y ago
In the discussions about rockstar developers people pay far too little attention to context, to the environment in which people work. Some people have both the education and inclination to be great at developing CRUD apps. And if the job requires churning our Rails or Django code, those people will appear to be rockstars. Meanwhile a guy who really groks distributed multiprocessing doesn't have the raw material to work with to display his talent. But if the context changes, the needs of the company shift, then you will see a new rockstar emerge and people will be wondering why the old rockstar simply can't cut it any more.
Unfortunately, most jobs are in an environment where needs do change, and the majority of developers who work in such environments, do not see a real clear "rockstar" distinction among the people they work with.
To me, this suggests that hunting for a rockstar to add to your team may well be a fools errand. We should probably do more to raise up all developers in our team to a higher level, by making sure that everyone understands our set of tools, the apps that we have already created (and will have to modify in future months, years) and the upcoming new business requirements. Everyone in our business knows that we have to be constantly learning, but few development teams try to manage that learning as a team so that everybody's competence level rises. It does no good if your job requires great CRUD apps while you are learning Clojure on the side, your workmate is learning Go language, and the architect is busy learning .NET Reactive eXtensions.
If the job requires CRUD using Rails, you would likely be better off if everyone learns Python/Django because then you all have a choice of tools to use that fit the needs of the work you are doing. Or Grails on Groovy. Even node.js and Lua have some good CRUD frameworks.
In another environment, Clojure, Erlang, RabbitMQ, Celery/Python, Scala/Akka etc. will be the things you need to know.
And in another environment, even today, C/C++ with SodiumFRP would be a better thing to know.