Monday, December 12, 2011

Talent shortage? What talent shortage?

I've been recently reading a lot of articles like talent shortage in Austin
or even more ridiculous ideas, like an offshore office platform on the coast of
california to battle American immigration law.


This all sounds ridiculous to me, since I don't think there is any shortage of
talent and I know plenty of software developers who are more than capable and
will be willing to do work for you, provided few simple things on your side.
The crucial part is understanding that productivity differs vastly between
different people and sometimes people are productive not in a way that you
think they are. They also usually tend to have experience how to make
themselves productive.


Let me explain a bit where I come from. I'm one of the core developers of the
PyPy project and I consider myself relatively competent at least in several
fields of software engineering. My work on PyPy is not only technical -- there
is a lot of helping people, reviewing patches, communicating with
the team, whcih is entirely distributed across the world and timezones. The main
project contributors are or have been living in Germany, United States, Poland,
France, Sweden, South Africa, Italy and whatever I forgot. It does not really
matter. Personally, I claim PyPy has been a very successful project -- it works
reasonably well and it's a good way to speed up most of Python programs. Consult
the speed website for benchmark details. And on top of that there are
constantly very bright people coming and contributing in a non-trivial way,
even though PyPy has next to no money.


My experience with PyPy makes me quite competent in all-things-Python,
open source project management and understanding of nitty gritty details
of performance for the entire software stack, but also made me next to
unemployable for most companies. Let me explain few simple things you
can do to your company
that would make it a dream place to work for me and people like me. This list is
pretty personal, but I suppose the amount of flexibility is pretty universal
for a lot of smart geeks out there.


Cool technologies. PyPy is a really cool technology and I want to stay
bleeding edge with such stuff. That usually require at least two
working days a week to work on open source stuff. Your company probably
uses tons of open source, so why not contribute back? Your geeks would very
likely boost their productivity that way anyway, since most of the time
they will be working on tools they use for themselves.


Tooling. In PyPy we spend about 20-40% of our time on tooling, using
my very unscientific measurments. It's all, from buildbot maintenance,
testing tools to things like jitviewer. Overall it pays off, but it does
not show up in the near term productivity reports. Also, geeks love tools.


Telecommuting. Moving to a new place is hard for many people, especially
when you have to deal with all the immigration b*shit. Personally, I'm also
an outdoor person, so living in Cape Town is pretty ideal, I would not change
that to downtown New York for example. This is a deal breaker for many people,
but even if you don't know how to make people who are 100% telecommuting
productive, chances are they know and they already have years of experience
doing that. It also cuts a lot of costs and noone is thrilled spending
extra 2h a day driving somewhere.


The list of those three items was pretty much a dealbreaker for most of the
companies I chatted with over the past few years. There are companies who
hire remotely, but don't allow you to work on open source or the other way
around. Personally, if someone satisfies all three, I would be even willing
to have a serious paycut, just so I can live the way I like it. Living in
a cheaper place also simplifies a lot in this regard. I also don't fully
understand, why not. If today your company will start working with geeks that
way, it would be able to attract top talent, even if the end product of yours
is not very exciting. It's also a self-fulfilling prophecy -- chances are,
even if your product is not exciting, the work will be because you have
the best people on board. I would welcome some comments from
actual employers why they don't want to do all of that. If someone is
willing to do it, I'm also available for a chat, write to me at fijall at gmail
(yes, double l, gmail has 6-characters-minimum limit) or find me on twitter.


Cheers,
fijal

7 comments:

  1. I don't think any emplyers will be willing to share their rationale for not hiring any remote employees. I think there are legitimate concerns there, too, especially if most of the company is not working remotely, see http://www.randsinrepose.com/archives/2009/04/15/the_pond.html.

    Also, one thing I mist the most when teleconferencing the frigging whiteboard.

    ReplyDelete
  2. My point is not that they have the right (or not) to not hire remote people, they obviously are free to do whatever they want. My point is that as long as they do not explore that option, they have no point to rant about lack of talent.

    ReplyDelete
  3. There are a lot of DOD contracts in Austin also that you have to be able to pass a security clearance. Outsourcing/remote workers have left a bad taste in the mouth of many companies. Depending on the processes in place you can end up with a pile of crap ;-) How that differs from other situations I don't know.

    ReplyDelete
  4. Liked your post and my experience is similar when speaking to potential employers. Have stopped now ;-)

    I am a telecommute programmer as well. In a very very happy space right now :-). Will not change anything for that.

    Aside the usual advantages of cost, time travel etc, what I found that all the workplace distractions are eliminated. Simply because I telecommute, only the most essential and required communication takes place. I don't know if its just my experience or it works like that. The other fact could be that I am on contract, as opposed to an employee. That too should be a factor I think.

    However, the other reason most companies I think do not look at telecommute as an option, is because 'most' are not with the objective of doing cool stuff. Very very very few companies are into 'hard' stuff where they need that kind of talent.

    The only way I have tried cracking the problem, is either get a contract which is interesting while I strive to keep a simple, low cost lifestyle so that when I am out of contracts, its like a break for work!

    ReplyDelete
  5. These are top 3 on my own list as well. I'm happy that I've found a great employer that supports great tools, exciting tech and 100% remote working.

    ReplyDelete
  6. Very interesting point of view!

    After having worked for several years in the same office, my partner and I are working remotely and on different time zones: I'm in Paris and he is in Shanghai. It's a big change in terms of organisation and "office mood" but it's definitely doable. In my opinion, the two biggest difficulties are:

    1) the time offset (the time offset is a bigger problem than the distance); and

    2) the fact that design sessions (thinking about product feactures, user interface, technical archiecture) are easier face-to-face than remotely.


    Here is the link you were looking for about the offshore incubator near Silicon Valley: http://www.blueseed.co/. I read about it a few weeks ago, probably on TechCrunch, and it's difficult to forget such a weird project :)

    ReplyDelete
  7. I agree it changes the culture. Thanks for the link, precisely what I was looking for :)

    ReplyDelete