Live data from Hacker News

How To Hire Me (or any other programmer)

youell.com

251–260 of 266 posts

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

#251

Earlier quoted context omitted.

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…

The bar in this business is still so low that "average" talent is utterly useless and nowhere near "competent". Step outside the HN bubble and you'll know that this business is still seriously fucked, and not getting any better. The only thing that has improved is that many of us, both employers and developers, have gotten better at isolation ourselves from it. We maintain our own little bubble of online communities,…

Well, OK, I agree, for the most part.

But I have seen CVs of people "outside." Heck, I've accidentally become an expert at fixing people's broken code, or porting crap code from one platform to another. I've SEEN how bad it gets. (And as I type this, I'm procrastinating from porting some code from one platform to another that I'm surprised works at all -- oh wait, it actually crashes All The Time. Sigh.)

And I know that even THAT work is filtered so that I only see the code written by people who eventually got something to run at all.

Oh, I know how bad it gets. In part it's why I've gone the consulting route; there's no way I'd be adequately compensated working as an employee anywhere. By at least a factor (divisor?) of two.

But you have to figure that all of those people who suck are still developers. Professionally. And some of them have been for 20+ years. So someone must hire them. At least sometimes. And that means there's a market for them. And in that market, I continue to assert, is a buyer's market.

Now it's a market I have no interest in shopping in. I assume all of these people end up in huge companies that can afford to have people who barely know what they're doing. But someone must hire people from that crowd or they'd give up and take blue collar jobs. Everyone has to eat, right?

But yes, you and I and a large fraction (at least) of the HN crowd live in the Seller's Market.

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

#252

Earlier quoted context omitted.

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.

>If I could pick one thing about myself to improve right now it would be API design skills.

I know it's cliche to suggest, but learn by doing. You need to think about what you're doing, of course. Otherwise you're just doing things by rote.

One thing I love to do when designing an API is to write pseudo-code that is using the new API, before I even start to design the API itself. Just think to yourself, "What is the exact call I want to be able to make?"

That call probably doesn't have a dozen parameters, or 15 lines of set-up. It has the minimal information you need to get things done.

Oh, and one other trick: If anything EVER annoys you about an API, decide to fix it rather than putting up with it. I don't care if it's NOT "your" API to fix; wrap it with convenience functions if necessary.

Good luck.

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

#253

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 th…

I mentioned my use of a favorite editor and command line scripts; so, I should add some detail on those two:

My favorite editor is KEdit (Mansfield Software), a PC version of the IBM VM/CMS editor XEDIT. The macro language of XEDIT is Cowlishaw's Rexx, and KEdit uses their similar Kexx. My scripting language is ObjectRexx, an extension of Cowlishaw's Rexx. Rexx is elegant.

Nearly all my typing for everything goes into KEdit -- one means of input to rule them all.

My spell checker is Aspell from some TeX distributions; it's a darned well written program, can support several languages, and lets me maintain just one addendum dictionary!

VB:

I programmed in C for a while and got used to it. If I used C# daily, then I'd likely get used to it. As I recall, K&R confessed that the C syntax is idiosyncratic, which I agree with. E.g., can write

     i = j++ + ++k
Too tricky for me. When I read Lippman on C++, it seemed trickier. What I've seen of C#, say, from reading Microsoft's Web pages at their MSDN, it looks like it's borrowed such 'sparse' syntax from C++.

So far it appears that Visual Basic .NET (VB) and C# differ essentially in the flavors of 'syntactic sugar' and could be translated one to the other, almost statement by statement. So, I prefer VB mostly due to a flavor of syntactic sugar.

What I like in the VB syntax is essentially the "cumbersome" part -- somewhat redundant, easy to read, puzzle problem free. I type the code in quickly and let the VB compiler tell me when I've omitted little things. But there's enough redundancy in the syntax so that the VB messages usually still recognize what I intended. Good -- I don't want some tiny typing errors to convert what I want into a still legal statement I don't want.

VS:

First, I don't like the one window with lots of small panes. Second, when I look at VS, I can't make any sense out of it. E.g., I have no idea what the little icons or the various panes are for. Then, I've never seen any very good documentation. I could figure it out, but my objective is my business.

The times I tried VS; it created a 'project' where Hello World started off as 50 MB of 'stuff' I didn't understand. Then I fear that if, really when, something goes wrong I will have to dig into that 50 MB, with no documentation.

For more, I don't want to type into VS if only because I don't see any hope for the kinds of functionality I get with KEdit and macros that I highly value.

Instead of VS, here's an outline of what I do:

