Live data from Hacker News

I am a quite good bad programmer

news.ycombinator.com

111–120 of 160 posts

Re: I am a quite good bad programmer

#111

It's worth mentioning that the world could use a few more grug-brain developers: https://grugbrain.dev/

It's always amusing to see that site, because clearly there is actual wisdom in it, behind the funny way of writing. I feel like we'd also benefit from a version that's written in a more regular style, to have some frank discussions about what's said.

For example:

> 80/20 solution say "80 want with 20 code" solution maybe not have all bell-whistle that project manager want, maybe a little ugly, but work and deliver most value, and keep demon complexity spirit at bay for most part to extent

In some cases, shipping "good enough" solutions won't work when you have a specification with acceptance criteria laid out and QA will be stalwart in their efforts to check every single one of those. Thus, things won't be "done" until everything really is in place, which depends on the work environment.

Re: I am a quite good bad programmer

#112
post #75

I wanted to give you a completely objective opinion, so I went from gematrix.org > www.c2kb.com > 9gagrss.xyz and based on that and your user name I found this: https://github.com/caviv/9gager One thing, I think, you should be really careful about is how you handle user inputs, e.g. this line: https://github.com/caviv/9gager/blob/20ccaaf649af525fc7a0c1d... I validated this on the live site as well, and it was really…

Opinions are not objective.

Re: I am a quite good bad programmer

#113
Wrote a comic about code interviews [0].

Code interviews are broken. I judge a company's software development maturity based on their interview process. I've been the owner of such processes, and I've made the mistake of applying non-related coding exercises, but I've also had success revisiting these with new approaches.

There's no formula for all companies, but the best kind of interview process, in my opinion, is to match the developer skills and personality with what you already have in-house, and with the kind of problems your tech team is facing.

[0]: https://badecaf.com/5/

Re: I am a quite good bad programmer

#114
post #75

I wanted to give you a completely objective opinion, so I went from gematrix.org > www.c2kb.com > 9gagrss.xyz and based on that and your user name I found this: https://github.com/caviv/9gager One thing, I think, you should be really careful about is how you handle user inputs, e.g. this line: https://github.com/caviv/9gager/blob/20ccaaf649af525fc7a0c1d... I validated this on the live site as well, and it was really…

Opinions are not objective.

I used it in this sense:

> In everyday life, your objective opinion is the one that sets aside your subjective preferences or feelings about something and instead assesses it based on facts and reality. [0]

[0] https://www.dictionary.com/e/subjective-vs-objective/

Re: I am a quite good bad programmer

#115
You're probably a very good programmer - strange that you're comparing your work against seniors; are you not a senior engineer yet with 20 years experience? You probably could be.

Also, don't be so down on yourself regarding interview questions. If you spent a month or two just practicing these types of questions in your free time you'd be surprised how you'd do on some of the interviews you would normally bomb out.

Re: I am a quite good bad programmer

#116

For a recent interview I was asked to build an IOC dependency injection library in 2h and the task was made “deliberately” unclear according to the interviewer. So I spent 2 days researching IOC libraries, building some nice examples of how it should work to get a feel for the API, writing tests up front, writing the library and adding docs. Then I got an interview! Fantastic I thought, I passed the technical with my…

For better or worse, when I was interviewing developers I would give specifically vague requirements, since requirement gathering is a skill that I think (senior) developers must have. I don't think that's a useful thing to do in a take-home assignment, though, since you can't clarify requirements with your client in that situation. That said, I admit that I would also expect error handling to be addressed in any pie…

The code had tests checking if errors threw under certain conditions... like I say it had error handling but we changed the way it worked during the interview so we needed to add some extra error conditions which we did and test coverage remained 100% so all paths in the code were tested.

Re: I am a quite good bad programmer

#117
post #103

Earlier quoted context omitted.

To be fair, I write quite a bit of sloppy code when I program as a hobby, or if I'm trying to quickly hobble together something that just does what I need to do (and that includes random projects I throw up on Github).

The difference is that you don't create a whole post on HN just to humblebrag how good of a programmer you are. This code is a disaster and the opposite of what OP describes. A clear case of Dunning–Kruger.

But OP wasn't bragging about their 9gager project. Also, isn't it possible to be a good programmer but write bad code sometimes? Perhaps OP's best work just isn't on display.

Trying to give the benefit of the doubt, but I generally don't think one toy Github project is conclusive evidence of anything, really.

Re: I am a quite good bad programmer

#118

> I understands the usage of Hash / Map instead of searching arrays and many other small things that actually enhance the code performance I would consider this an assumed skill for any developer with a college degree. It’s basically the point of the entire Data Structures class, which is a degree requirement.

I had an extraordinarily painful conversation with someone who had done pretty well in our DS class but didn’t have a ton of practical experience. Me: “why don’t you just use a hash table here? That array you’re iterating through each time has like 200,000 entries” Him: “I can’t. I need to be able to get both the key and the value and hash tables don’t store the key” Me: “…sigh, school has failed us again”

Depends on the use case, sometimes a list is more appropriate. On an old machine, Java 17 can iterate a list of 30 million strings looking for a match in around a half second. Just checked it in jshell. If the use case was that the map's keys could potentially change over the lifetime of the map or if the value's were not idempotent and if iterating 30 million items occurs fairly infrequently, then an ArrayList (in Java) might be the best choice.

Re: I am a quite good bad programmer

#119
post #5

You're "expected" to study for job interview questions. It's more a measure of willingness to jump through hoops than your competence. Developer interview questions in general has little to do with what you'll do as a developer, and what you're expected to know as a developer.

This is so weird. Aren’t you just selecting for obedience and unnecessary hoop jumping? It seems like this would also select the kind of engineers who aren’t willing to say “no, that’s a dumb approach, we shouldn’t do that, here’s an alternative”? When I was a Junior dev one of the first lessons my boss taught me was to always always speak up if something looked off to me. Maybe I’d get an explanation and be enlighte…

> obedience and unnecessary hoop jumping

This is what makes you successful in some large organizations, unfortunately.

Re: I am a quite good bad programmer

#120

Your list makes the case for being "good", but that doesn't matter. The "job interview questions" are largely popularized by people who do not understand hiring, and probably don't understand much of anything else, with a cargo cult mindless copy/paste of practices that don't actually apply to them. There is a niche of a niche of a niche of roles where deep specialized knowledge is actually a baseline requirement in…

And these are the people who post on LinkedIn as if their understanding of esoteric Leetcode string DP problems is essential for scaling Amazon and Google. They may not quite understand their development or deployment environment but their knowledge of writing segment tree as a single dimension array in 15 minute is somehow essential to scaling the internal CRUD app these people end up working on. Now everyone being…

I wonder how much the culture of standardized testing has contributed to this pattern. The idea that it's somehow unfair to test relevant skills and knowledge because previous exposure comes down to simple chance. That for a test to be "objective" it should only ask about abstract matters no one would ever reasonably encounter. It strikes me as sort of essentialist.

It also seems sort of contradictory... if experience in the field is one of the most important criteria, why are they implicitly avoiding testing for that?

Post reply on HN