4

Somewhat Related to:

Background

A few months ago I began a new position at a small IT consultant & software development company. I advertised myself for software design & architecture, web app development, user experience expertise. During the interview process I did a bit more interviewing of the company than them of me, to try and ensure I was going somewhere I could grow and apply my expertise (Something I had hit a wall at in my current position). All seemed well, so I started on.

The project they had at the time essentially demanded I do BAU (Business as usual) kind of work till it concluded in December. It was a tedious and boring slog, with me being utilized at maybe 20-30% capacity but being unable to concentrate on anything substantial do to the "off and on" nature of it. I spent my "free" time leveling up the company by drafting out much needed policies related to information security, and various engineering related items in coordination with the CEO.

The next client project, that I'll be the sole dev on, starts mid January. I have a month of open time to find something productive and skillful to do. This is where the problems started to really show.

Current Situation

So. The current situation is that I've identified long-standing business needs that I can completely solve for within the next month, however, the emotional & political baggage surrounding this is preventing me from even getting started. I'm unable to utilize my expertise both in the tech stacks I've practiced in, and in the design & development methodologies I've learned and used. I'm being blocked by a couple other devs that have been with this company since it's inception, who started their software development careers here.

This is indicative of a larger problem. I have a devops engineer & developer who are good, a great pinch-hitter, and has been in the industry longer than myself. But they demonstrate a lack of understanding, knowledge, or curiosity of the broader software development landscape, and who is rather cynical and unwilling to accept change. A bit of a "bitter vet". They are somewhat bombastic, and has been friends with others in the company throughout their entire careers. This individual wants to drive, but exhibits inexperienced, naive, and unworkable approaches that seem to be part of the root of the companies inability to make forward progress.

The Problem For Me

I'm unable to move forward to utilize or grow my expertise because I'm regressing in my career and re-experiencing the same fundamental arguments that I've experienced 5+ years ago when I was finally starting to understand the bigger picture. With the same kind of "hand waving" the hard parts and critical analysis away that I experienced then. The same kind of scorning of knowledge & pragmatism, and the same perception of "ageism" from those that perceive me as young & inexperienced (I look many years younger than I am). Arguments, conclusions, examples, and references based around my software development level fall on deaf ears.

Sure, there is a client project in mid January, but it's small, and will only last a couple months at most, and then it's back to sitting on my hands. I've been here for months and have done little to no actual development, and now that the table is open, I'm unable to push forward and work at my level due to the politics, cynicism, and the narrow experience range of my coworkers.

The CEO is very hands-off, and is of the mind that "The team decides". Issue there is that the team is myself, and the 2 devs that have been here for their careers. The "team" is deciding the same as it seemingly always has, and as a consequence are not driving internal results. I'm largely blocked, out-voted, and held back.

I'm not as prepared to fight to advance myself like I have in the past. It takes a lot of energy out of me, energy I could be have spent improving myself, the company, it's products, and it's stance. Even when I "win" and can start driving results, it's a bittersweet victory that leaves me drained and demotivated.


What options do I have to improve upon this situation, while not performing a retrograde-movement on my career?

I'm not willing to sit it out and play the "long con" for 6-12m, I could have just stayed in my previous position and 'maintained' if that was my objective. That's time I could use to progress towards my goals that I won't get back.

Leaving is an option, but it feels wrong as I've only been here a few months, and haven't pulled in much revenue. My position is expensive, and it's a small company, but at the same time it's going to waste.

4
  • 2
    It might be easier for people to give advice if you were a little more specific about the changes you want to make and the arguments you’re putting forth.
    – BSMP
    Dec 9, 2020 at 3:13
  • I'm not necessarily making an attempt to overhaul the system, but rather develop a greenfield project that they have failed at for years. I've identified their approach as their cause for failure, and what I've gotten back is just push back to maintain the status quo that thus far has not brought results. Dec 9, 2020 at 3:51
  • @BSMP It's a legacy internal system (PHP backend, frontend tightly tied to business logic in templates) being phased out by the users due to it's difficulty to use and poor UX. It's essentially dead in the water now. I propose identifying the business needs, what the users want, and developing a greenfield project for that. They want to rewrite it 1-to-1 with a different backed keeping the cruft, debt, and user gripes. And then rewrite the frontend again, and then refactor the backend. They have failed to do this because of the time-cost of such an approach. Dec 9, 2020 at 3:55
  • 1
    How many years of experience do you have as a programmer in industry?
    – Ben Barden
    Dec 9, 2020 at 15:53

