5

I'm a member of a software team as a developer for almost 3 years. Recently, the company hired a new manager who wants to do all things in his way which is understandable but means changing everything.

By everything I mean programming languages and platforms we used to and have some level of expertise, source control software, reporting structure etc.

For example He wants to go on with java and I see myself as a .NET developer result of three years of experience and my preferences for improving myself that way. Also everyone on the team has similar backgrounds.

His boss knows what's going on and I would say he supports it. But he tends to underestimate the time and effort needed. I suspect that boss didn't know the manager's plan at first and now he feel obligated to support him because he already hired him. And as a developer I have no impact on business plans

So, I feel myself inadequate and insecure about this sudden changes. But I don't know what to do.

Should I try to get used to this changes? What are the chances if I opposed to it and how could I express myself properly in this situation?

  • 3
    It sounds like the boss hired a Java guy and he's determined to change the department to match what he knew (I doubt he's up to date) rather than adapt to what the department is doing. – Loren Pechtel Sep 16 '15 at 19:07
  • 1
    I really hope you manage to stop this, or it stops itself, before it goes too far. Its likely the boss doesn't understand the cost of totally rewriting something it what he was probably told was a similar language. – gburton Jan 10 '17 at 22:51
  • 1
    Not an answer to the workplace aspect of the question directly (and a bit late), but FYI: I feel that developers should be able to use whatever major languages they feel like, why does the manager care which you use? But if the manager insists, you might be able to compromise in your specific situation since C# (I'm assuming that's the NET language you're using) and Java can work together via the JNI interface. They can work together in the same process, calling each others methods, working together nicely. It increases complexity a bit since you have to do some setup, but it's worth it. – Aaron May 26 '17 at 20:59
  • @gburton Bosses understand costs a lot better than you're giving them credit. I can get 8 developers comfortable with Java for every 1 person comfortable with C#. Plus there's a cost to being locked into one properly supported platform (and some unsupported, might work environments on Linux). I'd say it's time to go multi-lingual as a career growth opportunity. Look on the bright side, you already know the product, and you're going to get paid to practically copy it. You can both shine and fix the legacy missteps. – Edwin Buck Apr 12 '18 at 17:16
  • @EdwinBuck if this is the case, they should be able to judge the cost. If the benefit is simple one of "I like language X more than language Y" then this is a spurious reason to upgrade. Youve hit one issue on the head though; the decision of what technology to use is more driven by what platforms you plan to run on, than personal preference. – gburton Apr 13 '18 at 21:16
14

This is patently absurd.

rath's answer is an excellent approach for trying to get the manager to rethink the approach, but I think misses the point a little bit.

Your manager dictating how to do your job is the definition of micromanagement. Coming into a team of programmers skilled with .NET and saying "you shall now use Java" isn't exactly setting you up for success. And coming into a company with an established .NET codebase and saying "hey, let's rewrite all of this!" (even in .NET) without a compelling reason is just burning the company's money.

Yes, there is abundant change in software development and you should be open to it. Yes, there will be some change as a new manager tries to implement process changes to help the team succeed. You should approach those with an open mind.

But this smells of rank incompetency, and I think that you should plan on raising up the chain of command. First, talk with your manager and learn why these changes are taking place - maybe provide feedback that not knowing why makes it hard for the team to buy-in to them. If your manager provides great objective reasons for the change that make up for the clear downsides, then make do.

