4

I'm a software developer. I have been in my company a few months and in that time my role has changed from developing new features to full time bug fixing, and now to full time server and database maintenance.

I feel that spending the next few months (or years) doing this instead of coding is detrimental to my career. I have raised my concerns with management but was told that there is not anyone else to do the work. It's not that I feel database administration or sysadmin work is beneath me; it is just that I am simply not skilled for them. I trained as and have several years experience of C# development, but I know only basic SQL and am being expected to keep several hundred databases running as well as general server maintenance and even 1st line support. My customer management skills are not great.

What might be a good way to approach management and determine what their plans for me are within the company?

  • 4
    How would we know? This is something to discuss with your manager. We can only help you with actual questions that aren't specific to your situation, skills and experience. – Lilienthal Dec 1 '15 at 15:29
  • 3
    All devs should do at least one-two years of support, it will make you a better dev. And database management is not a waste of expensive dev time. It is the lifeblood of your company, it is FAR more important than dev work. – HLGEM Dec 1 '15 at 15:43
  • 4
    Server and db maintenance require a lot of repeated tasks. Automate them. Learn how to do that and move towards the devops direction. You'll have the best of two worlds. – simbabque Dec 1 '15 at 15:47
  • 1
    "It is the lifeblood of your company, it is FAR more important than dev work" I don't disagree with this I did not put it across clearly but I trained as a C# developer. I have C# developer skills. What I don't have is DBA skills or Sysadmin skills. I can write SQL. I don't know indexes and backup strategies in depth. – Three Value Logic Dec 1 '15 at 21:43
  • 4
    @ThreeValueLogic: learning those skills will make you a far more valuable developer in the future. Consider this a paid learning experience where the skills you gain actually will apply to your future work. For example, understanding indexes will help you understand a great number of application performance issues. – NotMe Dec 2 '15 at 3:41
4

The best way to approach them is with a politely worded letter of resignation after you find a new job.

If you do this kind of work for too long, potential employers will think you're a DBA, not a developer. If that's not the career you want, get out now. At your stage of life, you are in grave danger of having more work experience as a DBA than a developer. Consider what it looks like to the next hiring manager who looks at your resume: You started your first job as a developer, changed career tracks, and [x number of years] later you want to start over as a developer again. And your explanation is that you stayed at a job that was putting your chosen career ever farther out of reach. They're likely to think the real story is that you're a DBA desperate for work, who's applying for jobs outside of his wheelhouse -- or that you're just a timeserver who doesn't care what he's doing. The dev they want is the dev who loves development so much, you can't pry him off the IDE with a crowbar.

I've got some weird hiatuses in a 20 year career, and they focus like a laser on that stuff in interviews. It'll be an issue.

So you want x to be as small as humanly possible. You want to be able to say "It's a great environment, I love working with these guys, and it's really valuable to learn so much about databases. Unfortunately they don't have enough development work to go around, and I can't wait to get back to working on the stuff I really love."

The DBA experience is valuable, but as an entry level developer, you need development experience much more than DBA experience. Incomparably more. [UPDATE: I misread; OP isn't exactly entry level, so this point may not be very strong in his case.]

Even if it's not your first job, you're not an old hand yet. You should be working your way closer to what you want to do, not farther from it. You didn't marry these people. There's no blood oath of loyalty here. It's business. You want a paycheck and career advancement; they want a junior DBA. Well, they know where to go look for a junior DBA if they need one that badly. They'll understand; people come and go. At any decent place to work, if somebody leaves for a job closer to his heart's desire, everybody is happy for him (unless they're lunatics or swine, in which case they can go pound sand).

The job market for tech people is relatively friendly right now. It may not be that way next year. Either way, the sooner you start looking, the sooner you will have a new job, and it may take six months in any case. That's already a significant chunk of your career at this point. The important thing is to start looking before you're desperate -- just like buying a new car or anything else.

DB administration is a valuable, critically important, fascinating field, full of cool people who understand important things that I don't. But so are neurology and ichthyology. It's not what you love best, so leave. I see a bunch of people telling you DBA's are the lifeblood of a company etc., and that's true, but irrelevant to you. Those are DBA's who love their field. Force them into a C# job, and they'll be chewing their legs off to escape.

  • 1
    Thank you so much for this. It echos a lot of my own concerns. As you said I am a relatively young developer and I risk overtaking my development experience with dba experience in a very short space of time. – Three Value Logic Dec 3 '15 at 15:12
8

Here's the thing to remember when working any job:

You do the work the company needs you to do.

You may not feel that database and server support are worthy of your time. Unfortunately, the only two words to describe the situation are tough luck. I'm not trying to be mean, it's just the way it is.