5 Answers 5

5

All organizations are resistant to change. It's really, really hard to spear-head changes in the way people do their jobs even for a CEO/owner. It's vastly more difficult for a new person who is a peer.

As you've discovered, you can't simply make a rational argument (no matter how airtight) and expect people, en-masse, to just agree with you and change what they're working on, how they do it, and change the way they see things. From the point of view of the people you're working with, everything has been "OK". What you're proposing to them is that what they've been doing is "wrong" at some level. That's difficult for anyone to accept without losing confidence. Especially in IT and software development, it's common to have folks who are rigid thinkers (with low openness to new experience) and are accustomed to being expert in their domains-- the smartest people in the room.

The way things change is by gaining the support of small group of these people who are willing to propagate and model the new ideas to the others. You start first with a person or two who are open to new ideas and like being on the cutting edge. This first group of people have to be respected and trusted amongst the rest and among management. You then progress, with their cooperation, to folding in others who are less open but are willing to do new things because it's "their job". This continues down to the most laggard folks who only do new things when they're forced. All of this takes time, a lot of time.

I didn't pull this theory out of thin air. It's been known for decades as "The Diffusion of Innovation" theory. It was first applied to technology advancement in farming, but it seems to apply to technological change in any organization of people. There's a book that came out more than a decade ago that puts this theory into practice for software industry organizations, Fearless Change. The author writes from experience working on software development in one of the most change-averse industries, airlines.

11

The current situation is that I've identified long-standing business needs that I can completely solve for within the next month

Stop right there: what leads you to believe these are actual "business needs"? If they really are, why is the CEO hands-off about them? Have you spoken to the CEO about what they see as top priorities for the business?

You've been rather vague about what these needs are, but I'd venture a guess that you're looking to do refactoring-type changes that, while undoubtedly current best practice, don't add any immediate value and instead risk breaking what already exists. If so, what you dismissively describe as "political and emotional baggage" is likely rather justified resistance to fixing things that aren't broken. Put more bluntly, any senior IT person will have seen juniors chomping at the bit to try their hand at whatever is flavor of the month and would look good on a CV today, and they will rightly or wrongly suspect you of the same.

So instead of tilting at windmills of your own invention, I'd suggest identifying what other people, particularly the CEO, see as real problems and taking a crack at those instead. Because if you succeed, they'll see the benefit and you'll get the credit.

5
  • 1
    Excellent answer! Making this even more likely: they indicated the exact same issue at the last job. While it's definitely possible that two companies have the same problem... it makes it more likely that at least part of the issue is on OP's side. The ugly saying: "The only thing all your failed relationships have in common is you"...
    – Kevin
    Dec 9, 2020 at 16:32
  • I've identified the business need from coworkers AND the CEO. I wrote exactly what I meant. The CEO identifies the same, but wants the team to make the decision. The team identifies this as a problem as well. I've queried them individually to validate that... They just can't decide on an approach that brings about success, and have been trying for a long time now. Dec 9, 2020 at 19:17
  • The business need is small, but has a large impact. It's low-hanging fruit. The team doesn't want to pick that low hanging fruit unless they can pull the whole tree down with it, they're stuck. This is a problem I've solved before, with great success, but against similar opposition. Dec 9, 2020 at 19:19
  • @DouglasGaskell Well, then you need to either get the CEO to resolve the deadlock, or convince your colleagues to go with your approach. Or you need to drop this idea and find out what your CEO actually wants you to work on. Dec 10, 2020 at 4:36
  • 1
    That's a good point, I've decided to shelve this and approach it at a later date and slowly ease into it to better acknowledge the emotional aspects of it. I made the mistake of being in a rush to prototype something since I had a month of free time right after 4 of relatively boring BAU work. I was over-zealous, and mistakes where made. I'll spend the time between now and then rounding up support for the idea, and to get critical feedback to make it more sound. Thanks for your answer. Dec 11, 2020 at 6:44
