3 ms·
"The companies are complaining because they are hurting. They can’t produce quality products as cheaply, as reliably, and as quickly as they would like. They co
by pchristensen 18y ago
"The companies are complaining because they are hurting. They can’t produce quality products as cheaply, as reliably, and as quickly as they would like. They correctly see a shortage of good developers as a part of the problem. What they generally don’t see is that inserting a good developer into a culture designed to constrain semi-skilled programmers from doing harm is pointless because the rules/culture will constrain the new developer from doing anything significantly new and better."
Wow. I was a little anti-Bjarne because I'm no big fan of C++, but this is gold.
- pchristensen 18y agoand "What should high schools do to prepare students for university-level software development? When I entered a Math course as a 1st year student, the department head said something like this in his welcoming lecture: "I don’t care if you know math - we’ll teach you that from scratch - but I hope you know how to work hard and to read & write English, because you’ll need that to keep up." I think he had an important point: current freshmen appear to have been spoon fed and many find it hard to adjust to independent work and to shake the impression that you work only to improve your grades.
- pchristensen 18y ago"I think aesthetics can be taught to many. Mostly it is a case of repeatedly showing students good examples and explaining why those examples are good. This takes time, years. I would like for programmers to present portfolios of their work, much in the way artist (including architects) have to."
- pchristensen 18y agoSeriously, last one. This article is the best thing I've read in probably a month or more. " From your experience as a programmer, what is it that makes a great developer? Can you point out a few qualities, both technical and personal? Curiosity, initiative, tenacity, ability to reason logically, ability to communicate and to work with others. That’s not at all special for programmers, I’m afraid. Also, I strongly prefer to be around people with a sense of humor. Your advice for young programmers -- or for not-so-young programmers? Programming is part of software development. It doesn’t matter how fancy your code is unless it solves the right problem and you can explain it to others. So, brush up on your communication skills. Learn to listen, to ask good questions, to write clearly, and to present clearly. Serious programming is a team sport, brush up on your social skills. The sloppy fat geek computer genius semi-buried in a pile of pizza boxes and cola cans is a mythical creature, best buried deep, never to be seen again. Learn your first language well. That means trying it for difficult tasks. Don’t obsess about technical details. Focus on techniques and principles. Learn another programming language; choose any language that’s quite different from what you are best acquainted with. You can’t be a professional in the IT world knowing only one language. No one language is the best for everyone and for everything. Don’t just do programming. Computing is always computing something. Become acquainted with something that requires your software development skills: Mediaeval history, car engine design, rocket science, medical blood analysis, image processing, computational geometry, biological modeling, whatever seems interesting. Yes, all of these examples are real, from my personal experience. "
- plinkplonk 18y ago"Don’t just do programming. Computing is always computing something. Become acquainted with something that requires your software development skills: Mediaeval history, car engine design, rocket science, medical blood analysis, image processing, computational geometry, biological modeling, whatever seems interesting. " This is the "magic key". Knowing a domain and being a good programmer makes you infinitely more valuable than just the latter.
- scott_s 18y agoTry browsing through both "The C++ Programming Language" and "The Design and Evolution of C++." You stated you're not a big fan of C++, but you might get something out of what Stroustrup has to say - I do.
- nradov 18y agoEven those of us who don't much like C++ recognize that Stroustrup did about as well with the language design as anyone could, given the constraints within which he had to work. The flaws that could have been prevented only became obvious in retrospect after programmers started using the language to build large systems.
- thomasmallen 18y ago> as cheaply In other words, talent costs money. Companies expect the good developers to come out of the woodwork for a 35-40k junior dev position and wonder why they come up with dregs. But I agree. In the one year I spent at a university I ran into many CS majors. Most were in it for the money. Now these students were only taught in Java as far as I could tell, yet they seemed to have no interest in the language. I'd ask questions about Java web technologies that I'd only heard of (being more of PHP guy) like Struts and what not, drawing blank stares. I'd ask all sorts of things that I'd heard about the language, hoping they'd relate some experiences in regards to what I'd heard, that the code was rigid, verbose, etc. I was especially interested in what they knew about OOP which at the time I was teaching myself. More blank stares. Didn't take much more digging to discover that they were pursuing the degree for the money and nothing more. I thought that it was very sad that I, a History major at the time, had more passion for computer science than most CompSci majors I met.
- pchristensen 18y agoCompanies expect the good developers to come out of the woodwork for a 35-40k junior dev position and wonder why they come up with dregs It's not that they expect good devs at that price, it's that they can't tell who the good devs are. For grads, all they have to go off of are grades and maybe an intership. Otherwise, it's just a resume. Without an effective way to recognize good devs and with no portfolios, it's just a crapshoot. It's the same information asymmetry that makes it hard to buy a good used car. As pg (?) said, the only way to recognize a good dev is to work with them for a while, and most companies and job seekers are unwilling to do that.