In the morning when I start programming on my Web 2.0 project, I run some little ObjectRexx scripts that open about 25 windows, mostly KEdit and Firefox, in a particular Z-order and arrange the UL corners of the windows equally spaced on a line on my screen from LL to UR while preserving the Z-order. I close the windows I won't be using that day and end up with 10-20 windows. When the windows get to be a mess, one click on an icon drives an ObjectRexx script to arrange the windows again preserving both the Z-order and the order of the left sides. Net, I get in effect much more screen area for my work than I get from the one VS window with its small panels.

The windows are mostly for files and directories where I am working or with relevant documentation. In addition, one of the scripts starts in a console window the session state store I wrote (some TCP/IP and a collection class).

I have 4000+ Web pages of documentation and a little system for abstracting the pages and finding the pages I need. In addition, for more relevant pages, I put in my source code page titles and corresponding tree names on my computer; then one keystroke in KEdit has Firefox display the Web page from which I can continue to traverse the MSDN tree back at MSDN. That's my substitute for Intellisense.

KEdit is terrific as an easily automated chef's knife and cutting board for slicing and dicing files of text, working with collections of files, starting programs, dialing phone numbers, etc. I don't want to type into VS instead of KEdit.

For debugging, the main challenge for me is finding the cause of the software going "poof" after running for some interval. So, with interactive debugging, there is too much stopping at break points and starting again. Instead, I just have my code write values of relevant variables to a file or, for the code for a Web page, the Web site log. After "poof" I look at the output, maybe 10 MB, go the bottom where the "poof" happened, and move backwards, using the KEdit 'select' tools to show me what I want. It's always worked so far! Sure, later I could have the writing go over TCP/IP to a program that keeps, say, the 10,000 most recent lines.

> 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.

Sure, some of those I do now. But I just don't yet have or need formal procedures and tools. One thing I do nightly is an incremental backup!

Since I'm just one guy, some simple techniques are sufficient for being organized. And at Yorktown Heights, I found that for our team of seven, still we could use just simple techniques.

> 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 just said "sufficient"; I didn't say necessary or "requirements"!

One reason for my interests in this thread is that I don't yet know just how I will hire; I don't intend to hire all Ph.D.s.

My company needs for the code to be a solid company 'asset'. So, the code has to be well written and not just some gibberish.

For what I'm doing, I believe I could teach good people quickly.

On my

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

So, have (n)log(n) in-place sorting, balanced binary trees, TCP/IP, if-then-else, do-while, call-return, etc. Simple.

We are in agreement. Most of the sauces in Escoffier are fairly simple, but running a three star Michelin restaurant is not. Having a big chunk of production software in good shape and working and moving along nicely is not so easy and takes some good people.

On salary we may not be communicating: What I hear about programmer salaries, e.g., people happy to get $100 K a year, sounds a bit short of the standard I mentioned. E.g., $100 K a year won't go very far where houses are $400 K, taxes are high, and want to support a wife and three kids.

Early in my career, in one two week period I went on seven interviews and got five offers. Then I was getting paid about six times what a new Camaro cost. Today that would work out as $240-300 K per year.

Right, houses at $400 K are too expensive for anyone to afford. Yet, people keep buying them.

We largely agree on training. Some conferences are just for entertainment, but some are important for training. And could at times use some in-house lectures or short courses, given by people from inside or outside.

> This seems like a very bad approach to use if you value improving your skills, gaining domain knowledge, or keeping up with industry trends.

I'm not interested in JavaScript because I don't have anything important in mind I need to do with it beyond the JavaScript Microsoft writes for me.

I believe that the goals of both the company and the employees are closer to the bottom line, that is, the real business needs, than what you mentioned. And I believe that there is relevant knowledge to be gained much more valuable than what you listed. To me "industry trends" are too much like a fashion show, not that I've ever been to one.

We're not communicating well on the role of good technical writing. E.g., suppose someone in my server farm looks into system management platforms from, say, CA, EMC, HP, IBM, and Microsoft, goes to some conferences, tours some sites, gets some sales pitches, talks to some consultants, etc. Then I will want them to write up a report on what they learned and give a presentation to likely the whole server farm staff, myself, and maybe others.

I could list another dozen such.

For a significant new software development project, there should be at least a first cut design document.

For technical writing, I believe that should be done by people who understand the material really well. For 'technical writers', they may help such a person with organization, grammar, punctuation, building an index, etc.

Your remarks critical of "JIT skills" have some value. But I anticipate people bright enough and growth slow enough that what I outlined should work. If they want to know how the Web works, say, from the ISP connection into the LAN switch to the servers, etc., fine: I'll outline it quickly. Then I'll have the first person write up notes available to teach others, get some books, etc.

