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.
How To Hire Me (or any other programmer)
221–230 of 266 posts
Re: How To Hire Me (or any other programmer)
#222Earlier 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…
edw519's questions provoke conversation, where yours provoke sales talk.
Re: How To Hire Me (or any other programmer)
#223Interesting 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…
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)
#224How 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…
Re: How To Hire Me (or any other programmer)
#225When 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…
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)
#226Earlier 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"?
Re: How To Hire Me (or any other programmer)
#227Earlier 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.
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)
#228Number 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.
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)
#229Earlier 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…
Re: How To Hire Me (or any other programmer)
#230Earlier 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"?