|
I don't mind the most cryptic, tricky piece of code as long as it is also accompany be good comments. I've seen some comment describing the code but not the meaning of it. Anyone call themselves programmer should be able to determine the syntax with meaningful comments.
|
|
|
|
|
Oh, yeah. Didn't want to spend the extra time because of this and let them know. Got fired. C'est la vie.
|
|
|
|
|
Heh, it's a cost saving plan. If you dumb down the code enough that a newbie developer can grok it you can then get rid of some of your senior (expensive) developers. Or at least you don't have to hire senior developers any more.
|
|
|
|
|
Nice try. Unless the company doesn't plan to stick around long. Sooner rather than later that simple saving will come back to bite the rear end good. Happens all the time.
Think it is expensive to invest in good engineering, try a bad one.
|
|
|
|
|
Yeah, I agree. Unfortunately you see it out there a fair amount. I've always been of the opinion that newbie engineers need to be mentored by a senior engineer. Unfortunately, that doesn't seem to happen much.
|
|
|
|
|
How about dumbing down code so that it can be understood by senior devs?
|
|
|
|
|
Well, I'm all for keeping things as simple as possible when developing code but "dumbing it down" by avoiding the use of a technology that might help keep it simple, or retroactively doing it just so that some junior developer could understand it ... no.
If you think hiring a professional is expensive, wait until you hire an amateur! - Red Adair
|
|
|
|
|
Statistically, half the people you know are below average. Programmers are no different. Maybe worse. In programming, the mean is well below the median. Web development reminds me of "departmental programmers" that write Excel macros. They can do some pretty good work (from a business needs perspective) quickly, and with limited technical knowledge.
The thing is, if you can make it work with "commodity programmers", it makes economic sense. Things have changed a lot. Look at user expectations. Before the web, users used to complain if an app didn't respond within 1/4 second after a button push. Now a user might wait 4 seconds without complaining. The programmer that can squeeze those milliseconds out just isn't as valuable if their cost is much higher and they are not interchangeable with "just any" programmer.
That said, there is a difference between "dumb" and "stupid". Extension methods and C# 7 features are all pretty simple and easy to understand/learn. I'd say on a scale of 1-10 they are about a 4. Using LINQ deeply is a little higher and the learning curve can be steeper, but still, once you grasp it, not hard.
I approach this using a two-tiered approach. A small set (even just one) of advanced programmers are responsible for building "internal toolkits". Basically, domain specific libraries (wrapped with training wheels and pretty little bows and ribbons). The rest of the team just uses these libraries. It's like in manufacturing. You have your tool-and-die makers, and your commodity (lower-paid) workers that use the tools. Good tools make the workers job simple and efficient, and they don't need to know how to build the tools themselves. Management reduces labor costs and manages risk by encapsulating it in the tool/die makes realm.
|
|
|
|
|
I guess that company wants to dumb down their developers, let them. Good that you got out of it.
|
|
|
|
|
This sounds like a "Negative Brag" to me.
You are SOOOO MUCH SMARTER than the other guys you work with (please read sarcasm into this statement).
Working as a successful employee includes more than being good at your particular skill, which I am certain that you are. No sarcasm intended.
Working as a successful employee, please include contract labor, independent contractor, etc. in this category, involves much more. It includes being a team player, communicating well with others, following requests from your superiors willingly and cheerfully, and yes, that last means "doing it their way".
What good is writing code using the "latest and greatest", "Most Robust" tools, frameworks and techniques, that no one else can understand, when in our industry as you well know most of those things will have the life span of Mayflies? Where will the company employing you be when you have moved on to your next contract, or job, and they are left with code you developed, that few programmers / developers understand?
They aren't paying you to be a great programmer, they are paying you do get the job done the way they want it done.
"Newer" is NOT automatically better, only Different. (And more complex and bug ridden when it comes to all of the "boutique" languages / frameworks out there)
It's a random chance Universe and we are all out there surfing waves of probability...
Schrödinger's Cat
|
|
|
|
|
People have been asked to dumb down their answers around here on occassion ... so "everyone" will understand. As if "more questions" are to be discouraged on a particular topic.
My first supervisor said I asked "too many questions".
I stopped asking.
"(I) am amazed to see myself here rather than there ... now rather than then".
― Blaise Pascal
|
|
|
|
|
I don't recall being specifically asked to do this; however, that has always been my goal: to take the complex and make it simpler. As a senior developer, my primary job is to create code that can be maintained by others; not code that is the most efficient, nor the flashiest, nor bleeding edge. While those may occasionally be side effects, the PRIMARY goal is to generate maintainable code. Maintainable by people paid less than me, junior programmers who keep the simple systems running and modify as needed. If every system must be maintained by senior developers, the business will go bankrupt pretty quickly.
To your last point about "keeping developer skills up to par with the technologies the company uses", it appears the company has simply chosen to use technologies requiring less skills. I don't see a problem with that though usage of such technologies may make you prefer to find a different employer.
|
|
|
|
|
KISS
Sure you know what that means, and it applies to everything.
|
|
|
|
|
I thought I'd got the job in the fish farm, but they hired salmon else.
Early today: the garage just called to say they fixed the car without having to drop the engine out first, so I'm getting it back much, much earlier than expected. Gotta go down, get it, and pay - about a tenth of the original guestimate! YAY!
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Oh carp! My usual luck!
... such stuff as dreams are made on
|
|
|
|
|
perhaps you should cast your net a bit wider
This internet thing is amazing! Letting people use it: worst idea ever!
|
|
|
|
|
Faster, or wider, the ever recurring question.
... such stuff as dreams are made on
|
|
|
|
|
OriginalGriff wrote: without having to drop the engine out first
There was engine there?
"The greatest enemy of knowledge is not ignorance, it is the illusion of knowledge". Stephen Hawking, 1942- 2018
|
|
|
|
|
Yeah - the V belt tensioner has three bearings, and one of them was shot. And of course, that's at the back of the block, above the aircon and the alternator, and tight in there. Mercedes ... who'd have 'em?
Well, me actually ...
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
I've haddock enough of these! Fin!
Keep your friends close. Keep Kill your enemies closer.
The End
|
|
|
|
|
This requires a full scale investigation, chum! Perhaps search the net?
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 |
|
|
|
|
|
Try the snake farm. They posted a 'help wanted' sign just the adder day.
If you think 'goto' is evil, try writing an Assembly program without JMP.
|
|
|
|
|
Is Python experience a plus?
"the debugger doesn't tell me anything because this code compiles just fine" - random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst
"I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle
|
|
|
|
|
You speak with forked tongue.[^]
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 |
|
|
|
|
|
They obviously have no sole, but perhaps it was your mullet that was off-putting, or they were hard of herring and needed you to speak up?
"the debugger doesn't tell me anything because this code compiles just fine" - random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst
"I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle
|
|
|
|