That being said, the standards that define what a "good" programmer is are not well defined, and everyone has a different idea of what it means. It is also possible to be a "terrible" programmer and still manage to sell two startups.
I am a quite good bad programmer
91–100 of 160 posts
Re: I am a quite good bad programmer
#92For 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…
Interviewing is a nightmare on both sides of the fence, though. There's a reason why it's a good idea to build up and leverage your network of coworkers.
Re: I am a quite good bad programmer
#93I 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…
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).
To offer some constructive criticism, "Hassle" being misspelled as "hassel" in the readme, to me, would raise the question of the quality of English written communication created by the author.
Re: I am a quite good bad programmer
#94I applied for a job. I did a coding assignment. I was asked to read two xml files, one with data, one with operations, and perform the operations on the data. The task was deliberately unclear and suggested to not use third party software. So I did the thing and wrote an xml parser. I documented my decisions in design etc. Later I found out that one could have used any third party XML reader package. I was declined f…
Which is correct, since I didn't use rails, I used Sinatra.
Re: I am a quite good bad programmer
#95Earlier quoted context omitted.
No, technically he's right. On paper, a hash map creates an index in an array-like structure from the key, but does not necessarily store the key in a retrievable way. The "Hash" in hashmap comes from the fact that the key is somehow hashed (an often irreversible procedure) to determine the memory location to store the value. In practice it's not the case, but very technically from a purely theoretical standpoint, I…
There's no theoretical way for a hash map to work without storing the key - the reason for that is hash collisions in presence of which you do need to run equality comparison with stored keys otherwise you would overwrite data just because of hash clashes.
Besides, just because you are storing the keys, it doesn't mean it is viable to retrieve them. On the collision aware maps you see on CS, iterating through the keys is extremely inefficient.
The OP's description is clearly somebody that has learned the theory, but don't have any practical knowledge.
Re: I am a quite good bad programmer
#96> I never "studied" computer science in a regular way,
You never really mentioned algorithms, and your only mention of data structures was "usage of [hash tables] instead of searching arrays and many other small things that actually enhance the code performance."
While you don't need them all the time, a good understanding of common data structures and algorithms will make you a better engineer, and I suspect this is the weakness they're seeing.
Re: I am a quite good bad programmer
#97Like with any skill, practice helps. It sounds like you dont really care that you dont do exceptionally well at interview. But if you wanted to improve that skill you could focus some time on it.
Think of another skill you only use once every year or two. You are not going to be fantastic at it. I've played a lot of basketball in my life but only play in games ever year or two when I happen to be with folks who have a regular game. Now I'm in pretty decent shape so in general I do okay but the actual skills of playing basketball are rusty so I'm going to be a 5-7 out of 10. If I played basketball everyday I would probably be a 7-8 out of ten.
The same goes for interviewing. You are coding regularly so you have some of the prerequisites for doing well in interviews but without practicing typical interview type questions you will not excel at them. If you did 100 interviews over the next year I'm sure you would start to see patterns, improve on your weaknesses, and be closer to a 10 than a 5. It's a skill you have to work on outside of just coding if you want to be a great interviewee.
Re: I am a quite good bad programmer
#98> 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”
Re: I am a quite good bad programmer
#99Your 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…
I also don't mind leetcode, strictly as a way to learn esoteric algorithms that don't show up in 99% of crud engineering. It's also a fun game. aka facebook quizes for nerds.
But you can't just do the 75 blind questions and be done. You have to scope out the questions that a company is known for asking and commit those to memory, since everyone else is doing it. Last night I had to re-learn matrix operations and memorize how to do them for a company. I loved linear algebra, ...back in the day.
And I just had to laugh last night at the absurdity. "In what world would anyone implement their own matrix operations? Why the fuck am I being judged on coding in a shitty web ide and ability to sight read code like im at some fucking nerd recital? I should be able to use an ide with a debugger dammit"
Instead of just following my passion and intense desire to build my project, which incidentaly should be the same skills a good hire should have, I have to pull myself away from "real" engineering, in order to focus on gaming the test like I was taking the SATs again.
Re: I am a quite good bad programmer
#100Lots of folks are good at doing the job but bad at interviewing for jobs. Interview prep is a massive industry. Like with any skill, practice helps. It sounds like you dont really care that you dont do exceptionally well at interview. But if you wanted to improve that skill you could focus some time on it. Think of another skill you only use once every year or two. You are not going to be fantastic at it. I've played…
Thanks to interview prep, lots of people are good at interviewing, and terrible at their jobs.