Quote:
Originally Posted by Katsunami
In short, there are a lot of people active in IT that shouldn't even be let near a computer.
|
Yes.
Quote:
Being an auto-didact can only get you so far: I learned that when I was 15. I had been programming for 5 years, and I wrote my own chess engine... until, at some point, I just couldn't add any functionality anymore because the code was a mess, and I didn't understand it clearly any longer. The chess engine had grown, like a weed, without any design, until it could play legal moves and think 1-2 moves ahead, but that was it...
|
The problem with being an auto-didact is one I've seen elsewhere, and not just in computing.
I know some people who are
very bright, and auto-didacts with magpie minds that soak up facts. To some extent, that describes
me. But the problem is knowing what you
don't know. You can soak up all the facts you want, but without a conceptual framework to fit them into, there can be enormous gaps in your knowledge you simply aren't aware of, and it can come back to bite hard.
An old friend and former housemate is in that situation. He came to a parting of the ways with his business partner, and declared bankruptcy with an impressive listing of debts. I don't know details, and don't want to - I know his former business partner is suing him for an enormous amount, but since they'd worked together for 15 years, I don't know what prompted the abrupt about face. I do know the man I knew back when wouldn't have done what he's being accused of. I suppose the man he is now might have, but I find it unlikely.
My best guess is that he simply didn't know as much about what he was doing as he thought, and dug himself into a deep hole. He seemed to simply assume his plans would work out as intended, and had no fallback position if they didn't.
Quote:
I basically was stuck at that point until I went to uni and studied computer science. It didn't make me a better programmer; I already could (and can) write concise, powerful and efficient code very well, but it _did_ make me a much better software engineer/designer.
|
It's the designer part that's critical. I've seen too many people jumping in and writing code with only a vague notion of what the code is supposed to do, and no knowledge at all of the current practices and workflows of the folks who are the intended users. That works about as you would expect, which is not at all.
First, define the problem you are trying to solve, and hint! It may not be what you think it is. Be prepared to pivot when you discover that.
I've done my best to acquire context, and have a framework into which I can place facts. Many of those facts have pointed out areas where I need more framework. There are enormous amounts I don't know, but I have at least some conception of what the gaps are.
______
Dennis