5

It sounds like the problem is that you are trying to impose solutions for things that your co-workers don't even see as problems. That's hard enough even for a senior manager to do. As the new guy on the team, you have no chance whatsoever.

The only hope is to identify things that they think need improving, and try to offer solutions to their problems.

Leaving is an option, but it feels wrong as I've only been here a few months, and haven't pulled in much revenue. My position is expensive, and it's a small company, but at the same time it's going to waste.

Not your problem. The only thing you need to worry about is if you start to look like a "serial job hopper".

4

If you want to move your career forward, you will need to learn leadership.

There’s not much someone can do completely on their own. You have learned things in your career. But you don’t want to be on the tail end any more. To do that you need to figure out how to lead - your peers, even your bosses.

This is a frustrating time but the best use of your time is figuring out how to navigate these kinds of situations; otherwise you may be right and smart and whatnot, but it will not avail results.

2
  • Thanks for the answer. I've approached leadership in the past by identifying and solving problems that no one seems to be solving, and essentially "leading a horse to water" at an organizational level. Supporting the people that need the solution. This has gained the trust & acceptance I've needed to direct the efforts of coworkers & teammates to make a difference. The problem I'm having now is that I'm unable to do that step, I'm blocked, I see the problem that non-technical coworkers are struggling with, I know the solution, I can make it happen, but dev-related politics are right in my way. Dec 9, 2020 at 4:11
  • Most of the time when I've done this, it was against political opposition. Though from an executive level, not a coworker level (A few time's it has, but I've always lost that short term, but was successful long term as their solutions fell through). I've learned how to overcome executive politics, but it seems the approaches I've learned there are ineffective and backfire when it comes to my peers. Can you expand your answer with more concrete advice? Dec 9, 2020 at 4:13
2

What options do I have to improve upon this situation, while not performing a retrograde-movement on my career?

Your options are:

  1. Persuade your teammates to accept your proposal

The most persuasive form your proposal can take is a solid business case: these are our costs, these are our revenue streams, here is how we can reduce such-and-such cost and/or introduce a new revenue stream, here are the risks involved in doing so, and here is the evidence that these risks are manageable.

This is of course a difficult thing to put together, as level of risk is often subjective, and evidence that's not anecdotal or opinion-based is hard to come by.

And in the end, every organisation has a different appetite for risk, so even the most well-backed-up proposal might be regarded as not worth doing.

  1. Persuade the team's manager to accept your proposal

You say the CEO is "very hands-off", but surely there is someone in a product owner role who tells the team what they need to work on to provide value to the business? Persuade this person. It doesn't necessarily need to be a matter of the manager instructing the other team members to go along with your proposal -- it could be a matter of them giving you the resources to pursue it, perhaps outside of this particular team structure.

Note that a manager who deals with budgets would (in theory) be even more apt to be persuaded by a solid business case, than someone who doesn't.

  1. Change your proposal so that it will be acceptable

If you find it hard to provide solid, objective evidence for all the points of your proposal, you should ask yourself dispassionately how much you yourself are convinced by it. Just because you have a good idea doesn't mean there isn't an even better one you can discover with more research. Listen to objections you receive to your proposal, and see if they can be incorporated to reach a compromise.

  1. Discard your proposal

Clearly, this is not something you want to do, as you perceive it to be damaging your career, but I'm listing it for completeness, since it is an option. If the business is not currently hurting, then improvements to how the business works are not strictly necessary, and, since any proposal for improvement carries with it a risk, don't be surprised if such proposals are rejected. "If it ain't broke", as they say.

You say you'll be "sitting on your hands" again once the next client project is finished. I think it would be reasonable to back off, then try again at that time. You'll probably have learned more about the business by that time and will be able to refine your proposal.

Only you can judge whether quitting after only a few months would look worse or better on your CV than staying and not pushing through as many improvements as you would have liked.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .