Live data from Hacker News

Programmer's Dilemma

medium.com

91–100 of 113 posts

Re: Programmer's Dilemma

#91
post #26

Two observations: - The worst programmers work for big corporations. Because there the overall level of competence is so low they can scrape by barely doing anything. - Very true about keeping skills sharp and developing new skills. It's hard to do and hard to keep up but always worth it.

The worst programmers also work for small companies, because it's easy be a big fish in a small pond, etc.

Or maybe there are varied workers at various levels in various organizations. No simple rule satisfies.

Re: Programmer's Dilemma

#92
It is kind of interesting seeing the difference between approaches that other tech interviewers use - the following was one that I saw today on linkedin:

http://firstround.com/article/The-anatomy-of-the-perfect-tec...

I think that it needs to be a combination of 1) what is on your resume as you become an expert in a fairly specialised piece of technology and on 2) general knowledge.

I feel a bit sorry for the guy who had to write the LRU cache. I have been in unfamiliar surrounds before and come across as a blathering idiot, and I didn't feel it was 100% my fault. The interviewer has some responsibility in trying to understand the background of the person, and is not there to show how smart he is.

Re: Programmer's Dilemma

#93

Earlier quoted context omitted.

> Do you see any other professions having to do that in order to stay employable? Yes, most professionals do. Licensed professionals--doctors, lawyers, veterinarians, civil engineers, teachers, etc.--are usually required to get a certain number of Continuing Education Units every year to retain their professional license. The specific requirements differ from state to state.

Many professions enjoy employer paid continuing education. A totally different ballgame. Staying up every night committing to Github in hopes of landing a job is a terrible terrible thing. I know because I used to do it when I was young and stupid. The only reason why I was able to land my first dev job fresh out of college is because I had an open source project that I built in my own free time. If it hadn't been fo…

Doctors in the US get paid per procedure. I sincerely doubt there is an insurance billing code for time spent reading journal articles.

Re: Programmer's Dilemma

#94

When people tell me that I should "do projects in my own free time to keep my skills sharp", it throws me into a fit of rage and makes me want to tear them a new one. Do you see any other professions having to do that in order to stay employable? Can you imagine lawyers having to practice law in their free time to "keep their skills sharp"? Can you imagine civil engineers having to draft plans for bridges and buildin…

> I prefer spending my free time having great interactions with my friends and my girlfriend, enjoying traveling and getting new experiences and just making the most of this one life that I have. For me, software development and picking up new technologies and abstractions IS "making the most of this one life that I have." If you truly love what you do, then there shouldn't be some dividing line between what you do f…

Programming can be fun even if it's unfun after 8 hours of programming.

Re: Programmer's Dilemma

#95

Earlier quoted context omitted.

Many professions enjoy employer paid continuing education. A totally different ballgame. Staying up every night committing to Github in hopes of landing a job is a terrible terrible thing. I know because I used to do it when I was young and stupid. The only reason why I was able to land my first dev job fresh out of college is because I had an open source project that I built in my own free time. If it hadn't been fo…

>Many professions enjoy employer paid continuing education. Lawyers who work for a firm? Maybe. If they work for themselves, they're stuck paying the bills; continuing education is required in many fields, and yet it's not always reimbursed. >Staying up every night committing to Github in hopes of landing a job is a terrible terrible thing. That's never the "right" thing to do. The right thing to do is to commit to G…

Err, what? Months? It's just an API. I was once given two weeks to write a prototype of a small Android app, w/ no prior Android experience (years of Java, though) - granted, just being a prototype, it didn't need to be production-quality code (and I'm sure it wasn't), but I got the job done. I would feel perfectly comfortable putting an experienced Java dev w/ no Android experience in an Android role, provided they were working under the mentorship of an experienced Android dev.

ETA - I do agree w/ your main point, though - I wouldn't put a Java dev w/ no kernel experience on a kernel project either.

Re: Programmer's Dilemma

#96

When people tell me that I should "do projects in my own free time to keep my skills sharp", it throws me into a fit of rage and makes me want to tear them a new one. Do you see any other professions having to do that in order to stay employable? Can you imagine lawyers having to practice law in their free time to "keep their skills sharp"? Can you imagine civil engineers having to draft plans for bridges and buildin…

go fuck your girlfirend dude.. no one is stopping you. it doesn't matter if you don't keep your skills update.. let us be your boss and fuck you with lube.

