Live data from Hacker News

Programmer's Dilemma

medium.com

81–90 of 113 posts

Re: Programmer's Dilemma

#81

Earlier quoted context omitted.

Every hear of segfaults? They are almost always the result of de-referencing NULL.

I think of segfaults as being caused by accessing an out-of-bounds index in an array, personally. Yes, you can do the same thing by dereferencing NULL, but in my (university only) experience, overrunning an array came up much more often.

In C, accessing an out of bounds array index does not necessarily cause a segmentation fault. It's called buffer overrun and regularly used in malicious exploits / attacks.

What does occur many times is you mess up your stack, or mess with other memory in your heap, causing segmentation faults for various other reasons.

Re: Programmer's Dilemma

#82

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…

Its called Continuous Professional Development (http://en.wikipedia.org/wiki/Continuing_professional_develop...) and is indeed a requirement in a great many professions.

Re: Programmer's Dilemma

#83
post #33
post #31

Earlier quoted context omitted.

There is "crappy" as in buggy / overcomplicated and there is "crappy" as in lean, simple minded LRU that just works. The latter is production-ready high quality, even if it may be not tuned or optimized. You can tweak later, first can you actually ship some code?

I think it takes more than an hour to make something production-ready. Setting up test cases and tracing down memory errors and leaks is going to take a while, even (and I would think especially) for an experienced C programmer.

What memory errors and leaks? A good coder should be able to produce error-free code on first try, provided the documentation is clear and correct, and the problem is sufficiently simple (as in this case).

Tests and debugging will only get you so far, theoretical methods can get you farther in terms of correctness (provided your compiler isn't broke etc).

Quoting Linus Torvalds: "Don't just make random changes. There really are only two acceptable models of development: "think and analyze" or "years and years of testing on thousands of machines". Those two really do work."

Re: Programmer's Dilemma

#84
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…

I don't quite buy your argument - yes these professions may work long days, but generally the upkeep of skills falls into those allotted working hours. Programmers should do this too, when it is helpful to their work. But suggesting that someone should add a whole new project to their resume on the weekend is akin to saying a lawyer should take on a pro-bono case just to buff their CV. If they want to do that, more p…

I don't know, most professionals I know spend at least some of their "free" time (or at least the time they spend at home) reading journals or publications.

The idea of a profession is that one is not generally paid by the hour for "work" even if one bills a client by the hour so time spent on professional development whenever it takes place is part of work and covered by a salary rather than a wage.

Of course it might be true that other professions do less non-billable practical work though this is probably more due to the fact that programming doesn't require a significant budget.

The issue I think is one that many companies want programmers to work more like wage laborers and take care of the professional side for themselves.

For example a law firm is probably more likely to allocate budget for associates to use for professional development than an IT contracting company.

Re: Programmer's Dilemma

#85
post #76

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…

"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 through classroom instruction or attendance at recognized conferences or seminars. This is not the same as doing your day job after hours for fun or because you feel you must in order to actually get a new job. It certainly does not keep your skills sharp.

Doctors, lawyers, and PEs also have professional societies and often employers to facilitate obtaining CEUs in the most efficient manner.

Re: Programmer's Dilemma

#86
post #76

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…

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

I think plumbers would be a better example than lawyers. Do you expect them to unclog toilets in their free time?

Re: Programmer's Dilemma

#87

Earlier quoted context omitted.

The world of software development moves faster than almost all other fields at the moment, particularly with regards to the tools that we use. All other things being equal, the person with experience in the specific tools the organisation uses will get the job. Its just an unfortunate consequence of the industry we are in. You are of course free to not chase the bleeding edge tools in your spare time, and youll proba…

I don't think that's true at all. According to this paper: http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2909426/ The number of new medicine journal publications significantly outpaces the number of new computers science journal articles per year. Doctors are expected to keep up to date with the most recent research as part of their jobs, and they are payed to do so by going to conferences etc... I don't think the same…

Academic CS research has practically nothing to do with professional programming. Professional programmers constantly learn new tools and technologies... for the most part these aren't academically novel. (Much to the field's detriment)

Re: Programmer's Dilemma

#88

Earlier quoted context omitted.

The world of software development moves faster than almost all other fields at the moment, particularly with regards to the tools that we use. All other things being equal, the person with experience in the specific tools the organisation uses will get the job. Its just an unfortunate consequence of the industry we are in. You are of course free to not chase the bleeding edge tools in your spare time, and youll proba…

I don't think that's true at all. According to this paper: http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2909426/ The number of new medicine journal publications significantly outpaces the number of new computers science journal articles per year. Doctors are expected to keep up to date with the most recent research as part of their jobs, and they are payed to do so by going to conferences etc... I don't think the same…

That's because medicine is much more of a science than software. Software changes like fad diets, not like surgery.

Re: Programmer's Dilemma

#89

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…

>That's never the "right" thing to do. The right thing to do is to commit to Github because you want to.

The article presents doing your own projects as a thing you should do.

>Or Android app programming, even; most Java developers would still take months to get up to speed on Android, if they ever managed adapt to the Android way of thinking at all.

Are you suggesting that it would take an experienced Java programmer several hundred working hours to get up to speed on Android? And that you expect new hires to have worked several hundred hours on Android in their free time instead?

Re: Programmer's Dilemma

#90

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 for fun, and what you do for money.

You shouldn't program on your spare time in order to pick up new high-demand skills, indeed that's just a pleasant side effect. You should program because it is fucking radical.

Post reply on HN