Open Side Menu Go to the Top

12-04-2013 , 12:46 PM
Quote:
Originally Posted by daveT
Isn't it amazing that every single company has the top 5% of programmers working for them?

Joel Spolsky brings everyone down to earth:

http://www.joelonsoftware.com/articl...vaSchools.html
This is also a good article given this context:

http://www.joelonsoftware.com/items/2005/01/27.html

It's kind of like the opposite of online poker, where pros and top players are overrepresented because they play more tables and more hours. In the job market, bad programmers are overrepresented because they are always applying for jobs.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **
$25m Guaranteed WPM on CoinPoker
Join the action now
Daily Rewards • Splash Pots • CoinRaces
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **
12-04-2013 , 01:00 PM
Quote:
Originally Posted by daveT
I also noticed this strange argument for the first time:

You used to start out in college with a course in data structures, with linked lists and hash tables and whatnot, with extensive use of pointers. Those courses were often used as weedout courses: they were so hard that anyone that couldn't handle the mental challenge of a CS degree would give up, which was a good thing, because if you thought pointers are hard, wait until you try to prove things about fixed point theory.


Is fixed point harder than pointers?
I think it's on the same order of difficulty but most people don't get to practice proving things about recursive functions all the time, whereas low-level programming gives you tons of practice with pointers. So a lot more people are comfortable with pointers.


Quote:
And everyone that thinks functional programming is strange really should read this line:

They'll never have to get their head around how, in a purely functional program, the value of a variable never changes, and yet, it changes all the time! A paradox!
It's incredible though how mainstream functional programming has gotten - back about 10 years ago, people used to complain about my use of "map" and other higher-order functions in Perl because it's too fancy and why wouldn't loops work or something, something. Nowadays even self-taught Javascript programmers with zero CS background know about closures and almost all Javascript frameworks use functional programming concepts heavily.

The downside is that programmers know even less about pointers and performance implications of what they do than they used to.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-04-2013 , 01:15 PM
Quote:
Originally Posted by Larry Legend
Maybe interesting scenario:
2 finalist candidates out of about 10 for a SQL financial role

Candidate 1 - Young guy recently out of college, a couple years of work experience. Some experience with SQL but not much with finance. Seems like a hard worker and a fairly smart guy.

Candidate 2 - Older (50 yo) guy who had been teaching for ~20 years and was now in the process of changing careers. Had some finance experience, but limited with SQL, but said he thought he could pick it up fairly quickly. Seems like a very intelligent guy and was probably a good teacher.

Who do you choose?
You can't pick people based on simple descriptions but one thing I'm giving increasingly more weight to is lack of marketability. If you're not an extremely attractive destination for top technical people - and the chance is that you are not - yet you want to hire top talent, something has to give. The person has to have some obvious flaws or attributes that others don't like. Assuming you're able to discern talent in some other way, you're often better off ignoring or even inverse-weighting some obvious markers for talent other people rely on. The kicker though, is that you have to know how to measure talent.

I don't know if your "SQL financial role" needs that much upside, but this Costanza/Moneyball strategy would lean towards Candidate 2 here, because both the finance and the tech industry are fairly heavily biased against older people without much experience or connections and a young smart guy with a couple of years of work experience is the sweet spot for entry-level hire that a lot of companies are looking for.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-04-2013 , 01:48 PM
I wrote a makebot.py script today that generates boilerplate Prolog code and a testfile to go along with it so when you want to build a new bot you run something like
Code:
./makebot.py lizzypwner
And get a directory lizzypwner with the needed files in it.

I have a template file template_bot.pl and one template_bot_test.pl and it just copies stuff over. Obviously this is just super rudimentary version 0.0000001 but I was wondering if it is considered more elegant if I'd generate the actual files from code instead of using template files? Template files are the supereasy version but as of now you still have to do a couple of things manually (i.e. change the name of the "main" predicate from CHANGEME to lizzypwner etc.) eventually I want to automate all of that in which case the "file from code" becomes a bit more attractive (currently I'd just regexp out the parts that need changeing)

