Conversation started May 12, 2014 at 14:51.
May 12, 2014 14:51
He has some experience, but he will never be a professional programmer
@GlenH7 This is the one I was most concerned about
user41796
Sounds like you're playing semantics with the term "professional" then. :-)
user41796
I'm trying to think of how to edit your question to make it more constructive and less poll. But I'll admit I'm struggling.
Dictionary: "engaged in a specified activity as one's main paid occupation rather than as a pastime."
@durron597 how about just talking it over in here; it's not on topic on the site - career advice and even beyond that if you could wedge it into just general workplace advice it's on topic for The Workplace, but not here, because it's not specific to programming
user41796
@durron597 - "What strategy should I adopt to get prototype level code ready for a production environment?"
user41796
May 12, 2014 14:55
@JimmyHoffa We've hashed it out before in here.
@JimmyHoffa I'm decidedly not asking for "how do I get along better with my boss"
@GlenH7 Yeah, you guys told me to quit :)
user41796
@durron597 "The boss" portion of your question is getting in the way of your question though.
@durron597 if it wasn't flying in here then it definitely won't fly on the site.
user41796
@durron597 Based upon what you said about your boss, that's about your only option.... :-)
@GlenH7 That's close, but it's more about preventing the problems than working with the existing problems once I've got them
user41796
May 12, 2014 14:56
Won't listen to your requests; doesn't care about whatever metrics you can generate; gets upset when you modify his code....
But the problem is, I speak computer science, he speaks... Mort.
you could dedicate him to a non essential module and do the rest of the work yourself
"I don't need to change my code, you can just ask me questions, I'd be happy to explain! But I need to leave it this way because this is how I understand it!"
@ratchetfreak He's my boss, not the other way around :-/
posted on May 11, 2014

As Djishin left the Temple of the White Iron Sky to return home, a hand fell on his shoulder. “Brother,” said a monk in white robes, “I see by your habit you are from the Temple of the Morning Brass Gong.” “To deny this would be to speak a falsehood,” said Djishin. “I have heard that it is a cruel place, where the foolish are corrected with humiliation and injury, if not outright execution

user41796
@ratchetfreak That's complicated by the fact that it's his boss and his boss gets annoyed if he refactors the code.
May 12, 2014 14:57
@durron597 then you should say "but I don't understand it"
@ratchetfreak "I'll explain it to you, what are your questions"
WHY??? :'(
user41796
This reminds me of how annoying it is that I can't see close votes on my own posts
I forgot you can't with low rep bc I spend most of my time on SO
user41796
@durron597 You should be able to see them at 250 rep. I noticed that the counter wasn't updating for me either.
May 12, 2014 15:01
@GlenH7 Oh, weird.
user41796
And I should definitely be able to see close votes on Progs... :-)
@GlenH7 I dunno, your eyesight might be going at 94 years old
user41796
I've got an amazing optometrist.
user41796
@durron597 - another option to consider is to capture before / after of each refactor that you do. For example, when you nuke the 10 unused variables, provide that as a snapshot. Your boss still won't be happy about you removing his code, but small steps will make it easier for him to digest what changed.
user41796
Likewise, keep the refactoring to the absolute minimum. And try to make sure that you have a very good response for why each change was made.
May 12, 2014 15:10
@GlenH7 I've gotten him to use source control, but he thinks it's a disaster recovery tool only. So he leaves unused variables and commented code in the file "in case I need them again"
FWIW I edited the question a lot. It might be more on topic now.
user41796
@durron597 IIRC, you're using svn. Having a really good UI client can be helpful in that case. Because then you can visually walk him through the changes. And if you make the changes "tight", it should be easier to walk him through each stage. Realizing that you're going to hit resistance to any change you propose.
user41796
Your fallback there may have to be that he told you to get it production ready, and that maintenance costs are the largest cost component for any software project. Likely going to fall on deaf ears, I realize.
user41796
And NickC's answer in the current duplicate regarding unit tests is spot-on for your situation.
the biggest challenge for him is that he doesn't need to understand everything,
user41796
You may need to get comfortable with the fact that so long as the function produces the expected results then the underlying quality of the code doesn't matter.
user41796
May 12, 2014 15:17
By way of example, one of the junior devs on my team completely rewrote a couple of functions I had put in place and had surrounded with unit tests. I was a bit annoyed at his decision to rework code that wasn't broken.
user41796
Rather than get too mad, I simply ran the unit tests. They failed because he forgot to account for some edge cases. I threw the results over the fence and suggested he either fix the code or roll it back, but either way the unit tests had to clear. He chose to roll it back.
user41796
For me, it was important to realize that I didn't need to care what the underlying code looked like so long as it cleared the tests.
@GlenH7 Yeah but his code has no tests, and isn't particularly testable, either.
 
Conversation ended May 12, 2014 at 15:25.