TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: What's a bad programmer?

5 点作者 dothething将近 10 年前
About 4-5 times a month the number one topic on HN is a post about how to hire the perfect programmer. For reasons outside the scope of this discussion I find them annoying.<p>I&#x27;d really like to hear experiences with bad programmers - from people who have actually worked with them instead of just interviewed them. Was it personality - passion - tech debt creation - they destroyed your billion dollar empire? Thanks!

10 条评论

MalcolmDiggs将近 10 年前
I have an anecdote that might be useful:<p>A few years ago I was coding at a small startup. Everybody was pretty solid. Then they brought on a new engineer who was very comfortable with a certain framework...but ONLY that framework. One day, in a product planning meeting, we were discussing a new feature we wanted to build. It fell in the new person&#x27;s domain, so we asked them to give a rough estimate of how much time it would take. Their response?<p>&quot;It can&#x27;t be done in this framework. There&#x27;s no existing module or extension for that&quot;.<p>We all sat back in silence. Eventually someone said what we were all thinking: &quot;We hired you to write code, not install plugins and extensions. Do you actually know how to write any code?&quot;<p>The new hire left the company soon after. To me, the glaring problem here wasn&#x27;t that they had aligned their process with a certain framework... it was that they had then closed their mind to other options. They only thought <i>within</i> the framework, and so had nothing creative to actually contribute to the team.
MichaelCrawford将近 10 年前
Verde Technologies was an aerial photograph firm that used the Streamed Image Transformation Editor (SITE) to process digital framegrabs on Sun 3&#x2F;160 workstations. Each cost about $40,000.00.<p>We required about 90 seconds for each step of our calibration process. There were several steps per image, we shot many images each day and promised our clients 24-hour turnaround.<p>So Scott Lydiard, the company president spent $5,000.00 on a Floating Point Accellerator card, as Sun promised that it doubled the speed of numeric code. It was a full-size VME bus card with a 68881 in the middle. I&#x27;m not real clear why it needed that much circuitry as Macs just had a single socket where you could pop in a 68881, much like the 8087 socket on DOS PCs.<p>So one night I install our new card. To my dismay the calibration time was reducing only to 85 seconds.<p>Not wanting to lose my job I discovered just that night what a profiler was. It turned out that SITE used getc() to read each pixel of an image, and putc() to write it. This because the &quot;streamed&quot; part was meant for building UNIX pipelines. You know simple tools that only do one thing.<p>I patched the code to read all the pixels in one read() system call.<p>&quot;Hey Mike. Our new FPA is AWESOME! Only five seconds to calibrate an image.&quot;<p>&quot;You made a wise purchase, Scott.&quot;<p>Then a few minutes later...<p>&quot;Mike, could you explain why calibration now takes ten seconds on the workstation that doesn&#x27;t have an FPA?&quot;<p>&quot;That&#x27;s because it really does double the speed of numerical code.&quot;<p>SITE was written by a computer science graduate student. It is for this and many similar reasons that I don&#x27;t regard a CS degree as being of much use to computer programmers. Mine is in Physics; among other things, Physicists figure out the way things work.
评论 #9768380 未加载
smartician将近 10 年前
I don&#x27;t mind slow programmers, or programmers who know when a problem is too difficult for them, or programmers who ask too many questions and need constant confirmation and hand-holding. They are a bit annoying, granted, but harmless, and can be a somewhat valuable addition to your team if you give them the right tasks. Often these guys can do grunt work at reasonable quality.<p>The worst ones are those that know just enough to be dangerous, and who <i>think</i> they know everything. Instead of asking, they make assumptions, and produce code that <i>almost</i> works. Meaning, it will pass most of the obvious test cases, but breaks as soon as it hits production.<p>Example: One guy had to add a meta tag to a web page, with the page&#x27;s publish date in ISO format. Instead of using the source data, which had the date as a DateTime object, he parsed the date from the formatted page output. This worked for US pages, and European pages where the day of the month was &lt;= 12 (because of the different order of day and month), but broke as soon as the displayed string was impossible to parse. Ugh. Any half-decent programmer would wonder, &quot;there must a better way to do this?&quot;
baccheion将近 10 年前
- Gets in the way<p>- Doesn&#x27;t admit to being wrong<p>- Full of it<p>- Blindly follows&#x2F;enforces patterns, standards, and best practices<p>- Constantly tries to draw attention to themselves<p>- Political<p>- Code is sloppy, poorly thought out, bug-ridden, and often doesn&#x27;t work<p>- Obsessed with time, documentation, meetings, best practices, patterns, testing, and everything else that doesn&#x27;t matter (not with finishing in a timely manner, writing documentation if necessary, etc, but with constantly using these things as an excuse to get in the way, to excuse their sloppy work, and as a means to insult the ability of other developers and to claim themselves to therefore be the ones that know what they are doing).
评论 #9769129 未加载
codegeek将近 10 年前
Note: I will say everything below with the context that you are talking about programmer working for businesses.<p>Good and Bad are very relative words. To apply these to a programmer, let us analyze.<p>I would say start with this question: What is the Goal of a programmer ? Is it to write great code OR is it to help a business succeed by creating things of value OR both OR something else ?<p>If the goal is to just write great code, then do they need to write great code along with others ? Or are they ok to write great code just by themselves ? If the answer is that they need to be able to write great code with others in collaboration, then you have your first point covered which is &quot;personality&quot; or I would say &quot;Attitude&quot;. If you cannot work well with others, you are bad programmer.<p>Now, if the goal is to create value and help a business succeed, then does it matter if the code you write is technically the greatest ? Perhaps not; other than the fact it personally is very fulfilling. Gotta love that feeling when that thing compiles!! But the real question to ask is: can I get the patch the system quickly if the code fails or the system crashes ? If yes, then you are a good programmer.<p>If the business team comes to you for advice on doing something technically that could help them increase revenue but may not be the best technical solution at this time, you are a good programmer if you can make that happen. You are a bad programmer if you tell them you don&#x27;t want to do it.<p>That takes to the other point about &quot;passion&quot;. I would say that Passion may be an overused word but it should be more about &quot;Do I like doing what I do even though I am not crazily obsessed with it&quot; ? If yes, then you are a good programmer. Why ? Because if you enjoy what you do, you will do it better (most likely)<p>The last point &quot;Tech Debt&quot;. It is again relative. Tech debt for what ? If my company is not making any money and I need to put food on the table, does tech debt matter ? Or does it matter that I need to get paying clients first and worry about the tech issues later. That is a good programmer who can manage this tech debt depending on the situation of the company. Oh but they don&#x27;t have any documentation in the code, I hate it. Ok then fix it keeping the business goals in mind. If you have the time to do it and still create positive outcome for the business, then that is a good programmer.<p>Everyone else is a bad programmer.
bjourne将近 10 年前
Someone who writes bad code. I don&#x27;t like the expression &quot;bad programmer&quot; I prefer to say someone who is programming badly. Because that makes it clear that it is the action that is bad and the badness isn&#x27;t inherent in the character.<p>If your next question is &quot;How do you know if someone writes bad code?&quot; then it is fairly simple for an experienced programmer to see if a piece of code is bad, good or somewhere in between.
greenyoda将近 10 年前
For lots of amusing true stories of bad programers and the havoc they cause, see <a href="http:&#x2F;&#x2F;thedailywtf.com" rel="nofollow">http:&#x2F;&#x2F;thedailywtf.com</a><p>&quot;Founded in 2004 by Alex Papadimoulis, The Daily WTF is your how-not-to guide for developing software. We recount tales of disastrous development, from project management gone spectacularly bad to inexplicable coding choices.&quot;
austinjp将近 10 年前
Anyone who thinks or acts like they&#x27;re the most important asset to the organisation.<p>Applies generally in all walks of life, in most situations. I&#x27;ve seen it in programming, and I&#x27;ve seen the mess that&#x27;s left when people ignore that problem for too long.
andersthue将近 10 年前
The only bad programmers I know are those who over promise and under delivers.<p>If a programmer week after week on project after project says he will do x, y and z and next week he did G then it ruins the team because nobody knows what to believe and what to count on.
paulhauggis将近 10 年前
We once had a developer that kept clobbering changes of our main git branch. We had meeting after meeting where our manager taught us the correct way to do things, yet it kept happening..for almost 3 months.<p>I blame management as much as the developer for not getting things figured out asap, but I did get paid for those 3 months for essentially fixing the same bugs over and over.