I'll generate maybe 6-10 bots max. so automating everything would not really net me any time but since I might make all of this available eventually it can't hurt to think long term I suppose.

Quote:
That's a good list. How do you interview prospects to ascertain if they have at least some of these qualities? A caveat, from what I have experienced, the interviewing process at many places seems like it has little to do with finding candidates with these qualities.
I think outside of "can work well with customers and coworkers", "time management/gets stuff done", "good enough technical skills" the key skill is "good at learning stuff". I've always wondered if just giving someone a random topic and 30 minutes (or a day or heck even a week as "take home") to figure out as much as possible about it (with internet access) would be a better indicator of future success than most interviews.

Last edited by clowntable; 12-04-2013 at 01:56 PM.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-04-2013 , 03:04 PM
Quote:
Originally Posted by candybar
You can't pick people based on simple descriptions but one thing I'm giving increasingly more weight to is lack of marketability. If you're not an extremely attractive destination for top technical people - and the chance is that you are not - yet you want to hire top talent, something has to give. The person has to have some obvious flaws or attributes that others don't like. Assuming you're able to discern talent in some other way, you're often better off ignoring or even inverse-weighting some obvious markers for talent other people rely on. The kicker though, is that you have to know how to measure talent.

I don't know if your "SQL financial role" needs that much upside, but this Costanza/Moneyball strategy would lean towards Candidate 2 here, because both the finance and the tech industry are fairly heavily biased against older people without much experience or connections and a young smart guy with a couple of years of work experience is the sweet spot for entry-level hire that a lot of companies are looking for.
Great post, found this very insightful and definitely going to incorporate this in all future hiring thoughts.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-04-2013 , 03:44 PM
Quote:
Originally Posted by adios
That's a good list. How do you interview prospects to ascertain if they have at least some of these qualities? A caveat, from what I have experienced, the interviewing process at many places seems like it has little to do with finding candidates with these qualities.
I think most of those qualities are fairly obvious in an interview situation. The much bigger issue is recruitment, training and motivation. It's hard to find people who have these qualities willing to work for you at market rates or below, it's hard to train people to develop these qualities to their potential and it's hard to motivate people to perform at their ability.

From my research it seems that recruiting a good senior developer in NYC with strong domain-specific knowledge requires total compensation on the order of 200K to 300K a year assuming slightly above-average 45-50 hours but a much less polished developer straight out of college with higher ceiling can still be had for under 100K, especially if they lack the types of resumes that top employers like. I assume the situation is similar in most places even if the absolute numbers aren't as high. So there's a big opportunity if you are confident in your organization's ability to train and retain talent.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-04-2013 , 04:48 PM
Quote:
Originally Posted by candybar
From my research it seems that recruiting a good senior developer in NYC with strong domain-specific knowledge requires total compensation on the order of 200K to 300K a year assuming slightly above-average 45-50 hours
Really? I'm not disagreeing with you as I don't know, but what kind of background would get this, and what would the package look like?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-04-2013 , 05:05 PM
Those numbers seem slightly inflated from what I've seen in NYC. In order to clear 200K/year I think you'd need to have a lot of experience in a very high demand area.

I think even the Google developers I know aren't making above 200K.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-04-2013 , 05:27 PM
I think those numbers are accurate if you change them to $150k-250k and in Boston I would say it is more $100k-$200k.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-04-2013 , 05:43 PM
Just as a sanity check, what % of developers in NYC are you thinking make greater than 200K?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-04-2013 , 06:07 PM
Quote:
Originally Posted by alex23
Really? I'm not disagreeing with you as I don't know, but what kind of background would get this, and what would the package look like?
Quote:
Originally Posted by jjshabado
Those numbers seem slightly inflated from what I've seen in NYC. In order to clear 200K/year I think you'd need to have a lot of experience in a very high demand area.
Quote:
I think even the Google developers I know aren't making above 200K.
I think the numbers look high to you guys because the perspective is reversed - that's the price range employers have to be willing to pay to get the kind of person you want. At lower salary ranges, you're much less likely to get a top experienced developer, unless you're somebody, like Google or Facebook. You can get lucky but it's unlikely unless you're legitimately good at finding hidden talent.