Current computing can be super complicated, but my plans for my company are to keep nearly all the computing relatively simple. If the computing gets to be a big, complicated thing, then I've done something wrong in my business planning and server farm and software architecture.

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

#254

Earlier quoted context omitted.

> but it's a Buyer's Market On what planet?

> You think it's hard to find programmers, at any given level of skill? If it were easy to find programmers, you wouldn't have all these shops using spam-tactic recruiters to drive volume. They wouldn't need to. It's most definitely a seller's market, if programmers can take their pick of corporate gig | freelancing | startup. My last job hunt took one hour. Their search went on for two months. If they fired me I cou…

Let me give you some perspective. I'm not "good", interviews are incredibly painful to me. I work at a big-corp right now doing perceptual computing which I'm very happy with. It's not Google in terms of public perception, but it's not extremely bad either. I tried job hunting a few months ago, interviewed at the big ones. The interviews went mostly well actually, but I didn't get a single offer. Basically, given my specialty, I have to be extremely good to get an offer. I can't apply to any job that has to do with the web or mobile, because the stuff I'm building in my spare time is not enough experience.

Basically, the more specialized you are, the more brittle your situation is. I also happen to be an immigrant, which together with the specialization means that for any given city, there might be 2-3 employers I can apply at tops. My plan going forward is to basically abandon my specialty in favor of a more common/in demand skill set.

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

#255
post #46

Earlier quoted context omitted.

" 10. Take me to a Chinese buffet." I've had so many bad experiences with Chinese buffets that I steer clear of any place that would suggest that.

I mentally substituted "dim sum" for "a chinese buffet" because the latter just doesn't make any damn sense to me.

Maybe he lives in a deprived part of the country where "Chinese buffet" is the best Chinese food?

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

#256
post #233
post #144

Earlier quoted context omitted.

> You just told me that CS graduates can still be completely incompetent, but then you expressed surprise that apparently degrees don't matter that much any more. =) In his defense, and as a recent grad with my CS degree this last year, the curriculum doesn't really sell itself at all for professional software development. Knowing algorithms / language theory / OS theory / theory in general doesn't mean you can throw…

you probably mean "Monte Carlo". those liberal arts places... :-)

No, I did mean Monte Hall - see https://en.wikipedia.org/wiki/Monty_Hall_problem

It was a class project my freshman year. I already knew the probabilistic parts to it from junior statics in high school, so I was bored out of my mind.

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

#257

Earlier quoted context omitted.

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

To be fair, plenty of people like it. I hate it. It's a personal preference. In terms of anything that's really quantifiable, I'll say that I believe "open plan" leads to a constant stream of distractions and interruptions which kills your ability to get into - and stay in - that "flow" state of maximum productivity. It also sucks if you need to make the occasional personal phone call, or if you feel the need to pick…

Indeed! but there is also some benefit with open plan. You can fire ideas and questions away without picking up the phone or walk down the hallway to reach your coworker cubicle or office. It also let you know your teammate better. With that being said, I am all for private space since I can think better in quiet place and dislike having people walking around my back and staring at my screen.

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

#258

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…

Now this is some fine trolling.

"I've been surprised and pleased by how well Visual Basic .NET works for Web page development on Microsoft's Internet Information Server (ISS)" - Jesus Wept.

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

#259

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…

Now this is some fine trolling. "I've been surprised and pleased by how well Visual Basic .NET works for Web page development on Microsoft's Internet Information Server (ISS)" - Jesus Wept.

"Trolling"? I have no idea what you are talking about. What I wrote is simply, rock-solidly, literally true -- "I've been surprised and pleased ...".

Your concerns are that I'm on Windows instead of Linux, not using Visual Studio, am using Visual Basic .NET instead of C#, that I didn't just criticize Microsoft but found something in their work I like, or something else?

Me? I've never touched Linux, tried Visual Studio in total for less than an hour, have not looked seriously at C# and so far have yet to write a single line of it, and do have some objections to some of Microsoft's work. Still, as I wrote, "I've been surprised and pleased ...".

If you have some concerns, then cough them up.

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

#260

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…

I never bother with cookie-cutter interviews. With the exception of the first, every time I've had one I ended up being made an offer, and turning the job down. First, I found obscure technical questions from interviewers a bit sadistic. Almost as though the interviewer is trying to tell you how good she is. When I accepted an offer after such an interview I only lasted three months, because the interviewer felt thre…

"If, conversely, a candidate asked me the questions edw519 listed above, you'd pretty much be guaranteed a job."

I'm confused. Is it normal for an interviewee to ask the interviewer a tricky technical question at some point of a job interview now? Am I reading this correctly?

Post reply on HN