What an employee is to a company is basically a solution to a problem.

If their problem is that they need new code written, they will hire someone to fill that role.

If they need bugs fixed, they will fill that role.

If they need a database maintained, they will fill that role.

The problem arises when the issues they need fixed do not align with your professional aspirations and interests. When this happens you have to decide whether continuing with that company is worth your time - and many considerations must be weighed in order to reach the correct decision, each particular to you.

So here's some things to keep in mind, and ask yourself:

1. Potential

If you were to start coding new software solutions for this company would the technologies, process, and techniques employed interest you? Would you be learning new things, and growing professionally? Would that turn of events satisfy you?

If your answer is no, then there's no point working there any longer - start applying for a new job.

If however, your answer is yes, then staying with this company is potentially beneficial if you stick with it. Sure, they have you doing database/server maintenance right now, but a couple of months down the road you may transition back to development. You'll need to find out what their plans are for you, or even if they have a plan. A conversation with your boss will be required:

Hey, boss. I wanted to talk to you about your plans for me within the company. I know the server and database maintenance is critical to the company's success, and I've been happy to do it, however I wanted to raise some concerns. While I've been able to handle my new responsibilities so far, I have to tell you that my expertise does not lie in the area of network admin. I can hum the tune, and I think I've been doing alright, but I'm not an expert. A situation may easily arise that I don't know how to handle, or worse, I don't handle correctly. I honestly think it would be in the company's best interest to hire a network admin with the correct experience to manage our servers. Furthermore, I don't feel that this experience is allowing me to grow professionally - I'm trained as a developer, not a system admin. It's always good to pick up some new skills in a related field, but it's not my area of professional interest. What are your thoughts on this situation?

That was a little long winded, but it will hopefully spark a meaningful conversation about what role your boss envisions for you within the organization. If he has no vision, then your alarm bells can start ringing: the company is simply putting out the latest fire, and has no medium or long term plan on how to deal with the issue. It might be a long time before they hire a proper system admin, and you must decide whether you want to be stuck in that role for the foreseeable future or not.

2. Compromise

Your company needs you to fill the role of a system admin, but are they willing to allow you to also gain experience in your area of interest?

Even if your boss can't transition you out of the admin role, he may be able to allow you to do some development, and thus polish your skills, and learn new things. That might make the job worth it, especially if it's a good work environment / a decent paycheque / you have good benefits.

Conclusion

At the end of the day you're the one who knows your situation best. I highly recommend having that conversation with your boss. Remember to always be polite, and not to display frustration! Simply be honest and earnest, as if you're really doing the company a favor by pointing out that you're not a system admin.

Good luck!

  • 1
    Don't agree with a strategy of tell your boss you should be moved because you feel you are not competent for the task. Boss assigned him the job told him he has no one else to do the job. A company that needs a task done does not just hire. Often you have fixed payroll/headcount and must adjust. – paparazzo Dec 1 '15 at 17:35
  • 1
    @Frisbee - What you say is very true, however pointing out that you're not doing the job you were trained/educated for is a perfectly valid point. Neither of us knows for a fact how many people the company has employed, or is willing to hire. Who knows? Maybe the managers truly don't realize that there's a difference between a developer and a system admin - there are many such misconceptions in IT. Sitting down and having this conversation with them reveals A) What they know B) If they have any plans regarding the situation C) If they care about the OP's growth as an employee – AndreiROM Dec 1 '15 at 17:39
2

Being assigned to fixing bugs as a new developer is not unusual. I have heard it from other developers who started working at some company. At some point they are assigned to building new features. I suppose it's a way for companies/managers to get a view on how you perform.

As far as server/db roles that is something that is up in the air. At big companies where they have dedicated admins, you'll still have to participate in creation and maintenance of those systems.

Overall you don't sound too out of place. As far as your "future" I would say nothing is going to set your future unless you happen to be a key part in a huge product that changed the world. That is very rare and your experience with your current company doesn't sound too different from anywhere else.

  • I should have been clearer completely agree with fixing bugs while learning it is something I have come across in many roles but I have been moved from that to a more general tech support role (1st line support, some DBA tasks and sysadmin) despite having no skills in these areas. – Three Value Logic Dec 1 '15 at 21:49
2

It is a paycheck. And it is good experience but I understand you want to get back to development. I would ask your boss if there is a time frame for you to get back to programming. If he tells you there is no time frame then you have to decide to look for another job or not. If they have hired any programmers since you have been doing support then they have made a choice not to move you back to programming (at this time). If your company is in a cash crunch and they have to use the resources they have then your boss is not going to be able to give you a time frame.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.