Recruiting people who maintain & improve, not just chase the new and shiny
My work will be recruiting soon, and one thing I'd like to do is screen out people who are more excited about writing new, exciting code than fixing older code, and more generally, people who recognise that good code is about more than lines of code written per day, and that design, documentation and testing are also part of being a coder.
If I ask straight out "How do you feel about working with other people's code and fixing bugs as opposed to writing new code?", I suspect a lot of people will say what they think they're supposed to say - i.e. "fixing bugs is important", but this may not reflect their actual working practices.
What questions or polite (not overly time consuming) tests would you ask to find someone who is interested and willing to maintain and improve code?
Edit to add: The role would definitely involve some new work - I don't want to give the impression it's maintenance only! This is more about screening out people who prefer to delete-and-rewrite every time, rather than fix a bug...
software-industry recruitment
add a comment |
My work will be recruiting soon, and one thing I'd like to do is screen out people who are more excited about writing new, exciting code than fixing older code, and more generally, people who recognise that good code is about more than lines of code written per day, and that design, documentation and testing are also part of being a coder.
If I ask straight out "How do you feel about working with other people's code and fixing bugs as opposed to writing new code?", I suspect a lot of people will say what they think they're supposed to say - i.e. "fixing bugs is important", but this may not reflect their actual working practices.
What questions or polite (not overly time consuming) tests would you ask to find someone who is interested and willing to maintain and improve code?
Edit to add: The role would definitely involve some new work - I don't want to give the impression it's maintenance only! This is more about screening out people who prefer to delete-and-rewrite every time, rather than fix a bug...
software-industry recruitment
8
There's a similar issue with steering people away from always using new unproven tech in their code. You want to give them some, but not too much because it will sink a project.
– Mark Rogers
yesterday
3
Are you sure there are any people who are more excited about fixing older code? I'd say providing fixes and other no-rewrite solutions is more like a devops job. But in my opinion delete-and-rewrite is what should be done in most cases. At least refactor. See 2.11 in this
– Džuris
yesterday
1
I think the importance of code maintenance is learnt over time so a mature developer is likely to respect maintenance more. Also rewriting code is a lot easier because you do not need the ability to understand the old code, therefor I assume mature developers will be more willing to improve old code rather than rewrite it.
– Damien Golding
9 hours ago
add a comment |
My work will be recruiting soon, and one thing I'd like to do is screen out people who are more excited about writing new, exciting code than fixing older code, and more generally, people who recognise that good code is about more than lines of code written per day, and that design, documentation and testing are also part of being a coder.
If I ask straight out "How do you feel about working with other people's code and fixing bugs as opposed to writing new code?", I suspect a lot of people will say what they think they're supposed to say - i.e. "fixing bugs is important", but this may not reflect their actual working practices.
What questions or polite (not overly time consuming) tests would you ask to find someone who is interested and willing to maintain and improve code?
Edit to add: The role would definitely involve some new work - I don't want to give the impression it's maintenance only! This is more about screening out people who prefer to delete-and-rewrite every time, rather than fix a bug...
software-industry recruitment
My work will be recruiting soon, and one thing I'd like to do is screen out people who are more excited about writing new, exciting code than fixing older code, and more generally, people who recognise that good code is about more than lines of code written per day, and that design, documentation and testing are also part of being a coder.
If I ask straight out "How do you feel about working with other people's code and fixing bugs as opposed to writing new code?", I suspect a lot of people will say what they think they're supposed to say - i.e. "fixing bugs is important", but this may not reflect their actual working practices.
What questions or polite (not overly time consuming) tests would you ask to find someone who is interested and willing to maintain and improve code?
Edit to add: The role would definitely involve some new work - I don't want to give the impression it's maintenance only! This is more about screening out people who prefer to delete-and-rewrite every time, rather than fix a bug...
software-industry recruitment
software-industry recruitment
edited 2 days ago
asked 2 days ago
yochannah
4,59063050
4,59063050
8
There's a similar issue with steering people away from always using new unproven tech in their code. You want to give them some, but not too much because it will sink a project.
– Mark Rogers
yesterday
3
Are you sure there are any people who are more excited about fixing older code? I'd say providing fixes and other no-rewrite solutions is more like a devops job. But in my opinion delete-and-rewrite is what should be done in most cases. At least refactor. See 2.11 in this
– Džuris
yesterday
1
I think the importance of code maintenance is learnt over time so a mature developer is likely to respect maintenance more. Also rewriting code is a lot easier because you do not need the ability to understand the old code, therefor I assume mature developers will be more willing to improve old code rather than rewrite it.
– Damien Golding
9 hours ago
add a comment |
8
There's a similar issue with steering people away from always using new unproven tech in their code. You want to give them some, but not too much because it will sink a project.
– Mark Rogers
yesterday
3
Are you sure there are any people who are more excited about fixing older code? I'd say providing fixes and other no-rewrite solutions is more like a devops job. But in my opinion delete-and-rewrite is what should be done in most cases. At least refactor. See 2.11 in this
– Džuris
yesterday
1
I think the importance of code maintenance is learnt over time so a mature developer is likely to respect maintenance more. Also rewriting code is a lot easier because you do not need the ability to understand the old code, therefor I assume mature developers will be more willing to improve old code rather than rewrite it.
– Damien Golding
9 hours ago
8
8
There's a similar issue with steering people away from always using new unproven tech in their code. You want to give them some, but not too much because it will sink a project.
– Mark Rogers
yesterday
There's a similar issue with steering people away from always using new unproven tech in their code. You want to give them some, but not too much because it will sink a project.
– Mark Rogers
yesterday
3
3
Are you sure there are any people who are more excited about fixing older code? I'd say providing fixes and other no-rewrite solutions is more like a devops job. But in my opinion delete-and-rewrite is what should be done in most cases. At least refactor. See 2.11 in this
– Džuris
yesterday
Are you sure there are any people who are more excited about fixing older code? I'd say providing fixes and other no-rewrite solutions is more like a devops job. But in my opinion delete-and-rewrite is what should be done in most cases. At least refactor. See 2.11 in this
– Džuris
yesterday
1
1
I think the importance of code maintenance is learnt over time so a mature developer is likely to respect maintenance more. Also rewriting code is a lot easier because you do not need the ability to understand the old code, therefor I assume mature developers will be more willing to improve old code rather than rewrite it.
– Damien Golding
9 hours ago
I think the importance of code maintenance is learnt over time so a mature developer is likely to respect maintenance more. Also rewriting code is a lot easier because you do not need the ability to understand the old code, therefor I assume mature developers will be more willing to improve old code rather than rewrite it.
– Damien Golding
9 hours ago
add a comment |
8 Answers
8
active
oldest
votes
What questions or polite (not overly time consuming) tests would you
ask to find someone who is interested and willing to maintain and
improve code?
In general, I find that the key is to ask more open-ended questions, rather than question which can be answered with a simple Yes or No, or a very short answer.
Something more along the lines of "Tell me about the kind of work you enjoy doing" would give you better clues. If it's all about creation/invention and nothing at all about improvement/testing/refinement, then the candidate might not be happy filling the role you have.
Once past that question, you can dig in with something like "Tell me about a time when you had to dig in and maintain some difficult code."
At some point in the interview process, you want to make the details of the role clear. And you want to be clear how long that role would last and what it might lead to. It would be silly to set the wrong expectations for a new hire.
As others have pointed out, a good job description will help attract the right kind of candidate and let others self-select themselves out. A job description which incorporates the thoughts in "people who recognise that good code is about more than lines of code written per day, and that design, documentation and testing are also part of being a coder" could help.
5
This is a great answer, I started to write my own but eventually realised I was just rewording this one.
– davnicwil
yesterday
1
@XavierStuvw - I don't think I understand "Which ones could they be?" means here.
– Joe Strazzere
yesterday
1
@davnicwil It is a good approach, but beware. If the answer was, "I ripped it all out and rewrote it" you might not actually have a person doing maintenance in a safe way. You might have a person doing greenfield work on an existing project. There are times where a module should just be rewritten from scratch, but they are rare, and typically are rewritten to satisfy full unit testing suites.
– Edwin Buck
yesterday
2
@JoeStrazzere Fantastic! I just saw the prompt to ask the question, but I didn't notice any hints on how to evaluate the answers. Many people need that latter part, even if this OP and you are not in that set of people :)
– Edwin Buck
yesterday
3
Yes, this is the way to do it. I like to ask something along the lines: "what did you like the most & the least in that particular job and why?" When the candidate replies "I hated/loved maintaining legacy applications because I have to work with code that is not mine", you take a hint.
– Eleshar
yesterday
|
show 4 more comments
In my experience, the attitude of engineers is not usually the reason legacy code doesn't see improvement. If you are able to foster an environment where maintenance, refactoring, and improvement of existing code is valued and encouraged then you will get the results you are looking for.
Typically I see pressure from the business to deliver features, or criticism from management (Roger spent all this time in codebase X and there's no functional difference! Why did we spend all this time/money?).
Most engineers I've worked with hate to be stymied by legacy infrastructure and will happily refactor or replace it given the right environment. Try the following steps:
- Encourage refactoring as you go
- Regularly discuss the value of maintenance
- Acknowledge the success of maintenance projects, both to engineers and management
fight for your team's maintenance time, even if you have to bake it into estimates for new features
Once you've created an environment that values continual improvement, you can list that as a perk in the job description. "Our company values testing, refactoring, CI/CD, and continual improvement. We don't let code rot, and we won't let you rot either."
5
This answer IMO is important because it flips the assumptions. The question and current top two answers all assume that no one does code maintenance is the fault of the coder... But I agree with @BinaryTox1n writes... That assumption isn't always true... Most good coders would happily replace/refactor old important ugly code... But if there no support/reward from their boss and/or co-workers and/or most important management... Then doing the right thing and improving old code can become near very very hard.
– syn1kk
yesterday
2
@syn1kk absolutely. I have finally convinced management that all the shiny new features they want will take 10x longer to develop because of the legacy infrastructure we have. Now I’m happy because I get to be the one to replace that legacy crap with something that will simultaneously benefit the company and my ability to tolerate the code base.
– Chris Cirefice
21 hours ago
3
IMO this is the only real answer to the question. 95% of the developers I know would love to have some time to improve the codebase they are working with/on. Management does not approve in the majority of cases. To fix that issue, you don't need to change the recruitment process. You need to make management understand that technical debt, just as monetary debt, will come back to bite you VERY hard unless you pay it off
– marstato
17 hours ago
add a comment |
So, I'd say a few things will help you with this:
- Be willing to employ more experienced (and thus more expensive) developers, as these will often have got over the 'ooh shiny new tech' stage of their careers
- Create a package of benefits aimed more at this group (think more pensions, remunerations, working atmosphere, and less table tennis, fussball, and X-boxes)
- Given that you want to get people to do a fair bit of work on legacy code, improvements, business-as-usual, etc., try to introduce opportunities to do a bit of more cutting edge work for a small portion of the time. Allowing people to spend time on personal projects is a good way to do this. Remember that if you need your devs to use current or older tech, they will fall behind with tech that will advance their careers in their next job - so let them keep up too.
Having a - no offence - duller project you need devs for, is one of the bigger challenges in IT recruitment, because you can't highlight all the buzzwords you need to, so most of the way you can get good staff is by having other things to appeal to them.
28
Another point to add, start rewarding those who maintain and improve code. Often this is seen as second-tier work, when in reality is is harder to write code that is both better than the original, and seamlessly integrates into the messy stuff. If you show off your new tech internally in the company, and barely mention major rework, you will get what you reward.
– Edwin Buck
yesterday
1
I agree with all of this with two additional comments (that I don't feel are worthy of another answer for a question that already has 7 answers). 1) Experienced consultants are good for this kind of thing as they can get paid ($$$) and then move on. 2) In your interviews ask how the candidate would handle fixing software that was in production where it is absolutely essential that the software run 24/7 with no downtime due to regressions (and without CI/CD!) - possibly due to the $$$ loss involved with such downtime. (I recently finished a 2yr consulting contract with this constraint ...)
– davidbak
yesterday
add a comment |
I think the other answers are good but I would add extra emphasize that a good job description/advert will allow people to self screen. You should then be able to use your interview questions to judge who has actually read it properly and clearly understands it.
New contributor
2
Indeed, I would screen out the offer myself if it was honestly presented that they have old codebase and they don't want it thrown out and rewritten.
– Džuris
yesterday
add a comment |
I think you are approaching this from the wrong perspective. It's not a problem of recruiting, it's a problem of leadership. Virtually every programming job is a mix of writing new and maintaining older code.
How they are led and motivated will be the key to getting the vast majority of developers to perform well.
Does their manager communicate the companies priorities clearly to them? Most devs are motivated and happy do whatever is most important to the companies success.
Do you makes sure they are rewarded for their contributions and made to feel the company cares about them and their efforts?
Do the company priorities make sense? Jerking devs around from one project to another, or burying them in endless bug fixing work over trivial problems is a great way to dis-motivate your devs. Does your organization regularly make schedules and problems "urgent" and require devs to constantly work over-time to solve them?
Does their manager and the company foster a team oriented atmosphere? When it's crunch time do their manager and upper execs there to help out, or do they just expect the lower ranking devs to work "death marches" to solve whatever their "urgent" problem of the day is?
Your job as a recruiter is to communicate reasonable expectations of the work environment. If it's mostly maintenance work, your applicants will filter themselves out nicely if they don't want to do it.
+1 from the office chasing a Jan 1st deadline for an extra paycheck's bonus.
– Bardicer
16 hours ago
add a comment |
In my interviews, sure, I ask technical questions, especially to figure out unclear bits of the CV, or to dig deep into topics they say they're experts in.
Aside from that, I spend as much time as possible to simply talk with them about our field. I'm open and honest about what the goal of the current discussion is (i.e., in an early phone call, I would say "this call is just so we can get to learn to know each other, this is not a test" etc.; or in an on-site interview I might say "part of this interview is to find out the exact team in my company where you can start working, matching your interests as well as possible", and I mean it).
This is not made to let them lower their guard, or trick them, but just to get an honest discussion going. Frankly, this gives me the most useful information about the person. And as part of it, if I know that I need someone to work on older software (which, in fact, I sometimes do), then I will describe plainly and clearly what I need. I usually can tell from their reaction whether they like that kind of work, even if they don't but still say "yes".
What questions or polite (not overly time consuming) tests would you ask to find someone who is interested and willing to maintain and improve code?
My question would be: "Are you interested and willing to maintain and improve code?" Plain and simple. Honest and direct. Everything else would waste their and my time. If their reaction shows me that the answer is "no", I go on from there. If it's "yes", I'll do the usual (dig deeper, let them explain their understanding of this, etc.).
Their reaction goes into my overall evaluation afterwards. I.e., if they don't want the maintain work, but have plenty of other skills that we need, and if I'm sure that the current team structure can handle someone like that, then all is well. Or if they do want this, but somehow could not convince me that they really meant (or understood) it, and did not bring much else to the table, then we'll part ways.
add a comment |
I am going to add one new dimension to the answers already given. In a nutshell my advice on this question is: Look seriously at older workers for this particular role.
The IT industry has long been affected by the issue of ageism, preferring the fast young minds of youth over the slightly slower minds of older workers. That said, those slightly slower minds have a wealth of experience and discipline that many younger workers often lack, and maintenance coding requires just such discipline.
Hiring new coders seldom requires much experience because you will be teaching them all the idiosyncrasies of your company's codebase and work methods. A "kid" fresh out of college might know the latest and greatest ways to (as you put it) chase the new and shiney
but you cannot teach the instinct for finding bugs or the mindset required for plodding through miles of unfamiliar code. Experience is what provides those attributes and experience requires time thus years thus age.
Take 2 minutes and click the following two Google queries. Then for each of these two queries skim the content of any 3 hits (6 articles total):
- Query #1 : myths about hiring older workers
- Query #2 : myths about hiring older programmers
Also we all know that once a programmer has mastered one particular language they seldom have trouble learning new ones. Look to see if their work history shows they adapt well to new environments. Look at how many languages these older workers have, not if they know the cutting edge ones or even possibly the exact one you need. If their experience is close they will learn and thrive on that learning. You are hiring them for legacy work, exactly the opposite of cutting edge.
So do your due diligence. Never use age alone as a reason to hire or not hire, but in a case like this consider that age and experience are real assets and any preconceptions you may have about hiring someone perhaps age 50 or more should be carefully examined because you might just be missing out on exactly the skills and attitudes you asked about in your OP.
Oh and one last thing. Do not be surprised if you get some evasive push-back from your HR department. For complicated (but erroneous) reasons based in those aforementioned myths, HR departments are often prone to try and filter out older applicants in IT departments. So be aware that you may need to educate your own manager and HR department that you reject these myths, provide them some of the studies you will easily find online from those links above, and insist that they are not to reject the so called "over qualified" job seekers but rather to send them through to the interviews.
I really love this answer! Experience and maturity can count for so much, it's odd that people so willingly overlook it. That said, there's also the chance of the newbies being taught well if they're very inexperienced, I suppose. 😄
– yochannah
2 hours ago
add a comment |
In my opinion it is not the point how people feel about refactoring vs recreating code. The question is why or when, a question of reasons for a decision in particular cases. I want to explain why:
Writing new code including a setup of a new concept is often experienced as a thankless job since the economy usually puts pressure on developers to work efficient in the purpose of generating volume of sales in shortest time.
Not infrequently I got an interesting project to be extended. After several hours of code review I was horrified about the misconcepted code base. It was not really concepted in an extensible way and had several security vulnerabilities. Building additional code dependent on that base had lead into a hardly predictable behaviour.
I experienced many situations when I had to suggest to do a complete rework based on a new concept while including existing algorithms of the old project. And that did not cause much enthusiasm on my mind facing a huge task.
My conviction is that most developers love to do an easy job based on a well structured framework - so far it exists. I do. Why to rack one's brain when there is a much more comfortable way to do it?
Thus when looking for new team members we should ask candidates for scenarios in which they would prefer to rewrite an existing code base prior to refactoring/extending and for detailed explainations for their reasons. We want to know if the candidate is able to take reliable decisions conforming with our company policy.
New contributor
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "423"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
noCode: true, onDemand: false,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fworkplace.stackexchange.com%2fquestions%2f125255%2frecruiting-people-who-maintain-improve-not-just-chase-the-new-and-shiny%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
StackExchange.ready(function () {
$("#show-editor-button input, #show-editor-button button").click(function () {
var showEditor = function() {
$("#show-editor-button").hide();
$("#post-form").removeClass("dno");
StackExchange.editor.finallyInit();
};
var useFancy = $(this).data('confirm-use-fancy');
if(useFancy == 'True') {
var popupTitle = $(this).data('confirm-fancy-title');
var popupBody = $(this).data('confirm-fancy-body');
var popupAccept = $(this).data('confirm-fancy-accept-button');
$(this).loadPopup({
url: '/post/self-answer-popup',
loaded: function(popup) {
var pTitle = $(popup).find('h2');
var pBody = $(popup).find('.popup-body');
var pSubmit = $(popup).find('.popup-submit');
pTitle.text(popupTitle);
pBody.html(popupBody);
pSubmit.val(popupAccept).click(showEditor);
}
})
} else{
var confirmText = $(this).data('confirm-text');
if (confirmText ? confirm(confirmText) : true) {
showEditor();
}
}
});
});
8 Answers
8
active
oldest
votes
8 Answers
8
active
oldest
votes
active
oldest
votes
active
oldest
votes
What questions or polite (not overly time consuming) tests would you
ask to find someone who is interested and willing to maintain and
improve code?
In general, I find that the key is to ask more open-ended questions, rather than question which can be answered with a simple Yes or No, or a very short answer.
Something more along the lines of "Tell me about the kind of work you enjoy doing" would give you better clues. If it's all about creation/invention and nothing at all about improvement/testing/refinement, then the candidate might not be happy filling the role you have.
Once past that question, you can dig in with something like "Tell me about a time when you had to dig in and maintain some difficult code."
At some point in the interview process, you want to make the details of the role clear. And you want to be clear how long that role would last and what it might lead to. It would be silly to set the wrong expectations for a new hire.
As others have pointed out, a good job description will help attract the right kind of candidate and let others self-select themselves out. A job description which incorporates the thoughts in "people who recognise that good code is about more than lines of code written per day, and that design, documentation and testing are also part of being a coder" could help.
5
This is a great answer, I started to write my own but eventually realised I was just rewording this one.
– davnicwil
yesterday
1
@XavierStuvw - I don't think I understand "Which ones could they be?" means here.
– Joe Strazzere
yesterday
1
@davnicwil It is a good approach, but beware. If the answer was, "I ripped it all out and rewrote it" you might not actually have a person doing maintenance in a safe way. You might have a person doing greenfield work on an existing project. There are times where a module should just be rewritten from scratch, but they are rare, and typically are rewritten to satisfy full unit testing suites.
– Edwin Buck
yesterday
2
@JoeStrazzere Fantastic! I just saw the prompt to ask the question, but I didn't notice any hints on how to evaluate the answers. Many people need that latter part, even if this OP and you are not in that set of people :)
– Edwin Buck
yesterday
3
Yes, this is the way to do it. I like to ask something along the lines: "what did you like the most & the least in that particular job and why?" When the candidate replies "I hated/loved maintaining legacy applications because I have to work with code that is not mine", you take a hint.
– Eleshar
yesterday
|
show 4 more comments
What questions or polite (not overly time consuming) tests would you
ask to find someone who is interested and willing to maintain and
improve code?
In general, I find that the key is to ask more open-ended questions, rather than question which can be answered with a simple Yes or No, or a very short answer.
Something more along the lines of "Tell me about the kind of work you enjoy doing" would give you better clues. If it's all about creation/invention and nothing at all about improvement/testing/refinement, then the candidate might not be happy filling the role you have.
Once past that question, you can dig in with something like "Tell me about a time when you had to dig in and maintain some difficult code."
At some point in the interview process, you want to make the details of the role clear. And you want to be clear how long that role would last and what it might lead to. It would be silly to set the wrong expectations for a new hire.
As others have pointed out, a good job description will help attract the right kind of candidate and let others self-select themselves out. A job description which incorporates the thoughts in "people who recognise that good code is about more than lines of code written per day, and that design, documentation and testing are also part of being a coder" could help.
5
This is a great answer, I started to write my own but eventually realised I was just rewording this one.
– davnicwil
yesterday
1
@XavierStuvw - I don't think I understand "Which ones could they be?" means here.
– Joe Strazzere
yesterday
1
@davnicwil It is a good approach, but beware. If the answer was, "I ripped it all out and rewrote it" you might not actually have a person doing maintenance in a safe way. You might have a person doing greenfield work on an existing project. There are times where a module should just be rewritten from scratch, but they are rare, and typically are rewritten to satisfy full unit testing suites.
– Edwin Buck
yesterday
2
@JoeStrazzere Fantastic! I just saw the prompt to ask the question, but I didn't notice any hints on how to evaluate the answers. Many people need that latter part, even if this OP and you are not in that set of people :)
– Edwin Buck
yesterday
3
Yes, this is the way to do it. I like to ask something along the lines: "what did you like the most & the least in that particular job and why?" When the candidate replies "I hated/loved maintaining legacy applications because I have to work with code that is not mine", you take a hint.
– Eleshar
yesterday
|
show 4 more comments
What questions or polite (not overly time consuming) tests would you
ask to find someone who is interested and willing to maintain and
improve code?
In general, I find that the key is to ask more open-ended questions, rather than question which can be answered with a simple Yes or No, or a very short answer.
Something more along the lines of "Tell me about the kind of work you enjoy doing" would give you better clues. If it's all about creation/invention and nothing at all about improvement/testing/refinement, then the candidate might not be happy filling the role you have.
Once past that question, you can dig in with something like "Tell me about a time when you had to dig in and maintain some difficult code."
At some point in the interview process, you want to make the details of the role clear. And you want to be clear how long that role would last and what it might lead to. It would be silly to set the wrong expectations for a new hire.
As others have pointed out, a good job description will help attract the right kind of candidate and let others self-select themselves out. A job description which incorporates the thoughts in "people who recognise that good code is about more than lines of code written per day, and that design, documentation and testing are also part of being a coder" could help.
What questions or polite (not overly time consuming) tests would you
ask to find someone who is interested and willing to maintain and
improve code?
In general, I find that the key is to ask more open-ended questions, rather than question which can be answered with a simple Yes or No, or a very short answer.
Something more along the lines of "Tell me about the kind of work you enjoy doing" would give you better clues. If it's all about creation/invention and nothing at all about improvement/testing/refinement, then the candidate might not be happy filling the role you have.
Once past that question, you can dig in with something like "Tell me about a time when you had to dig in and maintain some difficult code."
At some point in the interview process, you want to make the details of the role clear. And you want to be clear how long that role would last and what it might lead to. It would be silly to set the wrong expectations for a new hire.
As others have pointed out, a good job description will help attract the right kind of candidate and let others self-select themselves out. A job description which incorporates the thoughts in "people who recognise that good code is about more than lines of code written per day, and that design, documentation and testing are also part of being a coder" could help.
edited yesterday
answered 2 days ago
Joe Strazzere
242k1177071003
242k1177071003
5
This is a great answer, I started to write my own but eventually realised I was just rewording this one.
– davnicwil
yesterday
1
@XavierStuvw - I don't think I understand "Which ones could they be?" means here.
– Joe Strazzere
yesterday
1
@davnicwil It is a good approach, but beware. If the answer was, "I ripped it all out and rewrote it" you might not actually have a person doing maintenance in a safe way. You might have a person doing greenfield work on an existing project. There are times where a module should just be rewritten from scratch, but they are rare, and typically are rewritten to satisfy full unit testing suites.
– Edwin Buck
yesterday
2
@JoeStrazzere Fantastic! I just saw the prompt to ask the question, but I didn't notice any hints on how to evaluate the answers. Many people need that latter part, even if this OP and you are not in that set of people :)
– Edwin Buck
yesterday
3
Yes, this is the way to do it. I like to ask something along the lines: "what did you like the most & the least in that particular job and why?" When the candidate replies "I hated/loved maintaining legacy applications because I have to work with code that is not mine", you take a hint.
– Eleshar
yesterday
|
show 4 more comments
5
This is a great answer, I started to write my own but eventually realised I was just rewording this one.
– davnicwil
yesterday
1
@XavierStuvw - I don't think I understand "Which ones could they be?" means here.
– Joe Strazzere
yesterday
1
@davnicwil It is a good approach, but beware. If the answer was, "I ripped it all out and rewrote it" you might not actually have a person doing maintenance in a safe way. You might have a person doing greenfield work on an existing project. There are times where a module should just be rewritten from scratch, but they are rare, and typically are rewritten to satisfy full unit testing suites.
– Edwin Buck
yesterday
2
@JoeStrazzere Fantastic! I just saw the prompt to ask the question, but I didn't notice any hints on how to evaluate the answers. Many people need that latter part, even if this OP and you are not in that set of people :)
– Edwin Buck
yesterday
3
Yes, this is the way to do it. I like to ask something along the lines: "what did you like the most & the least in that particular job and why?" When the candidate replies "I hated/loved maintaining legacy applications because I have to work with code that is not mine", you take a hint.
– Eleshar
yesterday
5
5
This is a great answer, I started to write my own but eventually realised I was just rewording this one.
– davnicwil
yesterday
This is a great answer, I started to write my own but eventually realised I was just rewording this one.
– davnicwil
yesterday
1
1
@XavierStuvw - I don't think I understand "Which ones could they be?" means here.
– Joe Strazzere
yesterday
@XavierStuvw - I don't think I understand "Which ones could they be?" means here.
– Joe Strazzere
yesterday
1
1
@davnicwil It is a good approach, but beware. If the answer was, "I ripped it all out and rewrote it" you might not actually have a person doing maintenance in a safe way. You might have a person doing greenfield work on an existing project. There are times where a module should just be rewritten from scratch, but they are rare, and typically are rewritten to satisfy full unit testing suites.
– Edwin Buck
yesterday
@davnicwil It is a good approach, but beware. If the answer was, "I ripped it all out and rewrote it" you might not actually have a person doing maintenance in a safe way. You might have a person doing greenfield work on an existing project. There are times where a module should just be rewritten from scratch, but they are rare, and typically are rewritten to satisfy full unit testing suites.
– Edwin Buck
yesterday
2
2
@JoeStrazzere Fantastic! I just saw the prompt to ask the question, but I didn't notice any hints on how to evaluate the answers. Many people need that latter part, even if this OP and you are not in that set of people :)
– Edwin Buck
yesterday
@JoeStrazzere Fantastic! I just saw the prompt to ask the question, but I didn't notice any hints on how to evaluate the answers. Many people need that latter part, even if this OP and you are not in that set of people :)
– Edwin Buck
yesterday
3
3
Yes, this is the way to do it. I like to ask something along the lines: "what did you like the most & the least in that particular job and why?" When the candidate replies "I hated/loved maintaining legacy applications because I have to work with code that is not mine", you take a hint.
– Eleshar
yesterday
Yes, this is the way to do it. I like to ask something along the lines: "what did you like the most & the least in that particular job and why?" When the candidate replies "I hated/loved maintaining legacy applications because I have to work with code that is not mine", you take a hint.
– Eleshar
yesterday
|
show 4 more comments
In my experience, the attitude of engineers is not usually the reason legacy code doesn't see improvement. If you are able to foster an environment where maintenance, refactoring, and improvement of existing code is valued and encouraged then you will get the results you are looking for.
Typically I see pressure from the business to deliver features, or criticism from management (Roger spent all this time in codebase X and there's no functional difference! Why did we spend all this time/money?).
Most engineers I've worked with hate to be stymied by legacy infrastructure and will happily refactor or replace it given the right environment. Try the following steps:
- Encourage refactoring as you go
- Regularly discuss the value of maintenance
- Acknowledge the success of maintenance projects, both to engineers and management
fight for your team's maintenance time, even if you have to bake it into estimates for new features
Once you've created an environment that values continual improvement, you can list that as a perk in the job description. "Our company values testing, refactoring, CI/CD, and continual improvement. We don't let code rot, and we won't let you rot either."
5
This answer IMO is important because it flips the assumptions. The question and current top two answers all assume that no one does code maintenance is the fault of the coder... But I agree with @BinaryTox1n writes... That assumption isn't always true... Most good coders would happily replace/refactor old important ugly code... But if there no support/reward from their boss and/or co-workers and/or most important management... Then doing the right thing and improving old code can become near very very hard.
– syn1kk
yesterday
2
@syn1kk absolutely. I have finally convinced management that all the shiny new features they want will take 10x longer to develop because of the legacy infrastructure we have. Now I’m happy because I get to be the one to replace that legacy crap with something that will simultaneously benefit the company and my ability to tolerate the code base.
– Chris Cirefice
21 hours ago
3
IMO this is the only real answer to the question. 95% of the developers I know would love to have some time to improve the codebase they are working with/on. Management does not approve in the majority of cases. To fix that issue, you don't need to change the recruitment process. You need to make management understand that technical debt, just as monetary debt, will come back to bite you VERY hard unless you pay it off
– marstato
17 hours ago
add a comment |
In my experience, the attitude of engineers is not usually the reason legacy code doesn't see improvement. If you are able to foster an environment where maintenance, refactoring, and improvement of existing code is valued and encouraged then you will get the results you are looking for.
Typically I see pressure from the business to deliver features, or criticism from management (Roger spent all this time in codebase X and there's no functional difference! Why did we spend all this time/money?).
Most engineers I've worked with hate to be stymied by legacy infrastructure and will happily refactor or replace it given the right environment. Try the following steps:
- Encourage refactoring as you go
- Regularly discuss the value of maintenance
- Acknowledge the success of maintenance projects, both to engineers and management
fight for your team's maintenance time, even if you have to bake it into estimates for new features
Once you've created an environment that values continual improvement, you can list that as a perk in the job description. "Our company values testing, refactoring, CI/CD, and continual improvement. We don't let code rot, and we won't let you rot either."
5
This answer IMO is important because it flips the assumptions. The question and current top two answers all assume that no one does code maintenance is the fault of the coder... But I agree with @BinaryTox1n writes... That assumption isn't always true... Most good coders would happily replace/refactor old important ugly code... But if there no support/reward from their boss and/or co-workers and/or most important management... Then doing the right thing and improving old code can become near very very hard.
– syn1kk
yesterday
2
@syn1kk absolutely. I have finally convinced management that all the shiny new features they want will take 10x longer to develop because of the legacy infrastructure we have. Now I’m happy because I get to be the one to replace that legacy crap with something that will simultaneously benefit the company and my ability to tolerate the code base.
– Chris Cirefice
21 hours ago
3
IMO this is the only real answer to the question. 95% of the developers I know would love to have some time to improve the codebase they are working with/on. Management does not approve in the majority of cases. To fix that issue, you don't need to change the recruitment process. You need to make management understand that technical debt, just as monetary debt, will come back to bite you VERY hard unless you pay it off
– marstato
17 hours ago
add a comment |
In my experience, the attitude of engineers is not usually the reason legacy code doesn't see improvement. If you are able to foster an environment where maintenance, refactoring, and improvement of existing code is valued and encouraged then you will get the results you are looking for.
Typically I see pressure from the business to deliver features, or criticism from management (Roger spent all this time in codebase X and there's no functional difference! Why did we spend all this time/money?).
Most engineers I've worked with hate to be stymied by legacy infrastructure and will happily refactor or replace it given the right environment. Try the following steps:
- Encourage refactoring as you go
- Regularly discuss the value of maintenance
- Acknowledge the success of maintenance projects, both to engineers and management
fight for your team's maintenance time, even if you have to bake it into estimates for new features
Once you've created an environment that values continual improvement, you can list that as a perk in the job description. "Our company values testing, refactoring, CI/CD, and continual improvement. We don't let code rot, and we won't let you rot either."
In my experience, the attitude of engineers is not usually the reason legacy code doesn't see improvement. If you are able to foster an environment where maintenance, refactoring, and improvement of existing code is valued and encouraged then you will get the results you are looking for.
Typically I see pressure from the business to deliver features, or criticism from management (Roger spent all this time in codebase X and there's no functional difference! Why did we spend all this time/money?).
Most engineers I've worked with hate to be stymied by legacy infrastructure and will happily refactor or replace it given the right environment. Try the following steps:
- Encourage refactoring as you go
- Regularly discuss the value of maintenance
- Acknowledge the success of maintenance projects, both to engineers and management
fight for your team's maintenance time, even if you have to bake it into estimates for new features
Once you've created an environment that values continual improvement, you can list that as a perk in the job description. "Our company values testing, refactoring, CI/CD, and continual improvement. We don't let code rot, and we won't let you rot either."
answered yesterday
BinaryTox1n
57238
57238
5
This answer IMO is important because it flips the assumptions. The question and current top two answers all assume that no one does code maintenance is the fault of the coder... But I agree with @BinaryTox1n writes... That assumption isn't always true... Most good coders would happily replace/refactor old important ugly code... But if there no support/reward from their boss and/or co-workers and/or most important management... Then doing the right thing and improving old code can become near very very hard.
– syn1kk
yesterday
2
@syn1kk absolutely. I have finally convinced management that all the shiny new features they want will take 10x longer to develop because of the legacy infrastructure we have. Now I’m happy because I get to be the one to replace that legacy crap with something that will simultaneously benefit the company and my ability to tolerate the code base.
– Chris Cirefice
21 hours ago
3
IMO this is the only real answer to the question. 95% of the developers I know would love to have some time to improve the codebase they are working with/on. Management does not approve in the majority of cases. To fix that issue, you don't need to change the recruitment process. You need to make management understand that technical debt, just as monetary debt, will come back to bite you VERY hard unless you pay it off
– marstato
17 hours ago
add a comment |
5
This answer IMO is important because it flips the assumptions. The question and current top two answers all assume that no one does code maintenance is the fault of the coder... But I agree with @BinaryTox1n writes... That assumption isn't always true... Most good coders would happily replace/refactor old important ugly code... But if there no support/reward from their boss and/or co-workers and/or most important management... Then doing the right thing and improving old code can become near very very hard.
– syn1kk
yesterday
2
@syn1kk absolutely. I have finally convinced management that all the shiny new features they want will take 10x longer to develop because of the legacy infrastructure we have. Now I’m happy because I get to be the one to replace that legacy crap with something that will simultaneously benefit the company and my ability to tolerate the code base.
– Chris Cirefice
21 hours ago
3
IMO this is the only real answer to the question. 95% of the developers I know would love to have some time to improve the codebase they are working with/on. Management does not approve in the majority of cases. To fix that issue, you don't need to change the recruitment process. You need to make management understand that technical debt, just as monetary debt, will come back to bite you VERY hard unless you pay it off
– marstato
17 hours ago
5
5
This answer IMO is important because it flips the assumptions. The question and current top two answers all assume that no one does code maintenance is the fault of the coder... But I agree with @BinaryTox1n writes... That assumption isn't always true... Most good coders would happily replace/refactor old important ugly code... But if there no support/reward from their boss and/or co-workers and/or most important management... Then doing the right thing and improving old code can become near very very hard.
– syn1kk
yesterday
This answer IMO is important because it flips the assumptions. The question and current top two answers all assume that no one does code maintenance is the fault of the coder... But I agree with @BinaryTox1n writes... That assumption isn't always true... Most good coders would happily replace/refactor old important ugly code... But if there no support/reward from their boss and/or co-workers and/or most important management... Then doing the right thing and improving old code can become near very very hard.
– syn1kk
yesterday
2
2
@syn1kk absolutely. I have finally convinced management that all the shiny new features they want will take 10x longer to develop because of the legacy infrastructure we have. Now I’m happy because I get to be the one to replace that legacy crap with something that will simultaneously benefit the company and my ability to tolerate the code base.
– Chris Cirefice
21 hours ago
@syn1kk absolutely. I have finally convinced management that all the shiny new features they want will take 10x longer to develop because of the legacy infrastructure we have. Now I’m happy because I get to be the one to replace that legacy crap with something that will simultaneously benefit the company and my ability to tolerate the code base.
– Chris Cirefice
21 hours ago
3
3
IMO this is the only real answer to the question. 95% of the developers I know would love to have some time to improve the codebase they are working with/on. Management does not approve in the majority of cases. To fix that issue, you don't need to change the recruitment process. You need to make management understand that technical debt, just as monetary debt, will come back to bite you VERY hard unless you pay it off
– marstato
17 hours ago
IMO this is the only real answer to the question. 95% of the developers I know would love to have some time to improve the codebase they are working with/on. Management does not approve in the majority of cases. To fix that issue, you don't need to change the recruitment process. You need to make management understand that technical debt, just as monetary debt, will come back to bite you VERY hard unless you pay it off
– marstato
17 hours ago
add a comment |
So, I'd say a few things will help you with this:
- Be willing to employ more experienced (and thus more expensive) developers, as these will often have got over the 'ooh shiny new tech' stage of their careers
- Create a package of benefits aimed more at this group (think more pensions, remunerations, working atmosphere, and less table tennis, fussball, and X-boxes)
- Given that you want to get people to do a fair bit of work on legacy code, improvements, business-as-usual, etc., try to introduce opportunities to do a bit of more cutting edge work for a small portion of the time. Allowing people to spend time on personal projects is a good way to do this. Remember that if you need your devs to use current or older tech, they will fall behind with tech that will advance their careers in their next job - so let them keep up too.
Having a - no offence - duller project you need devs for, is one of the bigger challenges in IT recruitment, because you can't highlight all the buzzwords you need to, so most of the way you can get good staff is by having other things to appeal to them.
28
Another point to add, start rewarding those who maintain and improve code. Often this is seen as second-tier work, when in reality is is harder to write code that is both better than the original, and seamlessly integrates into the messy stuff. If you show off your new tech internally in the company, and barely mention major rework, you will get what you reward.
– Edwin Buck
yesterday
1
I agree with all of this with two additional comments (that I don't feel are worthy of another answer for a question that already has 7 answers). 1) Experienced consultants are good for this kind of thing as they can get paid ($$$) and then move on. 2) In your interviews ask how the candidate would handle fixing software that was in production where it is absolutely essential that the software run 24/7 with no downtime due to regressions (and without CI/CD!) - possibly due to the $$$ loss involved with such downtime. (I recently finished a 2yr consulting contract with this constraint ...)
– davidbak
yesterday
add a comment |
So, I'd say a few things will help you with this:
- Be willing to employ more experienced (and thus more expensive) developers, as these will often have got over the 'ooh shiny new tech' stage of their careers
- Create a package of benefits aimed more at this group (think more pensions, remunerations, working atmosphere, and less table tennis, fussball, and X-boxes)
- Given that you want to get people to do a fair bit of work on legacy code, improvements, business-as-usual, etc., try to introduce opportunities to do a bit of more cutting edge work for a small portion of the time. Allowing people to spend time on personal projects is a good way to do this. Remember that if you need your devs to use current or older tech, they will fall behind with tech that will advance their careers in their next job - so let them keep up too.
Having a - no offence - duller project you need devs for, is one of the bigger challenges in IT recruitment, because you can't highlight all the buzzwords you need to, so most of the way you can get good staff is by having other things to appeal to them.
28
Another point to add, start rewarding those who maintain and improve code. Often this is seen as second-tier work, when in reality is is harder to write code that is both better than the original, and seamlessly integrates into the messy stuff. If you show off your new tech internally in the company, and barely mention major rework, you will get what you reward.
– Edwin Buck
yesterday
1
I agree with all of this with two additional comments (that I don't feel are worthy of another answer for a question that already has 7 answers). 1) Experienced consultants are good for this kind of thing as they can get paid ($$$) and then move on. 2) In your interviews ask how the candidate would handle fixing software that was in production where it is absolutely essential that the software run 24/7 with no downtime due to regressions (and without CI/CD!) - possibly due to the $$$ loss involved with such downtime. (I recently finished a 2yr consulting contract with this constraint ...)
– davidbak
yesterday
add a comment |
So, I'd say a few things will help you with this:
- Be willing to employ more experienced (and thus more expensive) developers, as these will often have got over the 'ooh shiny new tech' stage of their careers
- Create a package of benefits aimed more at this group (think more pensions, remunerations, working atmosphere, and less table tennis, fussball, and X-boxes)
- Given that you want to get people to do a fair bit of work on legacy code, improvements, business-as-usual, etc., try to introduce opportunities to do a bit of more cutting edge work for a small portion of the time. Allowing people to spend time on personal projects is a good way to do this. Remember that if you need your devs to use current or older tech, they will fall behind with tech that will advance their careers in their next job - so let them keep up too.
Having a - no offence - duller project you need devs for, is one of the bigger challenges in IT recruitment, because you can't highlight all the buzzwords you need to, so most of the way you can get good staff is by having other things to appeal to them.
So, I'd say a few things will help you with this:
- Be willing to employ more experienced (and thus more expensive) developers, as these will often have got over the 'ooh shiny new tech' stage of their careers
- Create a package of benefits aimed more at this group (think more pensions, remunerations, working atmosphere, and less table tennis, fussball, and X-boxes)
- Given that you want to get people to do a fair bit of work on legacy code, improvements, business-as-usual, etc., try to introduce opportunities to do a bit of more cutting edge work for a small portion of the time. Allowing people to spend time on personal projects is a good way to do this. Remember that if you need your devs to use current or older tech, they will fall behind with tech that will advance their careers in their next job - so let them keep up too.
Having a - no offence - duller project you need devs for, is one of the bigger challenges in IT recruitment, because you can't highlight all the buzzwords you need to, so most of the way you can get good staff is by having other things to appeal to them.
answered 2 days ago
Owen C. Jones
806913
806913
28
Another point to add, start rewarding those who maintain and improve code. Often this is seen as second-tier work, when in reality is is harder to write code that is both better than the original, and seamlessly integrates into the messy stuff. If you show off your new tech internally in the company, and barely mention major rework, you will get what you reward.
– Edwin Buck
yesterday
1
I agree with all of this with two additional comments (that I don't feel are worthy of another answer for a question that already has 7 answers). 1) Experienced consultants are good for this kind of thing as they can get paid ($$$) and then move on. 2) In your interviews ask how the candidate would handle fixing software that was in production where it is absolutely essential that the software run 24/7 with no downtime due to regressions (and without CI/CD!) - possibly due to the $$$ loss involved with such downtime. (I recently finished a 2yr consulting contract with this constraint ...)
– davidbak
yesterday
add a comment |
28
Another point to add, start rewarding those who maintain and improve code. Often this is seen as second-tier work, when in reality is is harder to write code that is both better than the original, and seamlessly integrates into the messy stuff. If you show off your new tech internally in the company, and barely mention major rework, you will get what you reward.
– Edwin Buck
yesterday
1
I agree with all of this with two additional comments (that I don't feel are worthy of another answer for a question that already has 7 answers). 1) Experienced consultants are good for this kind of thing as they can get paid ($$$) and then move on. 2) In your interviews ask how the candidate would handle fixing software that was in production where it is absolutely essential that the software run 24/7 with no downtime due to regressions (and without CI/CD!) - possibly due to the $$$ loss involved with such downtime. (I recently finished a 2yr consulting contract with this constraint ...)
– davidbak
yesterday
28
28
Another point to add, start rewarding those who maintain and improve code. Often this is seen as second-tier work, when in reality is is harder to write code that is both better than the original, and seamlessly integrates into the messy stuff. If you show off your new tech internally in the company, and barely mention major rework, you will get what you reward.
– Edwin Buck
yesterday
Another point to add, start rewarding those who maintain and improve code. Often this is seen as second-tier work, when in reality is is harder to write code that is both better than the original, and seamlessly integrates into the messy stuff. If you show off your new tech internally in the company, and barely mention major rework, you will get what you reward.
– Edwin Buck
yesterday
1
1
I agree with all of this with two additional comments (that I don't feel are worthy of another answer for a question that already has 7 answers). 1) Experienced consultants are good for this kind of thing as they can get paid ($$$) and then move on. 2) In your interviews ask how the candidate would handle fixing software that was in production where it is absolutely essential that the software run 24/7 with no downtime due to regressions (and without CI/CD!) - possibly due to the $$$ loss involved with such downtime. (I recently finished a 2yr consulting contract with this constraint ...)
– davidbak
yesterday
I agree with all of this with two additional comments (that I don't feel are worthy of another answer for a question that already has 7 answers). 1) Experienced consultants are good for this kind of thing as they can get paid ($$$) and then move on. 2) In your interviews ask how the candidate would handle fixing software that was in production where it is absolutely essential that the software run 24/7 with no downtime due to regressions (and without CI/CD!) - possibly due to the $$$ loss involved with such downtime. (I recently finished a 2yr consulting contract with this constraint ...)
– davidbak
yesterday
add a comment |
I think the other answers are good but I would add extra emphasize that a good job description/advert will allow people to self screen. You should then be able to use your interview questions to judge who has actually read it properly and clearly understands it.
New contributor
2
Indeed, I would screen out the offer myself if it was honestly presented that they have old codebase and they don't want it thrown out and rewritten.
– Džuris
yesterday
add a comment |
I think the other answers are good but I would add extra emphasize that a good job description/advert will allow people to self screen. You should then be able to use your interview questions to judge who has actually read it properly and clearly understands it.
New contributor
2
Indeed, I would screen out the offer myself if it was honestly presented that they have old codebase and they don't want it thrown out and rewritten.
– Džuris
yesterday
add a comment |
I think the other answers are good but I would add extra emphasize that a good job description/advert will allow people to self screen. You should then be able to use your interview questions to judge who has actually read it properly and clearly understands it.
New contributor
I think the other answers are good but I would add extra emphasize that a good job description/advert will allow people to self screen. You should then be able to use your interview questions to judge who has actually read it properly and clearly understands it.
New contributor
New contributor
answered yesterday
Dustybin80
1,081115
1,081115
New contributor
New contributor
2
Indeed, I would screen out the offer myself if it was honestly presented that they have old codebase and they don't want it thrown out and rewritten.
– Džuris
yesterday
add a comment |
2
Indeed, I would screen out the offer myself if it was honestly presented that they have old codebase and they don't want it thrown out and rewritten.
– Džuris
yesterday
2
2
Indeed, I would screen out the offer myself if it was honestly presented that they have old codebase and they don't want it thrown out and rewritten.
– Džuris
yesterday
Indeed, I would screen out the offer myself if it was honestly presented that they have old codebase and they don't want it thrown out and rewritten.
– Džuris
yesterday
add a comment |
I think you are approaching this from the wrong perspective. It's not a problem of recruiting, it's a problem of leadership. Virtually every programming job is a mix of writing new and maintaining older code.
How they are led and motivated will be the key to getting the vast majority of developers to perform well.
Does their manager communicate the companies priorities clearly to them? Most devs are motivated and happy do whatever is most important to the companies success.
Do you makes sure they are rewarded for their contributions and made to feel the company cares about them and their efforts?
Do the company priorities make sense? Jerking devs around from one project to another, or burying them in endless bug fixing work over trivial problems is a great way to dis-motivate your devs. Does your organization regularly make schedules and problems "urgent" and require devs to constantly work over-time to solve them?
Does their manager and the company foster a team oriented atmosphere? When it's crunch time do their manager and upper execs there to help out, or do they just expect the lower ranking devs to work "death marches" to solve whatever their "urgent" problem of the day is?
Your job as a recruiter is to communicate reasonable expectations of the work environment. If it's mostly maintenance work, your applicants will filter themselves out nicely if they don't want to do it.
+1 from the office chasing a Jan 1st deadline for an extra paycheck's bonus.
– Bardicer
16 hours ago
add a comment |
I think you are approaching this from the wrong perspective. It's not a problem of recruiting, it's a problem of leadership. Virtually every programming job is a mix of writing new and maintaining older code.
How they are led and motivated will be the key to getting the vast majority of developers to perform well.
Does their manager communicate the companies priorities clearly to them? Most devs are motivated and happy do whatever is most important to the companies success.
Do you makes sure they are rewarded for their contributions and made to feel the company cares about them and their efforts?
Do the company priorities make sense? Jerking devs around from one project to another, or burying them in endless bug fixing work over trivial problems is a great way to dis-motivate your devs. Does your organization regularly make schedules and problems "urgent" and require devs to constantly work over-time to solve them?
Does their manager and the company foster a team oriented atmosphere? When it's crunch time do their manager and upper execs there to help out, or do they just expect the lower ranking devs to work "death marches" to solve whatever their "urgent" problem of the day is?
Your job as a recruiter is to communicate reasonable expectations of the work environment. If it's mostly maintenance work, your applicants will filter themselves out nicely if they don't want to do it.
+1 from the office chasing a Jan 1st deadline for an extra paycheck's bonus.
– Bardicer
16 hours ago
add a comment |
I think you are approaching this from the wrong perspective. It's not a problem of recruiting, it's a problem of leadership. Virtually every programming job is a mix of writing new and maintaining older code.
How they are led and motivated will be the key to getting the vast majority of developers to perform well.
Does their manager communicate the companies priorities clearly to them? Most devs are motivated and happy do whatever is most important to the companies success.
Do you makes sure they are rewarded for their contributions and made to feel the company cares about them and their efforts?
Do the company priorities make sense? Jerking devs around from one project to another, or burying them in endless bug fixing work over trivial problems is a great way to dis-motivate your devs. Does your organization regularly make schedules and problems "urgent" and require devs to constantly work over-time to solve them?
Does their manager and the company foster a team oriented atmosphere? When it's crunch time do their manager and upper execs there to help out, or do they just expect the lower ranking devs to work "death marches" to solve whatever their "urgent" problem of the day is?
Your job as a recruiter is to communicate reasonable expectations of the work environment. If it's mostly maintenance work, your applicants will filter themselves out nicely if they don't want to do it.
I think you are approaching this from the wrong perspective. It's not a problem of recruiting, it's a problem of leadership. Virtually every programming job is a mix of writing new and maintaining older code.
How they are led and motivated will be the key to getting the vast majority of developers to perform well.
Does their manager communicate the companies priorities clearly to them? Most devs are motivated and happy do whatever is most important to the companies success.
Do you makes sure they are rewarded for their contributions and made to feel the company cares about them and their efforts?
Do the company priorities make sense? Jerking devs around from one project to another, or burying them in endless bug fixing work over trivial problems is a great way to dis-motivate your devs. Does your organization regularly make schedules and problems "urgent" and require devs to constantly work over-time to solve them?
Does their manager and the company foster a team oriented atmosphere? When it's crunch time do their manager and upper execs there to help out, or do they just expect the lower ranking devs to work "death marches" to solve whatever their "urgent" problem of the day is?
Your job as a recruiter is to communicate reasonable expectations of the work environment. If it's mostly maintenance work, your applicants will filter themselves out nicely if they don't want to do it.
answered yesterday
SafeFastExpressive
2006
2006
+1 from the office chasing a Jan 1st deadline for an extra paycheck's bonus.
– Bardicer
16 hours ago
add a comment |
+1 from the office chasing a Jan 1st deadline for an extra paycheck's bonus.
– Bardicer
16 hours ago
+1 from the office chasing a Jan 1st deadline for an extra paycheck's bonus.
– Bardicer
16 hours ago
+1 from the office chasing a Jan 1st deadline for an extra paycheck's bonus.
– Bardicer
16 hours ago
add a comment |
In my interviews, sure, I ask technical questions, especially to figure out unclear bits of the CV, or to dig deep into topics they say they're experts in.
Aside from that, I spend as much time as possible to simply talk with them about our field. I'm open and honest about what the goal of the current discussion is (i.e., in an early phone call, I would say "this call is just so we can get to learn to know each other, this is not a test" etc.; or in an on-site interview I might say "part of this interview is to find out the exact team in my company where you can start working, matching your interests as well as possible", and I mean it).
This is not made to let them lower their guard, or trick them, but just to get an honest discussion going. Frankly, this gives me the most useful information about the person. And as part of it, if I know that I need someone to work on older software (which, in fact, I sometimes do), then I will describe plainly and clearly what I need. I usually can tell from their reaction whether they like that kind of work, even if they don't but still say "yes".
What questions or polite (not overly time consuming) tests would you ask to find someone who is interested and willing to maintain and improve code?
My question would be: "Are you interested and willing to maintain and improve code?" Plain and simple. Honest and direct. Everything else would waste their and my time. If their reaction shows me that the answer is "no", I go on from there. If it's "yes", I'll do the usual (dig deeper, let them explain their understanding of this, etc.).
Their reaction goes into my overall evaluation afterwards. I.e., if they don't want the maintain work, but have plenty of other skills that we need, and if I'm sure that the current team structure can handle someone like that, then all is well. Or if they do want this, but somehow could not convince me that they really meant (or understood) it, and did not bring much else to the table, then we'll part ways.
add a comment |
In my interviews, sure, I ask technical questions, especially to figure out unclear bits of the CV, or to dig deep into topics they say they're experts in.
Aside from that, I spend as much time as possible to simply talk with them about our field. I'm open and honest about what the goal of the current discussion is (i.e., in an early phone call, I would say "this call is just so we can get to learn to know each other, this is not a test" etc.; or in an on-site interview I might say "part of this interview is to find out the exact team in my company where you can start working, matching your interests as well as possible", and I mean it).
This is not made to let them lower their guard, or trick them, but just to get an honest discussion going. Frankly, this gives me the most useful information about the person. And as part of it, if I know that I need someone to work on older software (which, in fact, I sometimes do), then I will describe plainly and clearly what I need. I usually can tell from their reaction whether they like that kind of work, even if they don't but still say "yes".
What questions or polite (not overly time consuming) tests would you ask to find someone who is interested and willing to maintain and improve code?
My question would be: "Are you interested and willing to maintain and improve code?" Plain and simple. Honest and direct. Everything else would waste their and my time. If their reaction shows me that the answer is "no", I go on from there. If it's "yes", I'll do the usual (dig deeper, let them explain their understanding of this, etc.).
Their reaction goes into my overall evaluation afterwards. I.e., if they don't want the maintain work, but have plenty of other skills that we need, and if I'm sure that the current team structure can handle someone like that, then all is well. Or if they do want this, but somehow could not convince me that they really meant (or understood) it, and did not bring much else to the table, then we'll part ways.
add a comment |
In my interviews, sure, I ask technical questions, especially to figure out unclear bits of the CV, or to dig deep into topics they say they're experts in.
Aside from that, I spend as much time as possible to simply talk with them about our field. I'm open and honest about what the goal of the current discussion is (i.e., in an early phone call, I would say "this call is just so we can get to learn to know each other, this is not a test" etc.; or in an on-site interview I might say "part of this interview is to find out the exact team in my company where you can start working, matching your interests as well as possible", and I mean it).
This is not made to let them lower their guard, or trick them, but just to get an honest discussion going. Frankly, this gives me the most useful information about the person. And as part of it, if I know that I need someone to work on older software (which, in fact, I sometimes do), then I will describe plainly and clearly what I need. I usually can tell from their reaction whether they like that kind of work, even if they don't but still say "yes".
What questions or polite (not overly time consuming) tests would you ask to find someone who is interested and willing to maintain and improve code?
My question would be: "Are you interested and willing to maintain and improve code?" Plain and simple. Honest and direct. Everything else would waste their and my time. If their reaction shows me that the answer is "no", I go on from there. If it's "yes", I'll do the usual (dig deeper, let them explain their understanding of this, etc.).
Their reaction goes into my overall evaluation afterwards. I.e., if they don't want the maintain work, but have plenty of other skills that we need, and if I'm sure that the current team structure can handle someone like that, then all is well. Or if they do want this, but somehow could not convince me that they really meant (or understood) it, and did not bring much else to the table, then we'll part ways.
In my interviews, sure, I ask technical questions, especially to figure out unclear bits of the CV, or to dig deep into topics they say they're experts in.
Aside from that, I spend as much time as possible to simply talk with them about our field. I'm open and honest about what the goal of the current discussion is (i.e., in an early phone call, I would say "this call is just so we can get to learn to know each other, this is not a test" etc.; or in an on-site interview I might say "part of this interview is to find out the exact team in my company where you can start working, matching your interests as well as possible", and I mean it).
This is not made to let them lower their guard, or trick them, but just to get an honest discussion going. Frankly, this gives me the most useful information about the person. And as part of it, if I know that I need someone to work on older software (which, in fact, I sometimes do), then I will describe plainly and clearly what I need. I usually can tell from their reaction whether they like that kind of work, even if they don't but still say "yes".
What questions or polite (not overly time consuming) tests would you ask to find someone who is interested and willing to maintain and improve code?
My question would be: "Are you interested and willing to maintain and improve code?" Plain and simple. Honest and direct. Everything else would waste their and my time. If their reaction shows me that the answer is "no", I go on from there. If it's "yes", I'll do the usual (dig deeper, let them explain their understanding of this, etc.).
Their reaction goes into my overall evaluation afterwards. I.e., if they don't want the maintain work, but have plenty of other skills that we need, and if I'm sure that the current team structure can handle someone like that, then all is well. Or if they do want this, but somehow could not convince me that they really meant (or understood) it, and did not bring much else to the table, then we'll part ways.
edited yesterday
answered yesterday
AnoE
5,425826
5,425826
add a comment |
add a comment |
I am going to add one new dimension to the answers already given. In a nutshell my advice on this question is: Look seriously at older workers for this particular role.
The IT industry has long been affected by the issue of ageism, preferring the fast young minds of youth over the slightly slower minds of older workers. That said, those slightly slower minds have a wealth of experience and discipline that many younger workers often lack, and maintenance coding requires just such discipline.
Hiring new coders seldom requires much experience because you will be teaching them all the idiosyncrasies of your company's codebase and work methods. A "kid" fresh out of college might know the latest and greatest ways to (as you put it) chase the new and shiney
but you cannot teach the instinct for finding bugs or the mindset required for plodding through miles of unfamiliar code. Experience is what provides those attributes and experience requires time thus years thus age.
Take 2 minutes and click the following two Google queries. Then for each of these two queries skim the content of any 3 hits (6 articles total):
- Query #1 : myths about hiring older workers
- Query #2 : myths about hiring older programmers
Also we all know that once a programmer has mastered one particular language they seldom have trouble learning new ones. Look to see if their work history shows they adapt well to new environments. Look at how many languages these older workers have, not if they know the cutting edge ones or even possibly the exact one you need. If their experience is close they will learn and thrive on that learning. You are hiring them for legacy work, exactly the opposite of cutting edge.
So do your due diligence. Never use age alone as a reason to hire or not hire, but in a case like this consider that age and experience are real assets and any preconceptions you may have about hiring someone perhaps age 50 or more should be carefully examined because you might just be missing out on exactly the skills and attitudes you asked about in your OP.
Oh and one last thing. Do not be surprised if you get some evasive push-back from your HR department. For complicated (but erroneous) reasons based in those aforementioned myths, HR departments are often prone to try and filter out older applicants in IT departments. So be aware that you may need to educate your own manager and HR department that you reject these myths, provide them some of the studies you will easily find online from those links above, and insist that they are not to reject the so called "over qualified" job seekers but rather to send them through to the interviews.
I really love this answer! Experience and maturity can count for so much, it's odd that people so willingly overlook it. That said, there's also the chance of the newbies being taught well if they're very inexperienced, I suppose. 😄
– yochannah
2 hours ago
add a comment |
I am going to add one new dimension to the answers already given. In a nutshell my advice on this question is: Look seriously at older workers for this particular role.
The IT industry has long been affected by the issue of ageism, preferring the fast young minds of youth over the slightly slower minds of older workers. That said, those slightly slower minds have a wealth of experience and discipline that many younger workers often lack, and maintenance coding requires just such discipline.
Hiring new coders seldom requires much experience because you will be teaching them all the idiosyncrasies of your company's codebase and work methods. A "kid" fresh out of college might know the latest and greatest ways to (as you put it) chase the new and shiney
but you cannot teach the instinct for finding bugs or the mindset required for plodding through miles of unfamiliar code. Experience is what provides those attributes and experience requires time thus years thus age.
Take 2 minutes and click the following two Google queries. Then for each of these two queries skim the content of any 3 hits (6 articles total):
- Query #1 : myths about hiring older workers
- Query #2 : myths about hiring older programmers
Also we all know that once a programmer has mastered one particular language they seldom have trouble learning new ones. Look to see if their work history shows they adapt well to new environments. Look at how many languages these older workers have, not if they know the cutting edge ones or even possibly the exact one you need. If their experience is close they will learn and thrive on that learning. You are hiring them for legacy work, exactly the opposite of cutting edge.
So do your due diligence. Never use age alone as a reason to hire or not hire, but in a case like this consider that age and experience are real assets and any preconceptions you may have about hiring someone perhaps age 50 or more should be carefully examined because you might just be missing out on exactly the skills and attitudes you asked about in your OP.
Oh and one last thing. Do not be surprised if you get some evasive push-back from your HR department. For complicated (but erroneous) reasons based in those aforementioned myths, HR departments are often prone to try and filter out older applicants in IT departments. So be aware that you may need to educate your own manager and HR department that you reject these myths, provide them some of the studies you will easily find online from those links above, and insist that they are not to reject the so called "over qualified" job seekers but rather to send them through to the interviews.
I really love this answer! Experience and maturity can count for so much, it's odd that people so willingly overlook it. That said, there's also the chance of the newbies being taught well if they're very inexperienced, I suppose. 😄
– yochannah
2 hours ago
add a comment |
I am going to add one new dimension to the answers already given. In a nutshell my advice on this question is: Look seriously at older workers for this particular role.
The IT industry has long been affected by the issue of ageism, preferring the fast young minds of youth over the slightly slower minds of older workers. That said, those slightly slower minds have a wealth of experience and discipline that many younger workers often lack, and maintenance coding requires just such discipline.
Hiring new coders seldom requires much experience because you will be teaching them all the idiosyncrasies of your company's codebase and work methods. A "kid" fresh out of college might know the latest and greatest ways to (as you put it) chase the new and shiney
but you cannot teach the instinct for finding bugs or the mindset required for plodding through miles of unfamiliar code. Experience is what provides those attributes and experience requires time thus years thus age.
Take 2 minutes and click the following two Google queries. Then for each of these two queries skim the content of any 3 hits (6 articles total):
- Query #1 : myths about hiring older workers
- Query #2 : myths about hiring older programmers
Also we all know that once a programmer has mastered one particular language they seldom have trouble learning new ones. Look to see if their work history shows they adapt well to new environments. Look at how many languages these older workers have, not if they know the cutting edge ones or even possibly the exact one you need. If their experience is close they will learn and thrive on that learning. You are hiring them for legacy work, exactly the opposite of cutting edge.
So do your due diligence. Never use age alone as a reason to hire or not hire, but in a case like this consider that age and experience are real assets and any preconceptions you may have about hiring someone perhaps age 50 or more should be carefully examined because you might just be missing out on exactly the skills and attitudes you asked about in your OP.
Oh and one last thing. Do not be surprised if you get some evasive push-back from your HR department. For complicated (but erroneous) reasons based in those aforementioned myths, HR departments are often prone to try and filter out older applicants in IT departments. So be aware that you may need to educate your own manager and HR department that you reject these myths, provide them some of the studies you will easily find online from those links above, and insist that they are not to reject the so called "over qualified" job seekers but rather to send them through to the interviews.
I am going to add one new dimension to the answers already given. In a nutshell my advice on this question is: Look seriously at older workers for this particular role.
The IT industry has long been affected by the issue of ageism, preferring the fast young minds of youth over the slightly slower minds of older workers. That said, those slightly slower minds have a wealth of experience and discipline that many younger workers often lack, and maintenance coding requires just such discipline.
Hiring new coders seldom requires much experience because you will be teaching them all the idiosyncrasies of your company's codebase and work methods. A "kid" fresh out of college might know the latest and greatest ways to (as you put it) chase the new and shiney
but you cannot teach the instinct for finding bugs or the mindset required for plodding through miles of unfamiliar code. Experience is what provides those attributes and experience requires time thus years thus age.
Take 2 minutes and click the following two Google queries. Then for each of these two queries skim the content of any 3 hits (6 articles total):
- Query #1 : myths about hiring older workers
- Query #2 : myths about hiring older programmers
Also we all know that once a programmer has mastered one particular language they seldom have trouble learning new ones. Look to see if their work history shows they adapt well to new environments. Look at how many languages these older workers have, not if they know the cutting edge ones or even possibly the exact one you need. If their experience is close they will learn and thrive on that learning. You are hiring them for legacy work, exactly the opposite of cutting edge.
So do your due diligence. Never use age alone as a reason to hire or not hire, but in a case like this consider that age and experience are real assets and any preconceptions you may have about hiring someone perhaps age 50 or more should be carefully examined because you might just be missing out on exactly the skills and attitudes you asked about in your OP.
Oh and one last thing. Do not be surprised if you get some evasive push-back from your HR department. For complicated (but erroneous) reasons based in those aforementioned myths, HR departments are often prone to try and filter out older applicants in IT departments. So be aware that you may need to educate your own manager and HR department that you reject these myths, provide them some of the studies you will easily find online from those links above, and insist that they are not to reject the so called "over qualified" job seekers but rather to send them through to the interviews.
answered 12 hours ago
O.M.Y.
1616
1616
I really love this answer! Experience and maturity can count for so much, it's odd that people so willingly overlook it. That said, there's also the chance of the newbies being taught well if they're very inexperienced, I suppose. 😄
– yochannah
2 hours ago
add a comment |
I really love this answer! Experience and maturity can count for so much, it's odd that people so willingly overlook it. That said, there's also the chance of the newbies being taught well if they're very inexperienced, I suppose. 😄
– yochannah
2 hours ago
I really love this answer! Experience and maturity can count for so much, it's odd that people so willingly overlook it. That said, there's also the chance of the newbies being taught well if they're very inexperienced, I suppose. 😄
– yochannah
2 hours ago
I really love this answer! Experience and maturity can count for so much, it's odd that people so willingly overlook it. That said, there's also the chance of the newbies being taught well if they're very inexperienced, I suppose. 😄
– yochannah
2 hours ago
add a comment |
In my opinion it is not the point how people feel about refactoring vs recreating code. The question is why or when, a question of reasons for a decision in particular cases. I want to explain why:
Writing new code including a setup of a new concept is often experienced as a thankless job since the economy usually puts pressure on developers to work efficient in the purpose of generating volume of sales in shortest time.
Not infrequently I got an interesting project to be extended. After several hours of code review I was horrified about the misconcepted code base. It was not really concepted in an extensible way and had several security vulnerabilities. Building additional code dependent on that base had lead into a hardly predictable behaviour.
I experienced many situations when I had to suggest to do a complete rework based on a new concept while including existing algorithms of the old project. And that did not cause much enthusiasm on my mind facing a huge task.
My conviction is that most developers love to do an easy job based on a well structured framework - so far it exists. I do. Why to rack one's brain when there is a much more comfortable way to do it?
Thus when looking for new team members we should ask candidates for scenarios in which they would prefer to rewrite an existing code base prior to refactoring/extending and for detailed explainations for their reasons. We want to know if the candidate is able to take reliable decisions conforming with our company policy.
New contributor
add a comment |
In my opinion it is not the point how people feel about refactoring vs recreating code. The question is why or when, a question of reasons for a decision in particular cases. I want to explain why:
Writing new code including a setup of a new concept is often experienced as a thankless job since the economy usually puts pressure on developers to work efficient in the purpose of generating volume of sales in shortest time.
Not infrequently I got an interesting project to be extended. After several hours of code review I was horrified about the misconcepted code base. It was not really concepted in an extensible way and had several security vulnerabilities. Building additional code dependent on that base had lead into a hardly predictable behaviour.
I experienced many situations when I had to suggest to do a complete rework based on a new concept while including existing algorithms of the old project. And that did not cause much enthusiasm on my mind facing a huge task.
My conviction is that most developers love to do an easy job based on a well structured framework - so far it exists. I do. Why to rack one's brain when there is a much more comfortable way to do it?
Thus when looking for new team members we should ask candidates for scenarios in which they would prefer to rewrite an existing code base prior to refactoring/extending and for detailed explainations for their reasons. We want to know if the candidate is able to take reliable decisions conforming with our company policy.
New contributor
add a comment |
In my opinion it is not the point how people feel about refactoring vs recreating code. The question is why or when, a question of reasons for a decision in particular cases. I want to explain why:
Writing new code including a setup of a new concept is often experienced as a thankless job since the economy usually puts pressure on developers to work efficient in the purpose of generating volume of sales in shortest time.
Not infrequently I got an interesting project to be extended. After several hours of code review I was horrified about the misconcepted code base. It was not really concepted in an extensible way and had several security vulnerabilities. Building additional code dependent on that base had lead into a hardly predictable behaviour.
I experienced many situations when I had to suggest to do a complete rework based on a new concept while including existing algorithms of the old project. And that did not cause much enthusiasm on my mind facing a huge task.
My conviction is that most developers love to do an easy job based on a well structured framework - so far it exists. I do. Why to rack one's brain when there is a much more comfortable way to do it?
Thus when looking for new team members we should ask candidates for scenarios in which they would prefer to rewrite an existing code base prior to refactoring/extending and for detailed explainations for their reasons. We want to know if the candidate is able to take reliable decisions conforming with our company policy.
New contributor
In my opinion it is not the point how people feel about refactoring vs recreating code. The question is why or when, a question of reasons for a decision in particular cases. I want to explain why:
Writing new code including a setup of a new concept is often experienced as a thankless job since the economy usually puts pressure on developers to work efficient in the purpose of generating volume of sales in shortest time.
Not infrequently I got an interesting project to be extended. After several hours of code review I was horrified about the misconcepted code base. It was not really concepted in an extensible way and had several security vulnerabilities. Building additional code dependent on that base had lead into a hardly predictable behaviour.
I experienced many situations when I had to suggest to do a complete rework based on a new concept while including existing algorithms of the old project. And that did not cause much enthusiasm on my mind facing a huge task.
My conviction is that most developers love to do an easy job based on a well structured framework - so far it exists. I do. Why to rack one's brain when there is a much more comfortable way to do it?
Thus when looking for new team members we should ask candidates for scenarios in which they would prefer to rewrite an existing code base prior to refactoring/extending and for detailed explainations for their reasons. We want to know if the candidate is able to take reliable decisions conforming with our company policy.
New contributor
edited 18 hours ago
New contributor
answered 19 hours ago
Quasimodo's clone
1092
1092
New contributor
New contributor
add a comment |
add a comment |
Thanks for contributing an answer to The Workplace Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fworkplace.stackexchange.com%2fquestions%2f125255%2frecruiting-people-who-maintain-improve-not-just-chase-the-new-and-shiny%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
8
There's a similar issue with steering people away from always using new unproven tech in their code. You want to give them some, but not too much because it will sink a project.
– Mark Rogers
yesterday
3
Are you sure there are any people who are more excited about fixing older code? I'd say providing fixes and other no-rewrite solutions is more like a devops job. But in my opinion delete-and-rewrite is what should be done in most cases. At least refactor. See 2.11 in this
– Džuris
yesterday
1
I think the importance of code maintenance is learnt over time so a mature developer is likely to respect maintenance more. Also rewriting code is a lot easier because you do not need the ability to understand the old code, therefor I assume mature developers will be more willing to improve old code rather than rewrite it.
– Damien Golding
9 hours ago