<
4. Be the worst |
6. Do not listen to your parents >
When choosing what to look for, you can simply consider the technologies that provide the largest number of jobs, and focus on them. Java a lot. .NET is a lot. Learning Java has a simple, rolling effect: if I know Java, I can apply, and most likely get a Java programmer job.
Following this logic, it would be foolish to study this area if you do not plan to use it.
TIOBE Software uses Internet search engines to indicate relatively popular programming languages based on people speaking about these languages on the
Internet . According to the TIOBE website, “Ratings are based on the worldwide concentration of experienced engineers, courses, and suppliers.” These are definitely not scientifically proven measurements, but a very good indicator.
')
At the time of writing, the most popular language is Java, followed by C. C # in a respectable, sixth place, but with a small upward trajectory. ABAP from SAP in the seventeenth place, and slowly moving down. Ruby, which is my preferred programming language - in which I did almost all of my serious work, and in which I hold joint international conferences every year, is in eleventh place. But, during the first edition of this book, he did not even get into the top twenty. He was lower than ABAP!
Am I crazy because I used Ruby or just stupid? Well, exactly one of the two, huh?
In his essay “The Great Hackers,” Paul Graham (Paul
Great Graham) “
Great Hackers ” annoyed the industry with the statement that Java programmers are not as smart as Python programmers. He made many Java programmers stupid (did I say that?). As a result, many of them wrote counterarguments on their sites. Stormy reaction shows how deeply he touched. I was present in the audience when his first essay was presented in the form of a conversation. It caused memories to me.
I was on a business trip in India, selected only a few dozen workers out of a hundred candidates, the team interview was in itself difficult for me, and went beyond the time because of its poor organization. My head hurts, my brain is blown up, my eyes are red, we had a night meeting to discuss strategic changes in how we select candidates. We had to either streamline the process to listen to more people, or listen to the best candidates (or both). However, what remains of my voice after twenty hours of effort is to pull the answers out of the stunned programmers. I insisted on adding Smalltalk to the list of key phrases that our “bounty hunters” used when studying their resume database. “But in India, nobody knows Smalltalk,” the HR Director exclaimed. For me, it has become a point. Nobody knew about it, because programming in Smalltalk was fundamentally different than the experience of programming in Java. Different experiences lead to different requests from candidates, and the dynamic nature of the Smalltalk environment would change the approach to a problem with a Java programmer. I hoped that these factors would stimulate the level of technical maturity, which I have not seen so far among the candidates.
Adding Smalltalk to the list of requirements gave a group of candidates that was tiny compared to the previous list. These people were like uncut diamonds. They really understood the PLO. They knew that Java was not a panacea, the role of which was sometimes attributed to it. Many of them loved programming.
Where have you been in the last two weeks?We thought.
Unfortunately, we could not attract such developers with the salaries that we could give them. They called for making bets, and some of them chose to stay at the old place, or continue to look for work. Although we did not manage to attract many of them, we learned a valuable lesson in recruitment: we would rather expand the proposals for candidates with diverse (and even extraordinary) experience than for those whose experience was one-sided. I explain this by saying that good people are either looking for diversity, because they like to learn new things, or such strong, comprehensively developed developers appear under the authoritative influence of a more experienced environment. I suspect both. But no matter how it works, we learned that it works. I still use this technique when I am looking for developers. So, why should I peer at the screen of my radar in search of an employee, instead of investing in the latest technologies, using which you will make a profit?
For me, as a hiring manager, the first reason is to show what you are interested in. If I know that you are learning something for self-development, and (better yet) just for fun, I know that you love your work and are interested in it. Asking people whether they saw or use a number of, not quite, widespread technologies, I went crazy when I heard in response, “I have never been given the opportunity to work with this.” Gave the opportunity? They didn't give me either. I found it myself and used it.
I was never given the opportunity? Grab the opportunity!
More important than depicting a sense of appropriate motivation and doing your own thing is that the impact of these new technologies and techniques actually makes you deeper, better, smarter, and more creative.
If this is not a good enough reason, then you probably chose the wrong profession.
Act!
Learn a new programming language. But do not go from Java to C #, or from C to C ++. Learn a new language that will make you think in new ways. If you are a Java or C # programmer, try languages like Ruby or Smalltalk, they do not use static typing much. Or, if you have been writing object-oriented code for a long time, try functional programming languages such as Haskell or Scheme. You do not need to become an expert. Work through enough code to really feel the difference in the new programming environment.
If you feel strange, or feel that you have chosen the wrong language, or you use your old code approaches in a new language. Get out of the way to learn the idioms of a new language. Ask old-timers to check your code, and make comments that make it more correct idiomatically.