Live data from Hacker News

Ask HN: I don't think I am a good programmer but I keep trying

news.ycombinator.com

1–10 of 16 posts

Ask HN: I don't think I am a good programmer but I keep trying

#1
I am probably one of those rare programmer/techie guys that really can't code. I have been in the industry for the past 12 years and I have been consistently making six figure salaries and getting excellent reviews at every place I have worked. I have been mostly working on the enterprise software, managing ERP packages (ala SAP) and enterprise databases (Oracle). All the while, I could not really code a program from scratch, although I could whip some shell scripts by copy pasting stuff and I was exceptionally good at troubleshooting issues and figuring out things. I also work well within teams and have also played managerial roles really well.I was always counted amongst the top 2 or 3 people in the IT organizations that I worked in. However, none of these places were cutting edge tech companies, but nevertheless all of these places have high name recognition.

I recently quit my job and started working on something that really requires hard core programming skills. I figured, I could manage it, if I sit at it for a month or so. However, I have been very ineffective in managing my time and honing my programming skills to be effective. Even when I was doing 9-to-5 jobs, even though I was exceeding the expectations of my peers and managers, I always knew that my productivity in terms of the amount of time I effectively worked, was always in the 25 to 40% range.

I want to be a good programmer, but I am starting to thin that it does not come naturally to me. I read on HN about how people started programming since they were 10 to 13 year olds and how it caught their imagination. Nothing like that happened to me when I was first introduced to computers. In fact, even though I really wanted to learn Ruby since 2004(bought my pickaxe book then), but never ended up learning. I didn't need it for my job then, but out of my own interest and wanting to learn programming, I picked it. However there was no proper follow up. That is just one example, there are many things I wanted to learn along the way and I never got good at anything.

May be I should just give up and go the management route, since all I manage to do with technology is to keep up with what is cool and current, but never able to get into any depth.

What I really want is mastery in programming, but I am somehow unable to put consistent effort to get there. Maybe I don't have the aptitude or the analytical skills required for being a good programmer. There are tons of programming videos online, but I feel drowsy and my attention shifts elsewhere within 20 to 30 mins. I however did manage to put one app in apple app store, but I took a ton of help from others to get it to the store. I know I am capable, but somehow am unable to put the consistent effort needed to get good at it. Not sure what kind of responses I am expecting, but just putting it out there is cathartic.

Re: Ask HN: I don't think I am a good programmer but I keep trying

#2
If you want it, go get it. Don't expect to master programming easily. Surely if you want to do something, and have been successful in the industry for 12 years, you can achieve it. Don't have the aptitude/analytical skills? Obtain them. It's all about motivation. It's your life, make of it what you will.

Re: Ask HN: I don't think I am a good programmer but I keep trying

#4
Plenty of programming related topics bore me. I couldn't read a Java, SAP, Oracle XYZ tutorial without snoozing.

Maybe you just haven't found a topic that resonates with you. It's perfectly possible that includes all programming related stuff, but it could also be that you haven't found the right thing.

People often discover something that inspires them. Try a big variety of things. Maybe you will find embedded hardware hacking to be interesting or whatever.

I wouldn't try to force yourself into liking something that you don't like. Life is too short to do things you're not passionate about.

Maybe you should even change careers if there's already something else you're passionate about. Maybe programming could become a hobby.

Re: Ask HN: I don't think I am a good programmer but I keep trying

#5
Most programming (maybe 90% or more, depending on what you're doing) is boring.

The exciting stuff comes when you're learning, debugging, or architecting. (Dealing with other people's horrible code, the build process, deployment, etc., can also be "exciting," but they aren't sexy.) When there's nothing challenging you and everything's just running smoothly, it's just really straightforward, simple stuff that will put you to sleep, and the downfall of a lot of programmers is to try to make it more exciting than necessary(amazing new architectures, savage optimization, burying everything in tests/types/patterns blindly).

So the key to learning, I think, is not just to "start small and work your way up," but to try to make the small projects exciting, and gradually build up to the big and boring ones, but always striving for some occasional challenges along the way.

I did bits of programming, off and on, from an early age, but did not have a major breakthrough until college, and still did not consider myself a "programmer" until fairly recently. The breakthrough came from getting a good formal treatment of CS topics(particularly data structures) in a lecture setting. I needed that to see the possibilities.

Re: Ask HN: I don't think I am a good programmer but I keep trying

#7
It would be impossible for anyone (but you) to untangle all the mixed emotions, motivations, expectations and desires expressed in this post. I get the sense that you are becoming aware of some facts about your career choices that you are afraid to face. Maybe programming isn't for you, maybe quitting your job wasn't such a good idea, who knows?

But you should have an honest talk with the guy in the mirror and figure out what you really like, what you are actually good at and then make a plan. Its true, as others advise, that some times you have to push your self to get to the next level or reach that important goal. But it is also true that such periods of effort and focus should not feel like drudgery. In my experience, if I like what I am doing that effort is work but not drudgery. When I start to feel drudgery creeping into my work life I know that is a sign to examine what am I doing and why. (Of course, every job has some drudgery elements such as paperwork or meetings but it can't be the whole deal).

Re: Ask HN: I don't think I am a good programmer but I keep trying

#9
Start with smaller chunks. I'm 22 years old now and I have next to no programming skills, but I want to learn it. I was using computers since 12 but hadn't coded something real until now, so I tell myself all the time that I'm not meant to program, that I suck at programming etc., but I keep going and I re-discover the fun in it from time to time. The more you keep at it, the better you get.

Start with programming small apps you'd like to use, get on StackOverflow and ask all the questions that come to your mind, built bigger things, fail, start again, talk to other programmers, learn, build bigger things, fail again, build again, repeat until success.

Re: Ask HN: I don't think I am a good programmer but I keep trying

#10
Well, you threw out a bunch of random thoughts, so here are some in return.

Firstly, double-check (no advice as to how!) that you're you're not just suffering from Imposters Syndrome:

http://en.wikipedia.org/wiki/Impostor_syndrome

You do write some code - are you sure it's not just a matter of insecurity and scale?

Secondly, do you really need to code? You've had great jobs doing things for which you receive recognition and praise - perhaps those things are your true calling.

But if you really want to code, find a mentor and get an honest opinion. Write something really, really small, and get advice about style and content from people who can code. Finding them is an interesting challenge, but there are a few here who might help.

Find something small that you feel will be interesting enough. Perhaps you just mostly suffer from a combination of procrastination and lack of focus. Perhaps you need to learn and work in really small chunks.

Perhaps you need to learn by doing, not by watching.

So here's a thought: Pick three languages that you've had contact with and in each, write FizzBuzz and post them here. And to prevent you from having the excuse to look it up on the net and getting clues from what you see:

Write a program that prints the numbers from 1 to 100, except that if a number is divisible by 3 print "Fizz" instead, if a number is divisible by 5 print "Buzz" instead, and if divisible by both, print "FizzBuzz" instead.

Just a thought.

Post reply on HN