|
My small team is highly vertically stacked. Our new management declared we would cross train each other. It is all great on paper, but the stress of learning a departed developer's undocumented code in every silo is palpable. In-house training sessions would be a joy in comparison.
|
|
|
|
|
Try "Watching You-Tube" Marc
Pluralsight costs money remember
Oh and your only allowed to learn during lunch breaks and out-of work time too...
|
|
|
|
|
My boss gives me grief for daring to read and understand CodeProject articles to improve my skills on company time!
The ironic thing is that I limit my learning to material that I could apply at work, where I a limited to Visual Studio 2010 and SQL Server 2012! My desktop is 2 gigs of memory with 72 gigs of disk space. He is the kind of boss who does not trust his underlings to work while not in his sight
At home, I currently use Visual Studio 2017 (community edition) and I just installed SQL Server 2017 (developer edition) on a desktop with 8 gigs of memory and a terabyte of disk space.
__________________
Lord, grant me the serenity to accept that there are some things I just can’t keep up with, the determination to keep up with the things I must keep up with, and the wisdom to find a good RSS feed from someone who keeps up with what I’d like to, but just don’t have the damn bandwidth to handle right now.
© 2009, Rex Hammock
|
|
|
|
|
I document, in line, all but the most standard and obvious code.
If that's not enough - well - HR should get on the case.
Being a tad cynical (for a change). It just seems a way to hire cheaper help, or even ship it overseas to the drone armies.
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 |
|
|
|
|
|
Oh no.
We're done for.
|
|
|
|
|
Seems like developers these days are only as good as the answers they get from QA!
Everyone has a photographic memory; some just don't have film. Steven Wright
|
|
|
|
|
Shouldn't high level managers be required to have all their management (mis)functionality documented in case the company needs to replace them quickly?
It should all be dumbed down (Oh wait...too late -- ) so anyone can replace them.
Oh, yeah, right you can't really document anything they do because it is so _dynamic_.
|
|
|
|
|
Been there, (haven't) done that
It's an upside down world really.
I can't imagine this happening in any other field.
Heck, most stuff wouldn't work at all if kids who just got out of school had to be able to understand it.
Guy at NASA: Guys, guys, we've been doing things all wrong!
Other guy: What do you mean?
First guy: I just spoke to an intern and he doesn't really understand how rockets work...
Third guy: So what do you suggest we do?
First guy: Well...[^]
|
|
|
|
|
Sander Rossel wrote: I can't imagine this happening in any other field.
It's called "deskilling" and it's been happening for a long time: things are designed so idiots can maintain / fix them. Think of cars - how many mechanics can swap a bearing instead of a whole assembly? Or strip a brake caliper and replace the seals, rather than fit a new caliper? How many electronic repairs are done with a soldering iron, instead of a screwdriver and a new PCB?
And it's been apparent that many of the new "developers" we get in QA believe in the "bolt on component" approach to coding ...
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
I'm not sure if it's exactly the same.
I know nothing about cars, especially not in English, so I can't really follow you analogy
In software I'm also about "bolt on component" where possible.
Things should be easy to use even though it was hard to write.
In a car you'll need a combustion engine, but in software it's possible to go for a Flinstones approach (and somehow often done that way) because an engine is too difficult.
However, when you have the engine some maintenance tasks are pretty easy, like changing oil or coolant.
What my boss asked, and I'm guessing what Marc is talking about, we need the complex combustion engine, but it has to be maintained and understood at a deep level by the people who usually change a bolt.
Since that's pretty much impossible you'll end up with a Flinstones car after all
|
|
|
|
|
A line from "Real programmers don't use Pascal" - it was difficult to write, it should be difficult to understand
We can’t stop here, this is bat country - Hunter S Thompson RIP
|
|
|
|
|
I thought the idea was to use only the newest features, because that's all the newbs know.
|
|
|
|
|
I've been managing various dev teams (java, .net) for around 15 years now.
I would have never asked my dev's to dumb code down but I would suggest that there have been occasions where devs would use a new tech or dev method not because it was needed or warranted but because it was an opportunity to learn something new.
The cost of that is a general slowdown in the output of your team as the overhead of working out how the new stuff works start to impact timelines and commitments.
If the new way genuinely is better then I think its an easy discussion because the cost/benefit argument should win. I encourage my devs to focus on that and we haven't really had this issue.
|
|
|
|
|
You sound like the type of boss I would like to work for!
If your company is in central Texas and you are hiring, please tell me! I would be delighted to apply!
__________________
Lord, grant me the serenity to accept that there are some things I just can’t keep up with, the determination to keep up with the things I must keep up with, and the wisdom to find a good RSS feed from someone who keeps up with what I’d like to, but just don’t have the damn bandwidth to handle right now.
© 2009, Rex Hammock
|
|
|
|
|
Well, you sound like the type of employee a boss wants heheheh
If you plan on moving to Melbourne, Australia... let me know
|
|
|
|
|
Yeah....
I usually ignore those comment, while saying I will. Because this is what happens, say you use a very useful new syntax such as await SomeTask() .
- it legit make the code more readable, less bug prone, more maintainable
- some people are freaking out because they didn't keep up, and can't parse that syntax, hence find it "overtly clever"
- time pass, they get over their initial shock, everybody does it by the time you force yourself to comply
|
|
|
|
|
I can understand being asked (in a code review) to not be overly cryptic or to ensure any non-obvious code is well commented, but your examples of being asked to not use features like LINQ, metadata, reflection and extension methods (good grief!) seem to imply the company's dev team is grossly under par when it comes to basic software engineering skills. Perhaps it's time to lose this gig and move on?
/ravi
|
|
|
|
|
Pretty much nail on head.
Juniors should be learning, not code automatons. Ideally if you want that it should be automated via tool or scripts.
|
|
|
|
|
How are juniors expected to learn when nothing will challenge them?
|
|
|
|
|
How does a junior learning something help the company's bottom line? If a junior programmer can understand and maintain every part of the company's codebase, there is no requirement for learning and no requirement for senior (expensive) programmers.
Just sayin' ...
|
|
|
|
|
Touché
However, that changes the story from career development to office politics, and there's few things other than leaving the company which would remedy that (for the developer asked to dumb down the code).
|
|
|
|
|
DerekTP123 wrote: If a junior programmer can understand and maintain every part of the company's codebase, there is no requirement for learning and no requirement for senior (expensive) programmers.
Because eventually, no senior dev will want to work for the company, leaving junior devs to maintain a code base that is metastasizing into an umaintainable, bug ridden slimy blob. At which point management contracts an outside job shop to come in and rewrite the software because a) it's broken and b) it can't support the demands of the users.
|
|
|
|
|
...and then management changes as the management cannot build the product, and new management begins the process all over again.
|
|
|
|
|
Tinus Smit wrote: How are juniors expected to learn when nothing will challenge them?
How are juniors expected to learn when they have no motivation to learn? Sad but true.
|
|
|
|
|
I understand both sides (partially):
- dev side: yes it can make sense to use the new and shiny constructs/features of a programming language. No problem with that. But did you make an effort to add comments to clarify the magic shorthand that follows? Or are you the kind of "I only write readable code" developer? I had to modify a program and after the initial "who wrote this crap", I realized it was an old program I wrote. So "dumbing down" should perhaps be perceived as KIS: keep it simple.
- management side: devs are an unreliable bunch of nerds so if they leave, we can't afford to stand still for months just because some star-programmer found it beneath his dignity to add comments and only wanted to use exotic libraries. F them and send it to India (so they can mess it up). Now I'm off to my micromanagement course
|
|
|
|