Live data from Hacker News

What are some things you wish you knew when you started programming?

quora.com

91–100 of 102 posts

Re: What are some things you wish you knew when you started programming?

#91
post #57

Seek out well written projects and contribute to them, you'll learn far faster the principles of good software than working alone or on badly written code. Focus on maintainability above speed, terseness, or perfection. Worse is better ( Your plans/thoughts on any matter are strictly inferior to your thinking after putting it into practice, so do not plan too much. Instead, experiment.

I think there is value in working with poorly written code. You will learn all the details of the language, because you will see many edge cases. You will learn about all the bad ideas (aka anti-patterns) so that you can avoid them. You will learn that comments are lies and that there are things that you can't trust. And hopefully, you will learn how to turn bad code into good code without introducing more bugs than…

I was writing from my own regret. I feel that I learnt surprisingly little by spending a decade rewriting badly written code. I should have found out what encapsulation was years earlier. Sure, there are lessons there, but I think you will pick most of them up anywhere; you're always exposed to code you don't like.

I still value terseness highly, as in my opinion it's strongly correlated with readability (though not at all when taken to extremes), but I very often have to increase verbosity to increase maintainability. E.g. don't take shortcuts that will leak through abstractions.

Re: What are some things you wish you knew when you started programming?

#94

That unless you are in a pure code monkey position, programming is at most, 30% of the job and there is an array of skills that have nothing to do with programming that when mastered, will give the impression that you are an expert programmer.

Exactly. Once you understand that coding is just a means to an end, you start looking at things more holistically. For a programmer, his code is the most important cog in the machine; but that is certainly not the case, marketing, user experience etc. are as important.

Re: What are some things you wish you knew when you started programming?

#95
post #88
post #87

Earlier quoted context omitted.

I can't thank you enough, this is really great. I've attempted a lot of videos etc. I really enjoy Shai Simonson's stuff, for example. And it helps me think more about things like time &/ complexity, but I've really struggled to find a "path" so to speak. I start losing them and without an application lose interest. So thank you again, I greatly appreciate it.

I remember Shai from back in the ArsDigita days. ArsDigita and OpenACS were one of the first open-source projects I was involved with. Shai was one of the instructors at ArsDigita University -- one of the first CS courses on the Internet. ADuni began as an experiment by Phil Greenspun to see if it was possible to teach non-CS college grads the MIT Course 6 curriculum, compressed into a one-year, accelerated postbacca…

Those ADuni lectures are actually what I know him from. They're excellent, and I very much admire his teaching. The problem I think is either that I went too far in the lectures without attempting the problem sets, or that I simply didn't have the educational prereqs or a work / hobby application to ground me and keep me working at it. Nonetheless, I very much admire the work and enjoy watching the lectures. If nothing else it gets me in a better headspace when I program. Hopefully I can transition that into learning the actual methods and techniques over time.

I will definitely check out the MIT course. I bet that would help me retain it much better. I was also looking at the Math for Electrical Engineering & Computer Science that I think you mentioned in an earlier comment.

Re: What are some things you wish you knew when you started programming?

#96
post #85

Smalltalk plus the book about patterns. That would have been a game changer. It happened to me but years later and largely improved my coding quality on all other tech stacks

>the book about patterns Could you be more specific?

I think he means Kent Beck's book.

Re: What are some things you wish you knew when you started programming?

#98

That unless you are in a pure code monkey position, programming is at most, 30% of the job and there is an array of skills that have nothing to do with programming that when mastered, will give the impression that you are an expert programmer.

I have some idea what you're hinting on but no entirely. Im in my 3rd year in and have seen a lot of bullshiting. Should I just learn to start bullshiting?

if you mean "talking up your work," "overcommunicating success" and "getting your name out there," then absolutely!

Re: What are some things you wish you knew when you started programming?

#99
post #95
post #88

Earlier quoted context omitted.

I remember Shai from back in the ArsDigita days. ArsDigita and OpenACS were one of the first open-source projects I was involved with. Shai was one of the instructors at ArsDigita University -- one of the first CS courses on the Internet. ADuni began as an experiment by Phil Greenspun to see if it was possible to teach non-CS college grads the MIT Course 6 curriculum, compressed into a one-year, accelerated postbacca…

Those ADuni lectures are actually what I know him from. They're excellent, and I very much admire his teaching. The problem I think is either that I went too far in the lectures without attempting the problem sets, or that I simply didn't have the educational prereqs or a work / hobby application to ground me and keep me working at it. Nonetheless, I very much admire the work and enjoy watching the lectures. If nothi…

The Fall 2010 version of MIT 6.042J Mathematics for Computer Science is a good one (as I recall there are several versions online from different years), and someone from Google is teaching it this year (haven't heard if the videos will be made available online):

https://www.youtube.com/watch?v=L3LMbpZIKhQ&list=PLB7540DEDD...

Re: What are some things you wish you knew when you started programming?

#100
post #99
post #95

Earlier quoted context omitted.

Those ADuni lectures are actually what I know him from. They're excellent, and I very much admire his teaching. The problem I think is either that I went too far in the lectures without attempting the problem sets, or that I simply didn't have the educational prereqs or a work / hobby application to ground me and keep me working at it. Nonetheless, I very much admire the work and enjoy watching the lectures. If nothi…

The Fall 2010 version of MIT 6.042J Mathematics for Computer Science is a good one (as I recall there are several versions online from different years), and someone from Google is teaching it this year (haven't heard if the videos will be made available online): https://www.youtube.com/watch?v=L3LMbpZIKhQ&list=PLB7540DEDD...

Thank you again. I really appreciate every bit, it all helps.
Post reply on HN