From the top developer's perspective, the picture isn't as rosy - the correlation between pay and ability is nowhere near perfect so the average pay of developers that are as good as the average $250,000 developer is much less than $250,000. Does this make more sense now?

Also living expenses can be crazy here, so the numbers aren't as high as they seem. A 1300-SF 3-bedroom apartment in a good, but not great building in a decent, but not great location in Manhattan is around $6,000, for example.

Quote:
Originally Posted by Larry Legend
I think those numbers are accurate if you change them to $150k-250k
I think those numbers makes sense from the developer's perspective - if you're a very good developer, you'd expect to make between $150K and $250K.

Quote:
Originally Posted by jjshabado
Just as a sanity check, what % of developers in NYC are you thinking make greater than 200K?
That's a good question - I have no idea. 5%?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-04-2013 , 06:22 PM
Quote:
Originally Posted by jjshabado
Not as rare as you would think. I most commonly hear about this at large companies and government jobs. Places where the appearance of impartiality / fair hiring is more important than actually hiring the best person for the job.

I have one friend who works at a place where the interview is a preset group of questions complete with a scoring criteria for each question and the interviewers only job is to score the candidates. Highest score gets the job. And the best part is that one of the interviewers is from HR and has an equal say even when hiring experienced professionals.
If that process would happen to me (or rather if it would be announced that I'd have to go through this for a promotion) I would quit the same day.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-04-2013 , 06:51 PM
Quote:
Originally Posted by Shoe Lace
Being able to teach that long shows a lot of potential for being able to clearly explain things to others.
If he was teaching K-12 public school, then the length of his career has next to no correlation with his teaching ability. Public school teachers are rarely fired--practically anything short of physically abusing a kid won't matter--and salary and layoffs are based solely on seniority. (At least that's how the laws are in Indiana.)

There are rumblings about changing to evaluate teachers based on standardized test scores, but it hasn't happened yet. For the record I don't have any faith in that metric, either.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-04-2013 , 07:00 PM
Quote:
Originally Posted by candybar
That's a good question - I have no idea. 5%?
I worked in NYC for 5 years and am working for a NYC startup for 3 more years now so I'm pretty familiar with the market.

