Earlier quoted context omitted.
I've seen this argument before and I don't think I agree. Surely there's a lot of times when I program that are heavy into thinking, but there's also a lot of mechanical work. Refactoring? Typing speed will help you. Going to try out a new approach? Typing speed will help you to see whether it's true or not. Everything else being equal, typing speed will help you try out stuff faster.
I'm a developer who is also a pretty fast typist, and I have to say that's not my experience. I wouldn't want to hunt and peck, but my sense is that higher than, like, 40 GWAM probably yields diminishing returns. Language might make a difference there. Writing C# with a QWERTY keyboard, you still have to interrupt a normal typing flow for your parentheses, braces, etc. I suppose it's helpful if you're writing long co…
They don't even know the fundamentals
81–90 of 323 posts
Re: They don't even know the fundamentals
#82> It turns out my day to day work doesn’t require deep knowledge about database internals and I can mostly treat them as a black box with an API 2. Because of such attitude of the previous dev team my client ended up with DB integrity ruined. Previous guys somehow didn't know they should use transactions when updating/deleting stuff in the DB, because hey, it's just API you call, who cares of mambo-jumbo happening be…
>Because of such attitude of the previous dev team my client ended up with DB integrity ruined Same thing here, our legacy codebase avoided using transactions, and to this day, after migrating to a new codebase, we still get reports from clients here and there about errors which stem from inconsistent data
Re: They don't even know the fundamentals
#83> There is another fundamental that is ignored by a lot of computer users. I think everyone who spends a lot of time behind a computer should learn how to touch type, since typing is still the main way of interacting with your computer. I sort of agree, but anyone typing out code at 120WPM isn't programming, they're writing. Programming is an intellectual activity, not a physical one so learning to touch type is wort…
Do someone really needs to learn touch typing? It comes naturally when you are using computer daily.
However, it might be a good shortcut for people learning. I was taught at a youngish age to attempt to touch type (box over the keyboard and a tutor program) I fucking hated it, and I was slow, it was dull and painful.
However, Then I had a need for typing, so I got faster and faster, and the initial structure that I got from the rigid teaching, allowed me to learn faster than my peers.
Re: They don't even know the fundamentals
#84Yes, you can write some storage solution or yet another database without knowing ACID terms but you will still end up somewhere in the CAP triangle. Using common terms like these makes it easier to communicate with other engineers and makes it more obvious that a lot of things have already been solved and perhaps there’s a library that you can use. In the same spirit you should not write your own cryptographic algori…
> you will still end up somewhere in the CAP triangle Drop P and you'll end up with both consistency and availability, right? Right? ("This is a trade-off we are ready to accept")
Re: They don't even know the fundamentals
#85Yes, you can write some storage solution or yet another database without knowing ACID terms but you will still end up somewhere in the CAP triangle. Using common terms like these makes it easier to communicate with other engineers and makes it more obvious that a lot of things have already been solved and perhaps there’s a library that you can use. In the same spirit you should not write your own cryptographic algori…
> you will still end up somewhere in the CAP triangle Drop P and you'll end up with both consistency and availability, right? Right? ("This is a trade-off we are ready to accept")
Re: They don't even know the fundamentals
#86Most of your time isn't spent in fundamentals though. I find a lot of my time is spent looking up some kind of best practice, or discovering what libs other people are using for a problem. Also, things may be fundamental, but not everything is built up from fundamentals. Maybe math is the best place to look at this. When you go to school, you just do it. Number lines, equations, calculus, matrices. Even through the e…
When you look up a best practice you often get conflicting opinions. Solid fundamentals may help you evaluate among them at times.
Re: They don't even know the fundamentals
#87I will still never understand why I was asked to code an implementation of a binary tree for an interview once, something that is usually left to those who implement standard libraries or similar low-level needs, for a job that was basically writing user interfaces.
Re: They don't even know the fundamentals
#88> not every programmer is dealing with performance issues as part of their job. Some has also specialized in writing GUIs and are more concerned with the user experience and making the user interfaces pretty. This is a really important point that we don’t talk about enough, because everyone gets uncomfortable and feels judged. But I can’t help myself, and I think there’s a lot more to dissect here. I think programmin…
Re: They don't even know the fundamentals
#89> There is another fundamental that is ignored by a lot of computer users. I think everyone who spends a lot of time behind a computer should learn how to touch type, since typing is still the main way of interacting with your computer. I sort of agree, but anyone typing out code at 120WPM isn't programming, they're writing. Programming is an intellectual activity, not a physical one so learning to touch type is wort…
There's also an argument here about having (and signalling) respect for one's peers, craft and tools. The keyboard is a tool. To me, it feels disrespectful for a person to expect these high wages when they don't even make the moderate effort involved in learning to use this tool efficiently. In my experience, this usually signals that a person isn't actually interested in continuously improving, feels overly entitled…
Re: They don't even know the fundamentals
#90> It turns out my day to day work doesn’t require deep knowledge about database internals and I can mostly treat them as a black box with an API 2. Because of such attitude of the previous dev team my client ended up with DB integrity ruined. Previous guys somehow didn't know they should use transactions when updating/deleting stuff in the DB, because hey, it's just API you call, who cares of mambo-jumbo happening be…
I think there is a big difference between not knowing something off the top of your head and being completely unaware of it.
If you have awareness of something, you can make decisions based on that awareness without necessarily having a deep understanding. When you have no awareness is when the big issues arise.
For example, with your MongoDB fuckup if you had even a vague idea about the underlying behaviour you might have been able to consider the failure scenario ahead of time and prevent it from occurring. A deep understanding of how MongoDB works probably wasn't required to prevent this incident.
Same for indexes. If you're aware of them, you can trigger the thought process of "this query is pretty slow, maybe I should look into adding an index because I know that speeds things up". You don't necessarily have to understand how a B-tree works for an index to be effective.