Tag Archives: įgūdžiai

Svarbiausi komunikacijos įgūdžiai ir specializacija

Ruby Learning Blog’as kas savaitę pakalbina patyrusį Ruby/Rails žmogų tema “Little Known Ways to Ruby Mastery”. Tai puiki serija, rekomenduoju paskaityti. Šią savaitę skelbiamas interviu su Jay Field, iš kurio atsakymų norėčiau pasidalinti šiuo – tema aktuali visiems programuotojams:

What can / should job candidates (for Ruby) do to distinguish themselves from their competition?Jay>> There are two things that I look for in candidates these days: Communication skills and specialization in something relevant.Programmers are terrible communicators in general. I’m not sure why programming seems to attract introverts, but it’s bad for our industry. Great software is almost always a result of significant collaboration, and I prefer to work with people who understand and embrace that fact. I’d take a good programmer with great communication skills over a great programmer with good communication skills, every time.A long time ago someone started telling people that they should be specializing generalists (sorry, I can’t remember who to attribute there). It was good advice, but the sheep only heard “generalist”. These days there’s loads of programmers who know a bit of everything. Which is good, but they aren’t deep in anything. They keep selling the idea of knowing a little of everything as a good thing, because they are a generalist. I’m not buying.I prefer to compose teams of true specializing generalists. For example, if I’m building a Flex front end over a RESTful Rails application, I want everyone to be familiar with Flex, Ruby, ActionScript, REST, SQL, etc. But, I also want at least one team member to be deep with each of the key elements. I’m talking seriously deep. I want them to be so deep that they annoy the team with their “too detailed” explanations of what’s going on and what needs to be done. Those guys drive innovation in their area of expertise, and the app is significantly better because of their low-level understanding.Pick something and learn so much about it that you start to wonder if it’s really worth going any deeper. If you start learning things that no one asks you about, you might be close to your goal. As long as you are still learning things that apply on a fairly regular basis, you aren’t deep enough yet. And, pick something generally useful: REST, Ruby metaprogramming, ActionScript, Javascript, Regular Expressions, etc. You get the idea.

Pilnas interviu.