Live data from Hacker News

What does it take to be a good programmer?

qristin.wordpress.com

61–70 of 107 posts

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

#61

Earlier quoted context omitted.

> does not reinvent things which are not necessary to reinvent. This is one of those "eye of the beholder" things. If I had a quarter for every time I've heard "That's a solved problem," with a reference to a dependency, somewhere, I'd be a rich man. I tend to really avoid external (not written by me) dependencies, because I have had many problems with other people's code. Fixing someone else's badly written open-sou…

That's fine if nobody else has to maintain your code. If they do it's difficult to see how your solutions to solved problems aren't going to be significantly more problematic and risky than established libraries.

Not really. I'm pretty good at what I do. Feel free to see for yourself: https://github.com/ChrisMarshallNY#browse-away

Most of those repos are dogfood.

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

#62
> That’s what should matter. That’s the whole point of programming. The point of programming is to create software that delivers value to the users.

She's right.

A good programmer makes computers do good, useful things for people.

You could be a wizard at programming, and work to serve ads, or sell lootboxes, or skim pennies off high-frequency trades, but that wouldn't make you good.

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

#63

Earlier quoted context omitted.

I've no idea what you're talking about and I suspect other people you meet and interact with (at least online) will feel the same way. I know this might sound harsh, but that's my feedback in the event you're at all interested in communicating more effectively online.

This is not an industry for the emotionally sensitive, sanctimonious, or petulant.

Must agree with the other commenter: It's quite hard to understand what you're trying to say.

Also, comments like this are coming across as arrogant. You appear to have jumped to the conclusion that xwowsersx has little experience in the industry and thus come across as patronizing.

As to your original comment: As a SW engineer, I've never had to work more than 40 hours a week, have no student loan debt, and make a lot more than a plumber. If you find yourself forced to work a lot more, you likely have made poor career choices (not by picking the SW industry, but by picking the wrong sub-discipline and/or company). As such, the fact that you're doling out advice as if you know a lot looks even worse.

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

#64
post #4

> In todays field of software development, people don’t come into it To be as polite as possible without being dishonest; wow, there are a few rather sweeping, unsubstantiated, boiling hot takes embedded throughout there, i've just quoted one. From my experience, most of what features here just simply isn't true, or is at least very anecdotal. Just as one example, i've never worked for any software company that "wasn…

> Just as one example, i've never worked for any software company that "wasn't about the users".

Try working for any of the major CAD companies. They are openly user hostile :-)

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

#65
Shameless plug, but I’ve written a book about what differentiates a good programmers from great ones. [0]

In my opinion the soft-skills far outweigh a person’s technical skills in terms of importance when it comes to identifying whether is a good programmer and should be promoted to a senior position. Obviously the programmer needs to have strong technical fundamentals, but the essential soft-skills are things like:

* good communication skills (speaking, writing, and also listening)

* Reading and understanding unfamiliar code

* Recovering from mistakes

* Understanding how to add value

* Understanding how to manage risk

* Dealing with conflict in a professional way

* Managing your time efficiently

* So much more

A lot of those things can be learned over time, but historically I’ve seen junior engineers put these things off until a few years into their career when they’re ready to make the jump to a senior role, only to find that they’re lacking in one or more of those necessary soft-skills needed to get the promotion. I’ve always advocated for juniors to start working on these skills as early as possible in their careers, because it will make you a better programmer in the long run.

[0]: https://www.holloway.com/b/junior-to-senior

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

#66
post #49

Earlier quoted context omitted.

> Uses commonly accepted approaches, libraries, style I would argue NOT to do this if you're writing Java. Java paradigms are awful, lead to way too many layers of abstraction, and code that is impossible to debug because your stack traces are just 30 calls of ".invoke()". > Readable by programmers who'll work with that code in the future. And yet Perl became popular.

Java was the language of choice when I was at university. The way they described it to us, was that everything about it was designed with teamwork (and large teams) in mind. I don't know how well it really did that even by the standards of the era of its introduction, but it has the air of plausibility. Certainly, I expect anyone who is used to that style to prefer to encounter and work with Java written in that styl…

> As I recall, the joke being that it was a "write only" language.

Yeah, which is why I question how it go so popular.

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

#67
post #60

Earlier quoted context omitted.

> does not reinvent things which are not necessary to reinvent. This is one of those "eye of the beholder" things. If I had a quarter for every time I've heard "That's a solved problem," with a reference to a dependency, somewhere, I'd be a rich man. I tend to really avoid external (not written by me) dependencies, because I have had many problems with other people's code. Fixing someone else's badly written open-sou…

This is our stance too. Even within the "batteries included" aspects of the .NET6 framework, we insist on doing certain things our way. Some of the biggest examples being AspNetCore logging and the JSON-style configuration abstractions. We completely rip this out and do it in code-time our way. I cannot account for the exact number of hours we wasted trying to do [x] the 'official' way only to be burned at deployment…

Reinventing the wheel can also lead to difficult-to-find bugs that explode years down the road. Yeah, you could reimplement the parts of zlib you need in a couple hours, but just use zlib, even if it's a core part of your functionality.

However, as an industry we don't have a great way to know what is or isn't reliable. I've started publishing component datasheets with my utility libraries because that conveys the sort of commoditization I think we should strive for, but they haven't been very useful so far.

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

#68
post #49

Earlier quoted context omitted.

Java was the language of choice when I was at university. The way they described it to us, was that everything about it was designed with teamwork (and large teams) in mind. I don't know how well it really did that even by the standards of the era of its introduction, but it has the air of plausibility. Certainly, I expect anyone who is used to that style to prefer to encounter and work with Java written in that styl…

> As I recall, the joke being that it was a "write only" language. Yeah, which is why I question how it go so popular.

"Write only" means nobody works with it once it's been written ;)

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

#69
post #63

Earlier quoted context omitted.

This is not an industry for the emotionally sensitive, sanctimonious, or petulant.

Must agree with the other commenter: It's quite hard to understand what you're trying to say. Also, comments like this are coming across as arrogant. You appear to have jumped to the conclusion that xwowsersx has little experience in the industry and thus come across as patronizing. As to your original comment: As a SW engineer, I've never had to work more than 40 hours a week, have no student loan debt, and make a l…

How many companies have you worked for in the past 30 years?

Although ones history is fairly meaningless when it comes to general opinions. Most professions don't have a sub 3 year Churn rate with fortune 500 companies.

We can have differing opinions, and from each perspective believe we are correct.

Have a gloriously wonderful day =)

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

#70
post #63

Earlier quoted context omitted.

This is not an industry for the emotionally sensitive, sanctimonious, or petulant.

Must agree with the other commenter: It's quite hard to understand what you're trying to say. Also, comments like this are coming across as arrogant. You appear to have jumped to the conclusion that xwowsersx has little experience in the industry and thus come across as patronizing. As to your original comment: As a SW engineer, I've never had to work more than 40 hours a week, have no student loan debt, and make a l…

Yeah. In fact, I have ~15 years of experience (my current role is Director of Engineering). I note this just to point out how off Joel is. I offered my feedback on the off chance it might be well received, but it seems there's more going on with him. I feel that sympathy is the only correct response at this point.
Post reply on HN