But more than likely, you're going to get garbage answers and this person needs to be fired, ASAP.

  • 1
    My guess is the company has a bloated code base that needs to be re-written anyways. Otherwise, the new manager should be given the boot. Re-doing years of work, re-training employees, introducing new bugs due to lack of proficiency with new languages/tools, etc. Sounds like a good way to bankrupt the company. – Cloud Sep 16 '15 at 13:58
  • 1
    @JoeStrazzere - I would not count on an engineer to have deep insight into the level of support being provided to their manager. The super-boss is going to support the new manager publically, regardless of how much private support there is for full scale rewrite. I don't hold out much hope that it will happen, but the standard Workplace advice of updating the resume seems at least a little premature here. – Telastyn Sep 16 '15 at 18:28
  • I agree that on the face of it, it sounds like folly. But who knows what underlying reasons there may be that the OP isn't aware of? Anyway, even if it is folly, as I said in my comment on Joe's answer, it's always good to get an opportunity to learn something new as part of your job, rather than having to do it on your own time. – Carson63000 Sep 17 '15 at 2:32
8

Such a radical change needs a convincing business case to back it up. You could argue that

retraining our team to use the new software/procedures/tools/language will result in X weeks of reduced productivity, resulting in N thousands Imperial Credits lost.

His case must show that the sacrifice is worth it, but, unfortunately, he doesn't have to make his case to you. In any event if that document exists you may want to read it, maybe you'll become a convert yourself.

You could ask that the proposed changes are introduced slowly so that the team gets a chance to catch up with the changes. You also want to prioritise items in terms of how easy they are to replace, ie. start with changing source control and leave Java for the end.

If everything gets dumped in your lap from week 1, there's gonna be a sharp peak in mistakes and frustration. No matter what happens in the end, this is the situation you should be actively working against.

  • Does your company pay you in imperial credits? Are you hiring? How much is an R2 unit compared to your monthly salary? – Jon Story Sep 16 '15 at 10:39
  • @JonStory You can get a used R2 for as much as 15K which is a 5th of a dev's salary. They're basically the Ladas of the world. But they're quite old and almost always collector's items, you'll be much better off with an R7 if you can afford it. R2s enjoyed a rise in popularity a few years ago but are quite unreliable as they get old, they tend to develop a sort of temperament, unless wiped frequently (which is a bit of a pain). – rath Sep 16 '15 at 20:40
5

The first thing I see here is one gaping hole in your post:

WHY is the change being made?

There are a lot of good qualities about each platform (notwithstanding the bickering platform-sniping in the comments on your post). There may be a compelling business reason for this change. The manager may have, in fact, been brought in to make this change.

Has the new manager communicated why this change is occurring? Is it a business directive? Is it to be more in-line with other business units of the company? Or is it only change for change's sake?

.NET vs. Java is just like Chevy vs. Ford. You can argue strengths and weaknesses of design and performance all day long, but at the end of the day, you can drive both to the grocery store.

Were I you, I'd be more concerned with the "Why" than the "What." If this is a business directive from on-high, I'd be concerned that your manager didn't communicate that. If this is just his own personal little platform war being waged, then you've got a bigger problem (this manager) than learning a new toolset.

  • For me, "why" is the big question. This might be an utterly absurd change. There might be a totally legit reason for it. We just don't know yet. – MathematicalOrchid Sep 17 '15 at 12:41
  • You are right this is an important point but I am not sure what is the reason excatly. If I were I would add it to the question but we've been told that it's gonna be way faster to make things done after changes made and it is necessary for new manager to add his experience to the company. – user2191454 Sep 17 '15 at 13:05
  • 2
    "... we've been told that it's gonna be way faster to make things done after changes made and it is necessary for new manager to add his experience to the company." There is your answer. The first part is wrong, the second part is ridiculous. Were I you, I'd be running, not walking, for a new job. – Wesley Long Sep 17 '15 at 15:09
4

He wants to go on with java and I see myself as a .NET developer result of three years of experience and my preferences for improving myself that way.

Personally identifying yourself as solely tied in with a single technology is not a good idea in a rapidly-changing field like software development.

It limits you too much, and eventually you will be left behind.

So, I feel myself inadequate and insecure about this sudden changes. But I don't know what to do.

Should I try to get used to this changes?

Yes.

In this business, change is continual and relatively rapid. If you want to continue in software you must get used to change, learn to accept it, and learn how to continually adapt. Otherwise, you'll be left behind.

