Live data from Hacker News

How do I know if I'm good at programming?

danielslater.net

101–110 of 153 posts

Re: How do I know if I'm good at programming?

#101

Does someone have a problem? Can you build a solution to that problem? If not can you learn to build a solution to that problem? Once built, can you learn to improve that solution? The best advice on the profession that I was ever given was simply, "Learn to learn." The vast majority of this profession is just being interested in figuring out how to solve different problems. Sometimes that means it's all you and some…

In that case, what do you do?

Re: How do I know if I'm good at programming?

#102
post #99

A good programmer always looks at the bigger picture. They understand when SOLID is appropriate and when "worse is better". A good programmer is familiar with the best practices and guidelines and principles, but always question them to understand their context and limitation. A good programmer understand that all tools and techniques are means to an end.

Great phrasing. Context is key. There are absolutely times when throwing together a quick solution is better than seeking an optimal solution. Because sometimes it just simply does not matter and you can spend your time working on more impactful items.

Re: How do I know if I'm good at programming?

#103
post #95

I mostly disagree with the article. > Is the code readable? Readable code may not be good code. More readable code almost always means less efficient code. Readability is a trade off. > Is it easy to extend? Changing requirements are a thing for sure. But in almost every cases I came across, planning for shifting requirements always misses the point. It is much better to stick to your current requirements and keep yo…

> More readable code almost always means less efficient code.

Incorrect. Most practices like meaningful variable names, logically separated functions and classes, comments where appropriate, etc have absolutely no impact on performance. Principles like DRY and KISS and YAGNI typically also lead to better performance. Only in rare isolated cases might there be a conflict, eg. where a more cryptic algorithm have better performance than the straightforward.

Re: How do I know if I'm good at programming?

#104
post #95

I mostly disagree with the article. > Is the code readable? Readable code may not be good code. More readable code almost always means less efficient code. Readability is a trade off. > Is it easy to extend? Changing requirements are a thing for sure. But in almost every cases I came across, planning for shifting requirements always misses the point. It is much better to stick to your current requirements and keep yo…

Planning for extending the code is the wrong way to think about it. To many that means overgeneralized code, which is a terrible.

The right way is to write modular code, where each class/function has simple and clear responsibilities. In that kind of code, changes are usually isolated and clear.

Re: How do I know if I'm good at programming?

#105

There are 2 types of “good” programmers, who both think the other type is useless. The first is the “rockstar” developer type who is great at prototyping, hitting deadlines no matter what and delivering functionality, albeit full of bugs. They will write 80% of the code and will drive the support team up the wall by breaking the build, causing customer issues in production, security holes and basically seriously degr…

Let me guess, you are one of the "grown-ups" fixing the mess created by whizz kids?

Re: How do I know if I'm good at programming?

#106
post #96

I'm looking forward to the day when we can get over our collective need to shore up our personal confidence. Reading through these comments might leave someone thinking that everyone is a good programmer, that just by wanting to learn code you're entitled to receive a participation trophy. We don't really need to handhold people. Did you get a computer science degree? Did you land a job at a good company to write cod…

That is very well said.

Re: How do I know if I'm good at programming?

#107
post #101

Does someone have a problem? Can you build a solution to that problem? If not can you learn to build a solution to that problem? Once built, can you learn to improve that solution? The best advice on the profession that I was ever given was simply, "Learn to learn." The vast majority of this profession is just being interested in figuring out how to solve different problems. Sometimes that means it's all you and some…

In that case, what do you do?

I'd say: go look for those problems!

I'm sure others can do a better job elaborating on this process. I only recently made a mental switch to treat programming as a thing in itself that I enjoy, and it really has made me a happier person. I'm learning faster and more than ever before (even with coding as my only source of income, which should have provided incentive), I'm having an amazing time exploring things for the sake of just exploring and learning.

And as a bonus, it has made me both enjoy and do better at my job as well! I feel like my toolset has rapidly expanded, and as a result I can (justifiably) use those tools to help clients (and get paid), scratch actual code-solvable itches I've had for years, and see potential ways to generate recurring income. And, with some trepidation, I even think I've learned at least some things that I can use to 'make the world a better' place!

EDIT: more specifically, aside from looking for problems to solve, I decided to create my own problems, or consider them worth solving, and then went and solved them.

Re: How do I know if I'm good at programming?

#108
post #101

Does someone have a problem? Can you build a solution to that problem? If not can you learn to build a solution to that problem? Once built, can you learn to improve that solution? The best advice on the profession that I was ever given was simply, "Learn to learn." The vast majority of this profession is just being interested in figuring out how to solve different problems. Sometimes that means it's all you and some…

In that case, what do you do?

If your code is bulletproof and you don't have any problem to solve then you move onto the next piece of software, I've never heard a programmer saying he has too much free time and not enough projects to work on.

Re: How do I know if I'm good at programming?

#109

The best programmer is the one who can solve the problem effectively and efficiently without even touching the keyboard. You don't have to be "good". You have to solve the right problem efficiently. Find the right problem and be the solution. If you need to write a program, make an easy one. Easy to use and easy to maintain. You'll get what that means after a few years of maintaining. Nobody ever cares if you're a "g…

I couldn't agree more, as a programmer you get assigned tasks because non-technical people think throwing software at a problem solves it, good programmers can solve problems with code, the best programmer is the one that can identify when code is really needed for problem-solving.

Re: How do I know if I'm good at programming?

#110
post #96

I'm looking forward to the day when we can get over our collective need to shore up our personal confidence. Reading through these comments might leave someone thinking that everyone is a good programmer, that just by wanting to learn code you're entitled to receive a participation trophy. We don't really need to handhold people. Did you get a computer science degree? Did you land a job at a good company to write cod…

I don't think it is that simple, good enough doesn't mean good.

It's easy to fool yourself if you're just getting by work day to day thinking everything is going well until one day it isn't.

Validation might be vanity but feedback is important. Trying to figure if you are a good programmer is the first step to actually being good, willingness to continuously learn and self-improvement is a key trait of good programmers IMO.

Post reply on HN