Live data from Hacker News

What does it take to be a good programmer?

dimitrov2k.wordpress.com

101–110 of 116 posts

Re: What does it take to be a good programmer?

#101
post #100
post #82

Earlier quoted context omitted.

Algorithm knowledge too

Rarely, assuming you can read the docs enough to understand what pre-built library to use.

And assuming that A) the docs for the libraries do exist, and B) that, if the docs do exist, they don't look like the output of a million coked-up monkeys, that was then run through an automatic javadoc generator.

It's just staggering how shitty a lot of documentation is. I can forgive a one-person github repo for skimping on it, but I get a little irate when I'm using APIs from Fortune 500s and have to resort to decompiling because their docs are missing, incomplete, incorrect, or otherwise hot garbage.

Re: What does it take to be a good programmer?

#102

Earlier quoted context omitted.

This nails it in my opinion. Too often I see people assume that programming/coding is somehow science based. It's not really, it's an art and you need to be a creative person to be good at it. The science comes later (sometimes never for some).

I graduated with a music degree and have been a professional programmer for twenty years... I have honestly never really seen programming as an art. Not in that sense. It's got some elements in common with different kinds of music, like how you choose to make it balanced and cohesive I guess, but to me it's kind of a pale shade of musical artistry. If you're performing, it requires you to tap into some sort of "being…

I always thought programming is kind of literature, because you write in language for machines and humans at the same time ie. mix of logic and inspiration.

Re: What does it take to be a good programmer?

#103
The current state of software development has been bothering me. Having spent several years in the software industry, I don't find the motivation to write good code, or design elegant fixes for bugs. I have worked in large MNCs as well as small companies and I see the same trend every where: The management does not care about code quality or elegance. They just want to ship things ASAP. As a result, even if a few developers care about code quality and elegance, majority of the developers don't. They just want to put together a working software, no matter how it is achieved, and be done with their job.

Now, even if the minority of developers have coded a few modules that look absolutely elegant and neat, it interacts with the majority of the software that is complex, ugly and sometimes bloated. On top of that, in many teams, developers often touch each others' code and modules to make bug fixes, enhancements, etc. which means all code (whether currently elegant or not) tends towards ugly.

How, under these circumstances, do you maintain your motivation to write good, clean and elegant code after having worked about 10 years in the software industry?

Re: What does it take to be a good programmer?

#105

Earlier quoted context omitted.

This nails it in my opinion. Too often I see people assume that programming/coding is somehow science based. It's not really, it's an art and you need to be a creative person to be good at it. The science comes later (sometimes never for some).

I graduated with a music degree and have been a professional programmer for twenty years... I have honestly never really seen programming as an art. Not in that sense. It's got some elements in common with different kinds of music, like how you choose to make it balanced and cohesive I guess, but to me it's kind of a pale shade of musical artistry. If you're performing, it requires you to tap into some sort of "being…

There are multiple definitions of "art". And debates on how to define and classify "art" have been around forever. Where art thou, bro?..

The post you replied to seems to be using "art" in the very common sense like the phrase "more art than science" uses it: it's an art in that it requires some type of successful human judgment and subjectivity applied to the needs of a skill. If a fancy calculator can't give an official, right solution (or you don't have this calculator if it exists) somehow that became called an art. Technically, "art" applied to a skill or craft may be the oldest definition of the word. Obviously, these things are gray areas that involve both art and science. See Donald Trump's book "The Art of the Deal" for more info.

Just a question if you see this: Why and how would "delving for inspiration" be an art or artistry? Creativity and inspiration don't seem to be the same thing. Where does the control and art come in when delving for inspiration?

Likewise, in music you have the notes on the page (a computer can even play them). You also have accents and dynamics etc. on the page that require a higher level of subjectivity but instructions/descriptions can be written. Is there another level above that? Is there a part to performing a piece of music that can't be written? Is there a name for the unwritable part?

Re: What does it take to be a good programmer?

#106
post #101
post #100

Earlier quoted context omitted.

Rarely, assuming you can read the docs enough to understand what pre-built library to use.

And assuming that A) the docs for the libraries do exist, and B) that, if the docs do exist, they don't look like the output of a million coked-up monkeys, that was then run through an automatic javadoc generator. It's just staggering how shitty a lot of documentation is. I can forgive a one-person github repo for skimping on it, but I get a little irate when I'm using APIs from Fortune 500s and have to resort to dec…

Switch to Perl or Python if that stuff bother you. I find the libraries there are generally of a decent quality. JavaScript not so much.

Re: What does it take to be a good programmer?

#107
post #74

Earlier quoted context omitted.

More of a craft than an art. Sometimes it's more like woodworking, sometimes it's more like plumbing, but it's rarely anything like painting.

Some years ago now, I came upon a lovely essay entitled "Hackers and Painters†". Here is how it begins: When I finished grad school in computer science I went to art school to study painting. A lot of people seemed surprised that someone interested in computers would also be interested in painting. They seemed to think that hacking and painting were very different kinds of work-- that hacking was cold, precise, and m…

Paul has an entire book of his essays by the same title, it's a great read all kinds of programmers. :)

Re: What does it take to be a good programmer?

#108
post #45

I'm training my nephew, he's living with me while going to college in the philadelphia. He's been getting really frustrated hearing platitudes like this from his professors. I've basically been mentoring him and having him read https://github.com/braydie/HowToBeAProgrammer , Comp Science with Python, and a couple books on linux and C to help with some lower level stuff. He's been struggling a lot with C and Linux con…

I agree that it would help with a better understanding. I can't help but wonder why aspiring sysadmins and programmers DO NOT have immediate interest in such things? To me it just 'made sense' and 'clicked' almost immediately. Maybe I learned from a different angle, but it seems obvious to me to want to learn these things (C and Linux fundamentals, I mean).

I don't know for sure but. I noticed a lot of his class notes were written for windows and mac users. Also a lot of it was focused on java and python. I wonder if C and Linux classes became higher level electives.

Re: What does it take to be a good programmer?

#109
post #74

Earlier quoted context omitted.

This nails it in my opinion. Too often I see people assume that programming/coding is somehow science based. It's not really, it's an art and you need to be a creative person to be good at it. The science comes later (sometimes never for some).

More of a craft than an art. Sometimes it's more like woodworking, sometimes it's more like plumbing, but it's rarely anything like painting.

I'd have to disagree; I view programming as an art similar both to music composition but also very much like painting---this may require expanding your definition of panting from the classical sense to the Dada sense of found object sculpture as a form of painting/making-your-own-paint (can't find citation, but there is a good Marcel Duchamp paper about making your own paint I was trying to find---but late for work!).

Re: What does it take to be a good programmer?

#110
post #99

I wish everyone were forced to program everything on a machine with the resources of a Pentium I-class processor and say 64MB RAM. Learn to conserve your resources, learn to eschew that which is not needed, and for crying out loud learn to not write bloated stuff. Even today, most programs I use on Windows 7 were written back in the days of Windows 95/98 and they still work faster than any current modern implementati…

And then we would only have a fraction of the current tools and innovations, because we would all waste an enormous amount of time doing tedious memory and resource management. While modern tools and frameworks may sometimes feel bloated, they allow us to develop and iterate fast. I know I would've finished less projects if I had to be programming with performance and size in mind. For a lot of projects it just doesn…

"While modern tools and frameworks may sometimes feel bloated, they allow us to develop and iterate fast"

And insecurely, at the same time. The majority of vulnerabilities today come from shoddy programming practices taught by the newest languages and frameworks.

Post reply on HN