What are the chances if I opposed to it and how could I express myself properly in this situation?

There is almost no chance that opposing change being driven by a new manager will end well for you.

You company brought in a new manager and gave him the authority to make sweeping changes for a reason. And I suspect they didn't poll the developer group before this hiring to see if everyone wanted such change.

Trying to oppose your manager now will put your company in a manager-versus-employee conflict. You won't win that one.

Instead, try to understand the reasons behind the changes. Try to keep an open mind. And try your best to get on board.

If you can't do all that, or if you want to ride your .NET expertise for a while longer, you may need to seek a position elsewhere.

  • 6
    I agree that only seeing you as aprogrammer in one language is very limiting. Yet, even though programming languages are similar, switching is a time consuming and expensive thing due to libraries and best practices. If possible to invest the necessary learning time, it is a great chance by any means. – Ralph Rickenbach Sep 16 '15 at 13:39
  • 2
    @RalphM.Rickenbach Joe brings up a solid point. If you're rapidly working towards being a senior/principal/chief engineer, VP of engineering, etc, you're already brushing up on your technical and non-technical skills on a daily basis. Most people I know in these roles, myself included, go through a 300-500 page O'Reilly book or similar on a monthly basis, learning new languages, methodologies, or just re-training to keep our certs valid. If you're not actively keeping current in your spare time, your career suffers. – Cloud Sep 16 '15 at 13:55
  • 2
    Even if you're a naturally gifted developer, three years isn't really expert. And I don't think you actually are expert until you've learned at least two languages. To be a truly good developer, you need to understand the types of things that you can do and how to figure out how to do those types of things in whatever language you're working in. – Amy Blankenship Sep 16 '15 at 15:42
  • 1
    @AmyBlankenship 3 years might not be and expert but it is 3 years of expertise. Leaning a language is the easy part - I am .NET C# guy and I can write Java. OOP is OOP. Learning the framework is the hard part. LINQ was introduced in .NET 3.5 and I am still learning it. Java does not have a LINQ (that I am aware of). With each version of .NET there are a number of new feature to learn. Even in .NET I don't try and stay up with all the flavors - ASP,NET, Winform, WPF, WCF, MVC, MVVM ... – paparazzo Sep 16 '15 at 16:29
  • 1
    I think the Java equivalent is Hibernate. I'm not a Java developer, so that's just what I gather from the research I've done on other matters that crossed that way. But that's my point. You understand that there's going to be a piece of the framework that abstracts interactions with a database and roughly how those work, and then it's down to the details of how this one works. Etc. – Amy Blankenship Sep 16 '15 at 16:52
3

Firstly, discuss your personal opinions with him politely in private, don't bring others into it unless they all feel the same way and are willing to participate. Any manager worth his salt, particularly a new one will listen and take heed. Explain that your experience is in dot net and you feel there is a learning curve to overcome before you're as efficient in another language. And productivity would suffer.

How he structures the rest is really up to him, changing your field of expertise affects your entire future career, so from what I have read, that's the important part.

Has anyone actually spoken to him about these issues? It sounds like someone definitely needs to step up. That's your first recourse anyway. After that talk you will know better which direction to take.

  • Nobody has spoken to him about the situation. We exchanged our worries with co-workers. This situation promoted the team as good news so, I feel that noone wants to be a position who doesn't embrace change. – user2191454 Sep 16 '15 at 12:21
  • If you feel strongly enough about it, talking to him is always going to be the best way. No one gets into trouble for voicing their concerns in a nice way. Although I know it's harder to do than to say. Such big changes are unusual. Perhaps approach it from the angle of 'what resources does he recommend you use to upskill in java, and will there be time set aside for it etc,.' to get a grasp of what he's actually implementing so you have a better idea of what you're up against, and what sort of manager you're dealing with. And listen to him with an open mind. – Kilisi Sep 16 '15 at 12:51

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.