Live data from Hacker News

How To Hire Me (or any other programmer)

youell.com

221–230 of 266 posts

Re: How To Hire Me (or any other programmer)

#221

When I'm involved in interviewing someone, one of the interviews will be cookie-cutter. I've seen with my own eyes applicants who had stellar resumes, had great conversations with everyone they talked to... and could not pass a Cookie-Cutter Technical Interview. You may think that it's insulting to have to pass a Cookie-Cutter Technical Interview, but we are not (generally) a Professional group - we don't have a Bar…

> Do you know why this line of C++ code compiles with Visual Studio 6, but produces the wrong result? Are you actually serious? You ask about a quirk in a 15-year-old single-platform compiler? I always wonder what some interviewers think they're gaining from questions about minute historical trivia like this. It doesn't provide any real insight into ability at all.

I think it could be an OK question. I'd have to see it; if it is something sort of well known or a fairly arcane thing. It being 15 years old is not really that problematic to me. Python is much older than that. :)

Re: How To Hire Me (or any other programmer)

#222
post #99

Earlier quoted context omitted.

I purposely didn't include any of yours. Why? 1. Mine are issues and yours are details. If my 10 are satisfactory, I can live with your 9, even though some may not be satisfactory. But if you 9 are good and my 10 aren't, I'd last about a year before moving on because of lack of meaning. 2. Mine are about them, yours are about you. 3. Mine show interest in the big picture; yours could easily paint you as a demanding n…

Mine are issues and yours are details. I certainly drilled down into more detail, but I'm not convinced that there's as much of a dichotomy there as you may see. Nonetheless, I understand what you're saying, but I'd counter that "details matter" and that different details matter more to some people than others. Also, I certainly don't intend that list to be seen as an alternative to your list, I mean it to be additiv…

You lost me in caring about what the office looked like and what hardware you got. Who cares? I don't! I can hack on whatever; whenever; with whatever! PERIOD!

edw519's questions provoke conversation, where yours provoke sales talk.

Re: How To Hire Me (or any other programmer)

#223

Interesting thread. The tread is interesting to me because I'm a sole founder of a Web 2.0 startup with some relatively technical internals (in the server farm only), and have done all the work from the beginning to the present. If the startup works, then I will have to hire. But, for what is in the OP and this thread, I have a different view. Below I discuss the differences in three parts, software development envir…

I appreciate that you posted this alternative opinion, but I found myself disagreeing with much of what you wrote.

Why Visual Basic .NET? It seems like the nicest way to exploit Windows, the Microsoft Common Language Runtime (CLR), and the .NET Framework (that is, the enormous collection of classes), and work with the rest of the Microsoft software for TCP/IP, SQL Server, IIS, etc. The syntax of C# is too close to that of C/C++ and, thus, is deliberately 'idiosyncratic' and 'tricky' and, thus, an obstacle and error prone; the Visual Basic .NET syntax is much easier to take.

I also work with the Microsoft stack, and I was surprised that you prefer VB over C#. I've used VB (briefly), and the syntax felt quite cumbersome compared to C# (which I use daily). What do you find "idiosyncratic" or "tricky" about C#?

I've always typed code into just a text editor, one that permits writing good macros, the most capable I had access to, done operations with just command line scripts, never used an 'integrated development environment' (IDE), and rarely used any interactive debugging. Instead, I just put some checks into the code, have the code write a lot of tracing data, and then look at it with a text editor. Always worked so far!

Before I switched to .NET and C#, I used Django and Python, so I have some experience with the more barebones development environment you seem to like. There are things about Visual Studio that bother me, but I have to say that it's really pretty good overall. I think IntelliSense and ReSharper save me far more time than macros could. Also, interactive debugging feels significantly nicer than printing values to the console or messing with lower-level debuggers like gdb/pdb. What text editor and scripts do you use that you find to be better than Visual Studio?

For my Visual Basic .NET code for my site's Web pages, I'm just typing into ASP.NET without any explicit use of model–view–controller (MVC) or other Web site 'framework', whatever such a 'framework' is! Once I looked at MVC for a few minutes, and it seemed that some of my code is similar!

How do you organize your code if you don't use MVC? It's a pretty well-regarded pattern; you may want to look at ASP.NET MVC or a similar framework.

In both cases, the work went well with no attention at all to formal methodology, 'team tools', 'repositories', etc. ...I've never seen any formal approach to code 'building', testing, test 'buckets', 'quality assurance', etc., yet we had no problems.

So, I begin to conclude that for groups as small as seven, with a good leader and some good people, can do well with no formality at all. None. Zip, zilch, zero.

You don't use version control, bug tracking, feature planning, nightly builds, continuous integration...any of those? I would think a project without those essentials would be quite disorganized.

