|
A developer who can "do more with less" is more valuable than one who requires all the latest tools.
And don't get me started on developers who think you can't debug without a debugger.
|
|
|
|
|
PIEBALDconsult wrote: And don't get me started on developers who think you can't debug without a debugger
Torvalds takes this view. If you cant debug with thought and printf then you cant debug.
Fortunately someone DID come up with a linux kernel debug setup, and very useful it is too.
|
|
|
|
|
Actually that is a good breakdown of skills needed.
And of course I am level 3.
(Actually the first two, data structures and algorithms I am only a 2 on, but we dont use these in the kernel, we prefer rock solid and simple code to anything flashy)
--edit--
Oh, and I dont blog.
modified 16-Sep-17 2:11am.
|
|
|
|
|
Note the note at the bottom
"Thanks to John Haugeland for a
reformatting of it that works much more nicely on the web."
So apparently being able to make it readable on the web is not something a programmer needs?
|
|
|
|
|
|
Not unless he writes web pages, no. Obviously.
|
|
|
|
|
The same goes for all that's written on the article. If you don't work directly with that stuff, it's irrelevant and sometimes even detrimental* that you know it.
* I have some applications here that one such "genius" wrote where he uses an array of threads to "parallelize" some simple calculations. The kick? the calculations are sequential, take less time to execute than the threads take to warm up and are done once a month with no time constraint. But he just had to pass threads around through the whole app...
|
|
|
|
|
Sentenryu wrote: and sometimes even detrimental* that you know it.
More than sometimes when someone 'thinks' they know it but they don't.
This can often happen when someone absorbed a 'best practice' from years ago, perhaps not even from their experience but what someone else told them. And it has resolved into an absolute commandment from god, that must never be questioned, even when evidence suggests otherwise.
|
|
|
|
|
jschell wrote: And it has resolved into an absolute commandment from god, that must never be questioned, even when evidence suggests otherwise.
I deal with this way too much. What happened to "use the right tool for the right job"? I'm tired of seeing people trying to drive nails with the pointy end of a screwdriver.
|
|
|
|
|
Yeah, thats just dumb. And you are right, the use of feature xxxx just for the hell of it is a real problem in the IT world.
But I found the chart in general a good breakdown of the skills needed, even if they are per field. I dont know about fancy sort routines myself for example, I work more in processes than data, as I write drivers, so I get your point, but generally its good still.
|
|
|
|
|
I was thinking the same thing - given how smug this guy is. Even *I* can do this and I suck at web development.
"Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."
-- Marcus Brigstocke, British Comedian
|
|
|
|
|
so if i'm 1.5 according to this scale, i'm a merely fairly competent programmer. at 150k/yr, i'm pretty happy about this.
|
|
|
|
|
Now that you've all expressed such disdain for the competency matrix, I will foolishly raise my hand and say I think the general concept is sound; that there are areas of competency in development that people arrive at unevenly, and that might measure their ability to do certain kinds of work or thinking.
I was thinking of a similar kind of matrix organized around programming paradigms (imperative, OO, functional), but I think there are paradigms that don't yet have a proper name that are still useful measures of developer skill.
Perhaps people are just objecting to the specific categories, or the idea that you have to master all these categories to be a "good" developer.
|
|
|
|
|
The jump from the second cell to the third is way too big and includes skills that are way too niche to be expected from a general developer. Heck, even the second column includes some things that are useless in the day to day. Maybe if it was presented as limited to a specific niche.
|
|
|
|
|
Got to second this. I see way too many people who work in developing software that have no understanding of various data structures and which one to use(So it's all arrays), how memory is being used, threading(a bool as a thread synchronization object?) and no ability in algorithmic analysis(O(N2) when you could have easily done O(nlog(n)) that I actually like the fact he stressed the basics for a lot of what he wrote. Always seems like the people that don't do those basics also don't use source control or lay out their code with any sort of reason.(No comments and words aren't spelled correctly either.) Their stuff looks great at first since they get it out quickly and it often works but when you're the guy who comes by to try and fix that mess years later it's nightmare. (Since the issues don't crop up in their testing, only when it's been out in the wild for a few years and they actually get a legit volume of usage do things start popping up.)
|
|
|
|
|
Is a bummer a broken down 4x4?
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
I don't know, but if you drag a dog out of the sea is it a Land Rover?
|
|
|
|
|
If it's from apple that would make it an iland rover.
Your signature appears here if you have one.
|
|
|
|
|
That kind of humor wheel fall flat on it's face. Not that off fendered or anything like that, but . . . wait . . .
A question: is a carburetor what a woman calls it when someone who talks incessantly about their vehicles 'down shifts' on her?
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
return _(); IEnumerable<TSource> _() {...}
Found this on MoreLinq, it actually took an SO lookup for me to realize they were use a local method with an "anonymous" name.
In this context, the underscore is just an arbitrary name for a local function (which is a new feature introduced in C# 7.0). If you prefer, you could replace the underscore by a more descriptive name.
C# is starting to look more like Ruby/Python.
The explanation is useful though:
By the way, the reason for having two methods here is so that, in case any argument is null, ArgumentNullException will be thrown immediately when DistinctBy is called instead of when the result is enumerated (due to the presence of the yield return statement).
Though, putting this on the same line...I agree with what others wrote.
|
|
|
|
|
The more they add to the language, the more I look at it and think it's time to rip it apart and create D# or whatever. Some of this seems to have been added to please one person who might use it, instead of being a general solution to a widespread problem. Can't see how this makes maintenance easier at all...
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Maintenance? Are you joking?
These 'features' only exist to lengthen the feature list of upcoming new versions, to give some guys something to pontificate over and, most importantly, keep the fanbois drooling in anticipation.
Who cares what it's actually good for?
The user can't update the up: we update it for them (Choice in the CP poll)
|
|
|
|
|
OriginalGriff wrote: Can't see how this makes maintenance easier at all...
You can probably find people making the same argument for every feature ever introduced since v1.0!
I assume you don't use anonymous methods[^] either? Because manually writing a private class to represent a closure makes maintenance so much easier.
In this specific instance, they should have given the local function a more meaningful name than "_ ". But ignoring that, there's no real benefit to sticking with the previous version[^], which had a private static "Impl" method that was only called from the main method.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
modified 15-Sep-17 11:30am.
|
|
|
|
|
I use anonymous methods - when they are appropriate - but that abortion is just bad code. It's lazy and doesn't make anything easier on the poor sod who has to work on it.
And I have noticed that the people who throw this kind of thing together are always far too busy to fix it six months later when the bug reports come in ...
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Richard Deeming wrote: class
Classes? Are you insane? These little buggers are nightmare for maintenance. You don't need anything more than assembler, you're just trying to be hip.
|
|
|
|