Hacker News new | ask | show | jobs
by baron_harkonnen 2106 days ago
> purely as a hobbyist

This is my first clue that you're not nearly a bad as you think. The biggest obstacle to becoming a good programmer is hating to program. Many people nowadays want to get into software because they can make money. There's nothing wrong with this, but if you really don't enjoy programming it's going to be more painful than it's worth. The fact that you like it is a good sign.

I saw in the comments that you've been doing this for a year or two. Programming takes a long time to get good at.

I recommend reading Peter Norvig's classic essay "Teach yourself programming in 10 years" https://norvig.com/21-days.html

It takes two years of programming to really break out of the beginner stage in my experience. I define this period as the period where you have to think much more about writing code than about the problem. The means that you really can't do much software development in the true sense because just getting programmings to run and run consistently take a lot of mental effort.

Years 3-5 are the intermediate stage where you can solve most common problems without having to think about programming too much, but programming itself is still a source of friction when it comes to completely projects. At this stage you begin to think more about how to structure larger and larger projects, learning some clever techniques, and understanding some of the more specialized techniques in your language of choice.

Expertise happens when you don't have to think about programming any more and are exclusively concerned with larger design problems. This is the point where you can reasonably write a program and, barring a few typos, will run on the first try.

Don't stress too much about being a great developer, just keep coding and you will improve.

2 comments

I will second reading “Teach Yourself Programming in 10 Years”. I’m a self-taught programmer working with a lot of very smart CS grads, so I constantly find myself thinking that I’m not fast or good enough to keep cutting it. I remind myself of that essay very frequently to help with those feelings. It takes a long time to get _good_ at a skill like this, and you will always be behind someone else in that progression. The key is to find joy in the process and remember that it’s a long road.
> I’m a self-taught programmer working with a lot of very smart CS grads, so I constantly find myself thinking that I’m not fast or good enough to keep cutting it.

I'm just gonna throw my experiences out here: I'm self-taught who then got a BS in CS, and day-to-day, the vast majority of the skills I use are the ones I started developing before college. The CS knowledge is something that is extremely useful, but it's not a day-to-day thing - it's more like, it pops up in special circumstances, and the degree never really touched on the self-taught things.

I love hobbyist development. I hate my professional development job.
I agree more than I can express in words.

In one of those scenarios I am writing code, working anticipating the needs of my users, and solving tough problems. In the other scenario I am mindlessly pushing buttons on top of some slow crappy framework while watching the slow motion train wreck of emotional insecurity all around me like a lake of syrup.

I’m in an okay place right now as I’m not working a lot but in the past this has been a major issue for me. Hobby programming is relaxing and fun for me and it seems the more I dislike a job or task the more I feel compelled to code outside of work, which leads to overworking and neglecting other hobbies and responsibilities.
Maybe you just don’t like working? You wouldn’t be alone.
That's a possibility. I've enjoyed my job in the past though, like the first few year out of college. Then the BS and politics set in.
I first founded a start up for the fantasy of winning the lotto, which mostly didn’t happen. I stayed in start ups for the reality of being my own boss (as a founder) and the fuck-you status[1] of being a recognized world expert in a niche field. Maybe it’s time you switched career tracks inside your industry?

[1] Meant as comparison to “fuck-you money” meaning you’re rich enough to never have to work again, and therefore stand up to BS when you see it, not fearing the consequences. Alternatively, my “fuck-you status” is being so essential that you can just nope out of shit you don’t want to deal with and your employer works around it.

You mean switch to management or switch from finance to some other domain?

That's awesome that you're a world recognized expert. I hope I can at least be a company recognized expert one day.

Do what you need to to work on something niche but very important, and then get recognition for your accomplishments. Work will then come to you and you can be more selective about what you choose to work on.
I agree as with this all well :/