Live data from Hacker News

Ask HN: Maybe I kind of suck as a programmer – how do I supercharge my work?

news.ycombinator.com

11–20 of 126 posts

Re: Ask HN: Maybe I kind of suck as a programmer – how do I supercharge my work?

#11
For what it's worth, you're feeling the same combination of awe and doubt that grips almost any creative practitioner at some point.

Writers realize that there are other people who can write an extremely well-structured, gripping novel in a matter of months. Artists see their colleagues do live drawing and suddenly understand that something that is painful and difficult for them comes easy for these other people. (I don't have musical talent, but I expect something similar happens there.)

Are they geniuses? Probably some are, but mostly they have just worked very hard and built a set of habits that lets them approach creative problems with that seeming ease.

Making software is really primarily a creative pursuit like these others -- it just has a bit more math and a bunch more high-tolerance engineering thrown in.

Personally I think of programming as a cross between architecture and writing: I'm making something that has a visual presence and which end users can "live in" or "visit" (very much like a building), but it's also a story because the interactive medium necessarily imposes a narrative. This way of thinking helps me figure out the elements that go into software products... But probably everybody must find their own metaphors to make sense of what they want to do in this field.

Re: Ask HN: Maybe I kind of suck as a programmer – how do I supercharge my work?

#12
Lots of programmers like me, started when they were kids - I was 11 when I started writing code. 36 years later I'm still learning and I don't mean "learning to use such and such API".

I've hung around awesome programmers too, much better than I. Some you will even have heard of.

Specialists knowledge didn't just fall out of the sky. It takes research & patience.

Some people will always be better than you.

Your focus should be on being better than you were yesterday.

Re: Ask HN: Maybe I kind of suck as a programmer – how do I supercharge my work?

#13
Some time ago I worked porting software. The software we ported was very successful financially. It also looked very polished from a user perspective.

But when I read the code I saw the code was really suboptimal (tech debt, and sometimes more convoluted than it strictly needed to be). That changed my perspective on code a bit. That did not change my programming rigor though.

My point is that sometimes excellent products are not necessarily excellent from an engineering perspective.

Now, to assess your engineering skills there's a book called the IEEE SWEBOK (Software engineering body of knowledge), that is an index of the different areas of software engineering. You can go through each one and assess your strength and work on some of the imbalances this assessment would reveal.

Re: Ask HN: Maybe I kind of suck as a programmer – how do I supercharge my work?

#14
Passion.

It sounds too simple, but it's true. My best, most thoughtful, and beautiful work, has been done when I've been intrinsically motivated by the sheer interest and desire to do that work.

In some ways, I was a better, faster, smarter programmer, with 3 months of experience than I am now.

That's not objectively true, but the point remains valid. If you're struggling, you may need to re-ignite that fire. Try and remind yourself why you got into this in the first place. Stop worrying about how you compare to other people, and start building something that excites you. Flow.

Re: Ask HN: Maybe I kind of suck as a programmer – how do I supercharge my work?

#15
If you want to become a domain expert, become a domain expert. You won't learn the intricacies of the newest structure from motion algorithms by writing user-facing apps. you have to specialize, possibly for years, until the domain is second nature and the code is just putting your knowledge into text, if you want to singlehandedly write a world-class library.

But for heavens sake, why? Do you actually care about how audio destuttering works, or do you just want your app to work well? Do you want to spend every waking moment thinking about a problem, or take time out to deconstruct Marvel tropes?

And yes, the programmers your talking about are the 1%. Do you think every good dev has books written about their work?

Re: Ask HN: Maybe I kind of suck as a programmer – how do I supercharge my work?

#16
Hey tastyface. I feel you. I'm here. I didn't graduate from college, and my knowledge is ad-hoc, learned-by-doing and incomplete. I told myself I wouldn't give up until I was making a living writing code. I'm doing that, and it's been arduous, but I've never been more intellectually fulfilled.

It's scary, to think there's a whole new generation of programmers who probably can learn faster and more fully internalize algorithms and data structures and design patterns... but we can all keep learning. There's no limit to how much you can learn in this field, so to supercharge your work the answer is simple: work 80-100 hour weeks like Elon, but make sure you're actually producing at least 80% of those hours.. meaning, writing and creating code not just reading or consuming knowledge. I don't know how many people I've met that assume poking around reddit, HN or s/o means "working." Those people will never outshine you if you continuously push your limits and are always feeling in awe. That means you're on to something.

Keep it up, you're doing exactly what you should be doing - reflecting.

Re: Ask HN: Maybe I kind of suck as a programmer – how do I supercharge my work?

#17
Hey tastyface. I feel you. I'm here. I didn't graduate from college, and my knowledge is ad-hoc, learned-by-doing and incomplete. I told myself I wouldn't give up until I was making a living writing code. I'm doing that, and it's been arduous, but I've never been more intellectually fulfilled.

It's scary, to think there's a whole new generation of programmers who probably can learn faster and more fully internalize algorithms and data structures and design patterns... but we can all keep learning. There's no limit to how much you can learn in this field, so to supercharge your work the answer is simple: work 80-100 hour weeks like Elon, but make sure you're actually producing at least 80% of those hours.. meaning, writing and creating code not just reading or consuming knowledge. I don't know how many people I've met that assume poking around reddit, HN or s/o means "working." Those people will never outshine you if you continuously push your limits and are always feeling in awe. That means you're on to something.

Keep it up, you're doing exactly what you should be doing - reflecting.

Re: Ask HN: Maybe I kind of suck as a programmer – how do I supercharge my work?

#18
You should do some data analysis on where you are spending most of your time when building software and see if there is a way to do it faster. You can read books and follow someone's advice but nothing can be more useful to yourself than trying to navigate your own mind space in search of answers that you are looking for. If you figure out that you are spending most of your time deliberating how to name variables, you should spend time reading about programming styles. If you spend time debugging, identify what sort of bugs you are creating and try to go over books that cover most common programming bugs and try to incorporate them during programming time itself.

Re: Ask HN: Maybe I kind of suck as a programmer – how do I supercharge my work?

#19

While this doesn't directly answer your question, but I've found edw519 (a fellow HNer's) past comments on this subject highly enlightening. If you're looking for something inspiring / actionable to read, checkout this collection by him http://v25media.s3.amazonaws.com/edw519_mod.html One of my favorite answers - 71. How do you get good at programming? I believe that there are two ways to get good at anything, "push"…

Wow, excellent answer.

I would add that if you're a "pull" person, don't bother applying to the Googles and Facebooks of this world. Their hiring process is extremely oriented towards "push" learners, presumably because you need lots of those people to build something at that enormous scale.

Instead look for opportunities where you get to do something you don't really know how to do. (There's a number of reasons why people would let you do that, but often it comes down to being in the right place and being patient.) That's how you grow, not by memorizing data structure answers from "Cracking the Code Interview".

(I know, dissing the tech interview is a HN cliché... But young people seem to attach unwarranted amounts of self-worth to how well they do at interviews at the Top 4 companies, so it's worth reminding that it's really not meant for everyone and you can do well without passing that standard.)

Re: Ask HN: Maybe I kind of suck as a programmer – how do I supercharge my work?

#20
There are 2 things i feel correlate strongly with the best devs i know:

1. Quantity leads to Quality. This has been written about by a number of people and for good reason. As with any craft, quality is born from doing something in repetition and learning from your mistakes. There is a brilliant anecdote on this from a ceramics class of all things ( https://blog.codinghorror.com/quantity-always-trumps-quality... ). So try lots of things, even if they seem silly. You'd be amazed what a throwaway project in a language you will never again use can teach you professionally.

2. Be passionate about both Coding and Learning. I start to look for a new job when 2 conditions are met. First is that i have been around long enough to see the consequences of my stack/coding/architectural decisions. Second is that i am no longer having "eureka" learning moments with regularity. For me, this inflection point tends to be around 3 years with a company. It will vary for others depending on role and willingness to branch out in your codebase.

tl;dr: Force yourself to learn regularly. Move on when you start to stagnate. Find excuses to code things, even if they are junk. Above all: have fun.

Post reply on HN