Earlier quoted context omitted.
> I see a lot of people that can do things much better, and faster than me. It's intimidating. I think there is a mindset issue at play here. Instead of thinking "Wow, that person is such an elite hacker, I wish I had been born with that talent." think of it as "Wow, it was amazing how they came up with that solution. I want to learn how they did it so I can do the same.". Stated different, ask people their process.…
It feels like cheating though. Once you ask someone for help, the problem is dead. You haven't solved it yourself, and now even if you do solve it, it won't count. Someone told you how to do it. Your interviewer isn't going to help you with technical questions.
Ask HN: How can I tell if I have programming aptitude?
71–80 of 102 posts
Re: Ask HN: How can I tell if I have programming aptitude?
#72Earlier quoted context omitted.
> I see a lot of people that can do things much better, and faster than me. It's intimidating. I think there is a mindset issue at play here. Instead of thinking "Wow, that person is such an elite hacker, I wish I had been born with that talent." think of it as "Wow, it was amazing how they came up with that solution. I want to learn how they did it so I can do the same.". Stated different, ask people their process.…
It feels like cheating though. Once you ask someone for help, the problem is dead. You haven't solved it yourself, and now even if you do solve it, it won't count. Someone told you how to do it. Your interviewer isn't going to help you with technical questions.
Re: Ask HN: How can I tell if I have programming aptitude?
#73If you like it, and are ready to put in the effort - just keep learning and you will become a good programmer.
There's no magical mysterious "talent", there's just intelligence, work ethics, and skill.
Re: Ask HN: How can I tell if I have programming aptitude?
#74Go build a simple web app. Right now. Pick a programming language out of a hat, set up a database, wire up a few buttons, add some logic, and shove it all up in some cloud. If you haven't given up in a month, you're cut out for it. Persistence and a willingness to constantly learn are more important than your ability to do mental gymnastics.
Re: Ask HN: How can I tell if I have programming aptitude?
#75Re: Ask HN: How can I tell if I have programming aptitude?
#76Earlier quoted context omitted.
> I see a lot of people that can do things much better, and faster than me. It's intimidating. I think there is a mindset issue at play here. Instead of thinking "Wow, that person is such an elite hacker, I wish I had been born with that talent." think of it as "Wow, it was amazing how they came up with that solution. I want to learn how they did it so I can do the same.". Stated different, ask people their process.…
It feels like cheating though. Once you ask someone for help, the problem is dead. You haven't solved it yourself, and now even if you do solve it, it won't count. Someone told you how to do it. Your interviewer isn't going to help you with technical questions.
No. They train. They study symptoms, and causes, and treatments. They learn about how symptom X is caused by disease Y, and is usually treated by medicine Z.
But medicine Z doesn't work in all cases, it's only 75% effective. So you might need to try medicine Z2 instead. etc.
And they they do this, over and over and over, adding in new knowledge of symptoms, treatments, effectiveness, etc. They do this on paper, and they do this in a controlled, supervised environments until they can demonstrate enough mastery to be able to demonstrate that they know enough of this body of knowledge of problems and solutions to be trusted to apply it on their own.
Programming is no different. Answers don't magically spring, unbidden, from some secret programming organ in your brain - you need to learn the established patterns for solving different types of problems. Then, you need to apply them to different situations.
Right now, you're frustrated because you don't have a very big 'bag of tricks' yet. You've only learned a couple of 'solution patterns'. You said that some problems are easy - right? Well, they're easy because you've already added those to your 'bag of tricks'. You've learned the patterns that solve those particular problems.
The ones that are hard? That's because you haven't learned those patterns yet. Once you do, they'll be easy too.
So, looking up solutions for how to solve these 'hard' problems isn't cheating - it's learning. You're learning new solutions.
As time goes by, your library of problem->solutions will get bigger and bigger, allowing you to solve more types of problems.
So, don't think of it 'ZOMG - I'm so dumb! I can't magically come up with the solution to this type of problem that I haven't encountered before!'
Instead, think of it as 'Hmm. That's interesting. Here's a new category of problem that I haven't solved before. The existing solutions that I have in my toolkit aren't solving it, so let's go learn a new solution pattern. Then I can add it to my toolkit for future problems.'
Re: Ask HN: How can I tell if I have programming aptitude?
#77I think pg has a quote online somewhere to the weight of "if you're spending time thinking about whether you're smart enough, you're most likely smart enough."
Re: Ask HN: How can I tell if I have programming aptitude?
#78Earlier quoted context omitted.
It feels like cheating though. Once you ask someone for help, the problem is dead. You haven't solved it yourself, and now even if you do solve it, it won't count. Someone told you how to do it. Your interviewer isn't going to help you with technical questions.
You're looking at this the wrong way. It doesn't work this way for any profession. Do you think that doctors are created by taking a sick person, sticking them in front of an untrained 'doctor-want-to-be', and seeing if they somehow miraculously manage to correctly diagnose and treat an ailment they've never heard of? No. They train. They study symptoms, and causes, and treatments. They learn about how symptom X is c…
I'll continue learning. Getting problems right and watching those tests light up green on Codingbat is a very nice feeling. I do get genuinely upset and frustrated when I can't figure out a problem, though. I'm not sure whether that means I hate coding or like it deep down.
Re: Ask HN: How can I tell if I have programming aptitude?
#79There are problem sets out there with time limits. You might even get some if you interview for jobs. But if they give a time limit of 2 hours and you solve it in 1, does that show aptitude? Maybe the average is 10 minutes! But then aptitude is more than just lines of code per hour, especially as the problems being solved become open ended and more complex. Maybe you too got the initial thing mostly working in ~10 minutes but spent the other 50 testing it and uncovering edge cases that would break your peers' quick solutions. So if you have a distribution of results you need to take them with a grain of salt, especially since experience can dominate aptitude so often. (http://ridiculousfish.com/blog/posts/old-age-and-treachery.h...) I don't care what your IQ is or how fast you can type, if you start writing a parser from scratch to solve some problem that is trivially solved with regular expressions, the regex user will beat you.
So if you're going to compare yourself to others, you need to try factoring out things like experience by comparing yourself to those with similar levels of experience. Programming competition prep at school is a great way to do it, since presumably you've all had about the same classes, are around the same age, and with many trial problems you can determine who is consistently doing well (aptitude) and who might have had good/bad runs simply due to having or not having a piece of knowledge. Another thing to try is a friendly 'competition' like Ludum Dare a few times. Your goal is to make the best game you can make in 48 hours. http://ludumdare.com/compo/ When it's done, you can compare with your peers, especially ones that look to have a similar level of experience and made similar decisions as you (language, libs, etc.).
Re: Ask HN: How can I tell if I have programming aptitude?
#80Do you enjoy programming? If so, you will be good at programming. If not, you most likely won't.
Exactly, this is THE question! Even if you were somehow very good at programming but you hatted it, would you choose it as a job? I'd drop it immediately, don't waste your precious time on it. This leaves one other option: If you loved it more than any other job but you sucked at it, what would you do? I'd say: Do yourself a favor and find a job where you do what you love. If you prove my advice to be bad, you'd be t…
I've seen plenty of people in the past (less so in the recent past) that did the job, weren't well-suited or it, didn't particularly like it, but they did it anyway. Why? Money. The kind of money that has you ordering stuff on Amazon and never once asking yourself if you have the money for it. You quit balancing your checkbook years ago. That kind of money. Not bathing in $100 bills kind of money, but enough coming in every year that you don't sweat small financial details. You don't do that on the median US income of $50K/year.
You claim if you hated it, you'd "drop it immediately". I don't know you, so maybe you would. But before you commit to that answer, recall that your annual pay might very well get cut in half or more. No more BMW leases for you. Now, maybe that's fine for you (and admittedly, if I could be a professional musician but only making half what I make, I'd take it in a heartbeat; don't need a BMW that badly).
But I knew plenty of folks in 80s (back when programming was the "hot new thing") that got into it because it paid well. They hated the job (probably because they weren't very good at it), but when the kids come and the spouse has become accustomed to a certain lifestyle, it's hard to give it up.