We pay nowhere near that range and have pretty top talent (I'd say all top 10-20%) but on the flip side we're doing work thats really interesting to a certain group of people and the startup environment is a big perk for a lot of people. Plus there's always equity.

I suspect 5% is still a bit high, but when I first read your post I thought you were claiming more like 20-25% of senior developers were making > 200K.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-04-2013 , 07:01 PM
Quote:
Originally Posted by clowntable
If that process would happen to me (or rather if it would be announced that I'd have to go through this for a promotion) I would quit the same day.
Me too. Different industry though and many industries are not as advanced as software development.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-04-2013 , 07:03 PM
Quote:
Originally Posted by jjshabado
Just as a sanity check, what % of developers in NYC are you thinking make greater than 200K?
Quote:
Originally Posted by jjshabado
I suspect 5% is still a bit high, but when I first read your post I thought you were claiming more like 20-25% of senior developers were making > 200K.
I'm interested in this too. Is "5% making > 200k" of all developers or of senior developers?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-04-2013 , 07:06 PM
Here's some data: http://www1.salary.com/NY/New-York/S...-V-salary.html

No idea how good/reliable it is.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-04-2013 , 08:36 PM
Quote:
Originally Posted by jjshabado
We pay nowhere near that range and have pretty top talent (I'd say all top 10-20%) but on the flip side we're doing work thats really interesting to a certain group of people and the startup environment is a big perk for a lot of people. Plus there's always equity.
All my estimates definitely include bonus and cash value of equity - otherwise it's hard to compare across jobs because in some places (startups) equity is a big or even predominant part of your compensation and at others (some financials) bonus is. And if you provide a genuinely good environment, have stellar management or are really good at recruiting etc, you don't have to offer as much to find talent.


Quote:
Originally Posted by Urinal Mint
I'm interested in this too. Is "5% making > 200k" of all developers or of senior developers?
I'm thinking all professional developers, not including people who picked up Javascript and CSS 6 months ago, sweatshop copy-pasters, Excel/SQL "consultants" and other hybrid/semi-technical positions. I think most developers are considered "senior" developers or above anyway - I haven't seen anyone with more than about 3 years of experience sell themselves as anything but "senior" and for obvious reasons most people have more than 3 years of experience. But I haven't conducted a survey or anything guys, take it for what it's worth - I don't really have any idea what the labor market like in the bottom half and I'm mostly talking about how hard it is to hire top developers who have everything from the employer's perspective.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-04-2013 , 10:17 PM
I am planning on applying for an internship at IBM shortly, and was told by an insider that they look for Linux and Eclipse (they use RAD, which was based on Eclipse) experience on resumes.

Any suggestions on the best way to get started learning Linux? I have an extra system that I plan on installing it on over break.

As far as Eclipse, I have been using it for Java development in my data structures class this semester, but it has all been pretty basic.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-04-2013 , 11:44 PM
Quote:
Originally Posted by jjshabado
Here's some data: http://www1.salary.com/NY/New-York/S...-V-salary.html

No idea how good/reliable it is.
Holy mother god that site is a PITA if all you want to do is see the same view but for LA. Searching LA either yields no results (green search box below the graph) or some text that says it's showing 1-15 of 531 results.

I WANT TO SEE THE PRETTY GRAPH

Edit: tried just changing the url from NY to LA - no dice. You win again salary.com!

Edit edit: ok I got there. LA is about $10k behind. I'll take it. http://swz.salary.com/SalaryWizard/s...ngeles-CA.aspx

Last edited by suzzer99; 12-04-2013 at 11:50 PM.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-05-2013 , 12:05 AM
Yeah, it's horrible. I think I just stumbled into the exact right google search for that link.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-05-2013 , 12:19 AM
Same job in Rochester MN says 110k. No way that can be correct. Less than 20k less with way way lower cost of living. I suppose it just takes a lot more to get people to stay or move here.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-05-2013 , 12:26 AM
Quote:
Originally Posted by clowntable
I was wondering if it is considered more elegant if I'd generate the actual files from code instead of using template files?
well, it depends.

i'd say an approximate rule of thumb is whether this is a text munging problem, or a text generation problem.

Quote:
Template files are the supereasy version but as of now you still have to do a couple of things manually (i.e. change the name of the "main" predicate from CHANGEME to lizzypwner etc.) eventually I want to automate all of that in which case the "file from code" becomes a bit more attractive (currently I'd just regexp out the parts that need changeing)
if it's really as simple as replacing some magic strings with generated values[1], a template seems like the most straightforward thing.[2]

if you're modeling something with some complexity, or your output format is complex[3], or you have lots of logic and control flow, generation is the way to go.

Quote:
I'll generate maybe 6-10 bots max.
/me HAMMERS the over

Quote:
so automating everything would not really net me any time but since I might make all of this available eventually it can't hurt to think long term I suppose.
i'm a big believer in YAGNI but doing rote tasks by hand is for chumps.



[1] and btw don't use regex for this wtf mate

[2] caveat: if the generated content is super small -- a header or a few lines -- i'd just inline it.

[3] http://theprofoundprogrammer.com/post/29546648842/
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-05-2013 , 01:46 AM
node summit was really cool - I highly recommend it if anyone thinks about going next year
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-05-2013 , 03:04 AM
clowntable: Whatever helps your bot beat my random fish-bot has my nod of approval.

I'm not sure why you wouldn't just create a library and so users can create python plug ins though.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **
$25m Guaranteed WPM on CoinPoker
Join the action now
Daily Rewards • Splash Pots • CoinRaces
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

      
m