Re: Programmer's Dilemma

#97
post #39

He's abrasive, but I really think michaelochurch is on to something here. Why are programmers old hat at 40, but not doctors? Answer: because it's accepted that doctors have to spend time sharpening their skills: reading journals, attending conferences, etc. This is not true at all of programmers ("The book said you could learn it in seven days. How hard can it be?"). Programmers sell themselves short.

Although I partially agree, medicine and things that doctors deal with does not move nearly as fast as computig/software engineering. I think the most important factor is the "virtual" nature of computing/software. In a relatively short period of time you can wipe everything and start from scratch.

If you do it right, by the time you hit 40 you understand that programming doesn't actually move that fast. The superficialities are churning rapidly, but there's an underlying truths are quite stable. They are moving, too, but much more slowly.

For instance, take JS frameworks. On the one hand, they're churning so fast that nobody could possibly keep up with them all. On the other hand... they're all just shuffling the same basic primitives around in various combinations, and exploring spaces hardly any different than their desktop brethren 20 years in the past. There have been cases where I've successfully predicted the failure case of the latest JS wonderthingy just by listening to how it works. For instance, five minutes after I heard Node described I knew about Callback Hell, even though the term as such did not enter the lexicon for about another year and half. I could also tell you exactly what the proposed solutions were going to be, what their advantages and disadvantages would be, and almost completely called what order they would be tried in, because it was all just a recapitulation of experiences had in other communities. From the surface it looks like Node has been in wild churn, with more understanding it's merely a turn of the wheel of history.

As an example of the other side, DRY isn't going anywhere, and developing your DRY-vision is the work of a decade. (It goes way deeper than most people seem to realize.)

Re: Programmer's Dilemma

#98
post #76

Earlier quoted context omitted.

"Do you see any other professions having to do that in order to stay employable? Can you imagine lawyers having to practice law in their free time to "keep their skills sharp"?" This is a profoundly ignorant question to ask: - Lawyers do essentially have to practice law in their free time. Many, many state bars require continuing legal education in order to remain barred. Can you imagine having to pay money for class…

CEUs required for licensure are not nearly the same as what the OP or GP are talking about. For Texas: - Medical professionals require 48 hours of continuing education per two years, of which 24 may be informal self study or hospital lectures - Legal professionals require 15 hours of continuing education per year - Professional engineers require 17 hours of continuing education per year CEUs are obtained either throu…

Almost every doctor or lawyer I know would likely gladly trade CE for "programmer-style" self study - and CEUs can keep your skills sharp if you do them right.

Re: Programmer's Dilemma

#99
post #63
post #36

Earlier quoted context omitted.

Well, he's fixed it now. We all make mistakes. Why not point it out politely instead of being snarky about it?

I did point it out politely. Of course we all make mistakes. Whatever are you talking about?

I'm sorry, but "I wish people would use spell check when writing blog post titles" comes across as rather sarcastic and rude. Perhaps you didn't mean it that way, but the internet removes all tone and context.

Re: Programmer's Dilemma

#100

Earlier quoted context omitted.

Side note: The people who chose to hack on the less-sexy Android OS are also extremely employable right now. I've had to turn down enough work this year that I could have employed three other Android programmers full-time, if I'd had them on call. I learned Android on my own time, because I liked the idea of a Linux-based phone OS. Most of the jobs I've gotten have been EXACTLY because I've been playing with the righ…

Agreed. It can be very frustrating to see technology change so, so rapidly. What we worked hard to learn is worth a bit less each year. But The fundamental data structures/algorithms don't change and the problem solving skills don't change. For example, get an Oculus Rift dev kit, fool around on that for a few months when the consumer version comes out you'll probably have more work than you can imagine. It's the sam…

Yeah, that is rather annoying isn't it. It's like, do we really need yet another way to build a web application? Most of these frameworks don't seem to offer anything novel but rather re-implement the same MVC pattern over and over again. But I'm not a web programmer, so I wouldn't know.

On the other hand, Linux kernel programming, which is what the author mentions, hasn't changed that much over the years. What the author seems to bemoan is that the developers are letting those core skills slide because they become dependent on the tools they use in their day-to-day jobs. But actually, I'm not convinced that the mediocrity of the candidates was due to decaying skills. They may not have been particularly skilled to begin with. Experience doesn't necessarily correlate to competence, after all.

Post reply on HN