It appeared that generally quite sufficient (but usually more than necessary) qualifications were a Ph.D. in pure/applied math or theoretical/experimental physics, some good computer usage experience, and some scientific/engineering programming in two or more languages would be fine. Then such a person could pick up [lots of computer science knowledge].

These requirements sound extremely high. Wouldn't someone with a recent B.S. in computer science or software engineering be significantly more prepared for the job (as well as less expensive to employ)?

I begin to conclude that software is still a relatively simple subject....

I don't think this is the case at all. You can assemble a team of good developers, follow industry best practices, be blessed with a good product manager...and you still have to deal with bugs, tangled code, issues with libraries, changing requirements, architectural design problems, UX design failures, and so on.

For salary, guys, look, the first thing to check is, does the job pay well enough to let you buy a house and support a family in nice conditions?

Er, that doesn't sound all that good considering the level of demand there is for software developers. You need to at least match the average salary and benefits for the region and the skill level of the position. And you'll have to pay much more if you're serious about requiring Ph.Ds.

I've never seen anything very useful in formal training. Have to accept that major fractions of programmer time go to working through bad documentation, learning new material, migrating to newer tools, writing little tools, etc. For a 'training budget', no: Just budget the time along with everything else; for travel and fees for formal training sessions, sure, but likely mostly the training should be in-house without flying across the country, business class, limo service, fancy hotel, rental car, big per diem, big training fees, etc.

I don't think this is what is meant by "training". Learning new tools or libraries on the job is expected of most developers. Providing training means sending developers to conferences, buying them books on topics related to their work, allowing them to work with more experienced mentors, etc. Those things are really not that expensive considering the benefit you receive in improving your developers' skills.

Do something really complicated with JavaScript? I want to try never to do that! ...And I would generalize that approach to JavaScript to nearly everything else in computing, for me and any people I hire.

This seems like a very bad approach to use if you value improving your skills, gaining domain knowledge, or keeping up with industry trends. JavaScript in particular has been an area of incredible innovation in the past decade or so. Is it really worth avoiding just because it has some quirks?

So, net, one of the better abilities I want is the ability to write good technical material.

I somewhat agree. Developers should be able to clearly document their code through a combination of good formatting, useful comments, thoughtful naming of types and variables, and blocks of technical documentation (docstrings/XML documentation) where appropriate. But they shouldn't be doing the jobs of technical writers.

Many organizations want a lot of detailed 'skills' that I get by without and, thus, won't require in people I hire. I prefer JIT skills -- learn the stuff as needed.

This sounds good in theory, but I don't think it really works in practice. For most projects you need people to have certain skills or experience before they join the team...otherwise you'll spend most of your time reinventing wheels or teaching them the basics. For your web app startup, would you really hire someone who is intelligent and has credentials but has only a vague idea of how a web app works? Can you really expect them to just pick everything up as they go and still be a major contributor to the project?

Re: How To Hire Me (or any other programmer)

#224
post #23

How to hire me: 1. Tell me about the 3 biggest things you must accomplish. 2. Tell me why you must accomplish them. 3. Tell me when you must accomplish them by. 4. Tell me how you intend to accomplish them. 5. Tell me what you're already doing to accomplish them. 6. Tell me the role you envision me playing in accomplishing them. 7. Tell me what you expect from me. 8. Put me with some of the key people already working…

That's some good stuff, but I'd add a couple: 1a. Show me the office I'll be working in. Any "open plan" or "2+ people per office" setup decreases your odds of hiring me by about 93%. Not to say I'll never take a job like that, but it really, really hurts your odds. 1b. Show me the rest of the building... are there common areas where people can hang out and collaborate away from their offices, preferably with natural…

1a. Just out of curiosity, what's wrong with "open plan"?

Re: How To Hire Me (or any other programmer)

#225

When I'm involved in interviewing someone, one of the interviews will be cookie-cutter. I've seen with my own eyes applicants who had stellar resumes, had great conversations with everyone they talked to... and could not pass a Cookie-Cutter Technical Interview. You may think that it's insulting to have to pass a Cookie-Cutter Technical Interview, but we are not (generally) a Professional group - we don't have a Bar…

> And I'm sorry, but it's a Buyer's Market. In what universe is this true. I don't want to imply anything but I feel like maybe you're not sure what "buyer's market" means. That would imply that employer's have large pool to pick from an those looking for a job are essentially lucky to find one. I don't think you meant that ... I'd hope if you are really in charge of hiring people you wouldn't think that because, I f…

The employers I've worked at, since about 2002, have had a large pool to pick from, and those looking for a job have gotten less and less of a cut of profits and their benefits have been cut back, fairly consistently (relative to inflation, etc.)

