Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What do you wish you had learned earlier in your programming career?
3 points by andrewstuart on Oct 23, 2017 | hide | past | favorite | 6 comments



1. Negotiate your salary.

2. If you're new in a programming language and you're deploying to production for an important customer, make sure you get a code review first.

3. Writing software isn't the important part, solving problems is the important part. (https://codewithoutrules.com/2017/07/10/stop-writing-softwar...)

4. Productivity is about doing less work, by avoiding waste. It took a while to get all the related skills here, and most of them don't have to do with coding as such. (https://codewithoutrules.com/2017/10/04/technical-skills-pro...)

5. Testing comes in different forms, each with its own purpose. Spent years getting to a place where I could articulate how to choose, and then I gave this talk about it: https://www.youtube.com/watch?v=Vaq_e7qUA-4&feature=youtu.be...


At the end of the day, we write code not for its own sake, but to solve problems in real life. After realizing this I abandoned several pet projects that were basically going nowhere and only taking up time--they were not designed to solve a problem.

Also if you don't start something the right way, it is quite difficult to fix it. I spend more time now thinking about appropriate data structures, project layouts, etc. before I jump in.


People matter. It matters that you are factually correct, but how you treat people also matters. Learn how to treat people with tact and consideration, even when you disagree with them.


Spot on.

Lose the dogmatism.

People remember how you handled a problem, not what the problem was.

Relationships with others are more important than being right about some technical thing.


How to use a debugger.

That the more time you invest in learning debugging tools, that faster your overall development process will be.


Not to minimize lines of code at all cost, repetitive but clear code is better than clever code with many abstractions.

Design user interfaces around workflows not database tables.

Unix. Sed, grep, awk, bash and more. Learn them all well.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: