Live data from Hacker News

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

danielslater.net

111–120 of 153 posts

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

#111
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…

I share the same opinion, TBH, there's much more to being a good programmer than writing good code.

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

#112

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…

In practice you might have tension on a team between those who favor speed vs stability, but I resent the characterization that it is an inherent trait of the programmer. If you want to be a great startup engineer you have to exercise judgement; knowing when to do something quick and dirty, what to polish, what code is likely to live a long time, when and how to address various aspects of scalability, etc. Someone wh…

I agree. The most important quality I try to cultivate is what I guess many would call 'good judgment', and others 'intuition'.

I've worked as a freelancer, lead front-end developer, and contractor, and ranging from 'stuck in the nineties' to 'use whatever HN talks about for the front-end' companies. One of the most important lessons I learned is to use the right tool for the right job. Also to not let 'purity' or 'elegance' get in the way of getting it done (which is difficult for me). But also to never confuse 'getting things done' with laziness.

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

#114
post #31

Earlier quoted context omitted.

That sounds arrogant and condescending. I don't think that you should have a ship-at-all-cost attitude, notably when it comes with creating an unmaintainable kludge, but the second type, the meticulous kind, can also be ones who over-think every aspect of the output without taking the first step, which benefits no one.

There's actually a lot of truth in what he said. You need both types - the mix depends on where the company is in it's life. Early on, you need more of the "rockstar" types because shipping is life. Later you need a blend with more of the latter type, because existing customers will only put up with bugs for so long, and expect to see new features they asked for.

I've been the latter type in the early stage of a startup, and even though I strongly believe in my more cautious approach to programming, in general, in hindsight I feel that I should've abandoned that caution or that they would've been better of with another programmer.

Thankfully I'm pretty sure the startup would've failed no matter what, so I don't feel too guilty about it. But it taught me a valuable lesson.

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

#115
post #100

Earlier quoted context omitted.

Sounds like you've worked with quite a lot of wannabe rockstar programmers. Look, you're not wrong - there are certainly mediocre programmers out there who have decided that quantity is its own quality, and can bang out lots of buggy code really quickly. However, just like there are a lot of middling to good musicians out there, but only a few truly great ones, there's something that separates the good from the great…

whats wrong with you google... Showing results for /r/watchpeopledie. Search instead for /r/watchpeoplecode

I don't think it's Google that's the problem in this case...

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

#116

Depends how you define good. Some define good as getting the job done in a quick and efficient manner and making the client (or company) happy with the result, however code quality may suffer in this instance and it could be hard to maintain. Others define good as writing the highest quality code with high test coverage, deployment procedures, writing detailed JIRA tickets, great documentation, training other develop…

Deliverables is misleading. Would you rather a deliverable full of bugs that can't scale but is delivered 'on time'?

Sometimes, yes.

I've worked for a startup where the plans changed enough to have significant effect on the code. Rewriting a lot of it ended up being necessary and actually well-justified.

As a more careful programmer, I wasted everyone's time making 'the right choices' when in this particular context, in hindsight, I could've known that rewriting the whole thing was a likely scenario.

If I'd get the same job now, years later and (I hope) wiser, I'd have built a much quicker, dirtier, buggier version (essentially a prototype/alpha) instead.

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

#117
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…

It's not just about confidence though. Yes, for some people, the question of whether they're a good enough programmer might stem from (social) insecurity, and I think what you're saying might be a very good answer for them.

But others, including myself, ask the question because we want to, as you say, 'always be learning'. We might be insecure, for example, about getting stuck at some equilibrium that isn't optimal, and just fishing for where to go next.

For example, it was through similarly-themed threads on HN that I learned about functional programming. I learned how important immutability might be, and to try and keep my functions and methods pure, even if I'm not going all in on the functional stuff.

Hell, even just thinking in terms of separating data from code was a revelation that I might have missed without HN functional weenies constantly submitting articles that boiled down to that as a point.

Anyways, not disagreeing with you necessarily, just nuancing.

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

#119

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…

All the founders of Autodesk were of the second type. Most were mainframe OS maintenance programmers who fixed kernel bugs in assembler.

A big issue for AutoCAD was "don't lose the user's work". Customers were not forgiving of that. New features were less important.

Autodesk is still around, market cap around $26 billion. They're still selling expensive software that works, and have been profitable for over 30 years.

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

#120

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…

What you describe is application and systems architecture and requires domain knowledge. Excellent programming requires the ability to create a functional blueprint in whatever way/shape/form is decided and do so without undue time and cost.
Post reply on HN