People are still afraid of losing their job. Some people have been under-employed for a long time, now, and are settling for jobs they previously left in distaste. A lot of people feel stuck.

Let me try to rephrase it - there are entrepreneurs, there are people who will accept a lot of risk... and then there are people who feel they cannot move, have a low tolerance for the imagined future pain of being unemployed, worry about the housing market, worry about losing insurance... and when they are unemployed, they stand in line to try to distinguish themselves to the large companies that are nearby, so they can get a stable job.

Heck, I know people with advanced degrees in their fields who have accepted Internships just to have a paycheck.

There's no lack of smart people who will work hard at a stable job, and consider themselves lucky to get an offer for the positions at the companies I've worked at.

If you accept candidates who are not citizens (H-1B), I find it hard to believe that ANY of you have a hard time finding candidates. If you're open to telecommuting, especially.

Re: How To Hire Me (or any other programmer)

#226

Earlier quoted context omitted.

That's some good stuff, but I'd add a couple: 1a. Show me the office I'll be working in. Any "open plan" or "2+ people per office" setup decreases your odds of hiring me by about 93%. Not to say I'll never take a job like that, but it really, really hurts your odds. 1b. Show me the rest of the building... are there common areas where people can hang out and collaborate away from their offices, preferably with natural…

1a. Just out of curiosity, what's wrong with "open plan"?

Sitting a whole day with headphones...

Re: How To Hire Me (or any other programmer)

#227

Earlier quoted context omitted.

> Well, yes. As a non-equity employee, why should you care about "them", other than how you'll come out of working for them five years down the line? Because when you work at a company you don't care for, you are contributing to a toxic environment, which can hurt your career prospects much more than a sub-par salary, by making you caustic and bitter. If you come out of a job in anything other than high spirits, that…

As far as I can tell, this is quite untrue. Many of the most successful people I know are quite bitter about their previous employers. It's all about spinning that, though. It's not enough to just be bitter. You need to flatter your new employer, showing them that you jumped ship to them because they're so excellent, unlike those previous schmucks.

Everyone is bitter about their previous employers. If they wouldn't be bitter they probably wouldn't have left (except in odd case of, starting your own company,academics, research). What you are missing is - people generally have good time in companies but they leave when things go south.

For example, the startup I left - I slogged there for 4 years and I left because of some leadership changes(pressure from VCs), heck I had to leave without taking the stock options because of some technicality. Yes, I am bitter about them but out of those 4 years, 3.5 Years were incredibly fun and I learnt quite a bit. I think story repeats everywhere.

Re: How To Hire Me (or any other programmer)

#228
post #111

Number 1 rule for hiring geeks. - Do not ask for a .doc Microsoft Word document resume Because we might be scrambling and downloading LibreOffice and converting our .latex resume to .doc, if you want to get our attention, ask for TXT, PDF or LaTeX format.

Unless you're trying to hire geeks who can fit in to a standard office environment without weird platform demands. In which case, insist on .docx.

Well, yes and no. I write everything either in LaTeX or markdown these days, but its ridiculously simple to output either of these formats to docx, so normally that's what I do. I'll always send them the PDF version of my resume first though, as good typography can make you look better.

If a job requires me to write in Word throughout the day, that's a job I don't want (in fact, writing grant proposals in Word was one of the most frustrating things about working in adeademia).

Re: How To Hire Me (or any other programmer)

#229
post #67

Earlier quoted context omitted.

You're right, it's a buyer's market. And this kind of thing shows it. But for some reason we keep hearing that there is a massive talent shortage. Hmm...

Ahhh....I think the two concepts (buyers market vs. talent shortage) are related. It's a "Buyer's Market" right now for average talent. And honestly, most start-ups only need average (competent) talent. But if you need above-average talent, there's a perpetual shortage. Speaking from experience (and I'm NOT a name you've likely heard of -- I'm just a generalist who is good at low-level through high-level code and API…

API design is really key to working together. If I could pick one thing about myself to improve right now it would be API design skills. I think a lot of other programmers don't get it for whatever reason, so I can see why that would be in high demand.

Re: How To Hire Me (or any other programmer)

#230

Earlier quoted context omitted.

That's some good stuff, but I'd add a couple: 1a. Show me the office I'll be working in. Any "open plan" or "2+ people per office" setup decreases your odds of hiring me by about 93%. Not to say I'll never take a job like that, but it really, really hurts your odds. 1b. Show me the rest of the building... are there common areas where people can hang out and collaborate away from their offices, preferably with natural…

1a. Just out of curiosity, what's wrong with "open plan"?

What's wrong with open plan wrt programming productivity is that it's distracting. Also, you can't have a private conversation without grabbing a real office, requiring you to move, and that takes up more time.
Post reply on HN