Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
duckWit60001yIt sucks that they seem to have shifted gears on you. If you need that specific job right now then my advice would be to not drop your standards but not be so brazen about it.
In the spirit of Martin Fowler's book Refactoring, implement the code improvements with each individual new feature to be added and each bug that needs fixing. I've never been in a place where management says "use the next couple months to rewrite what we already have even though what we already have makes money". That's a dream that will never be reality.
I feel for you and your situation. I don't think there is one clear answer other than making it happen through your own efforts little by little.
I don't mean to be overly pessimistic but in my experience "some point in the future" is another way of saying "never".
This doesn't mean you can't sit with your manager and lay some concrete plans; I'm just saying that you could be stringed along with "of course we'll do that, but later when we don't have to <excuse>" for years.
So I guess my advice is to get some concrete plan out of your manager, something along the lines of:
1. The new feature X will be unit tested
2. We're putting a high priority task in the backlog of automating the Y thing.
Hope this helps, and good luck.
3. When implementing Z which interacts with Foo, we will refactor Foo because it.... could use some work.
@duckwit Thanks for responding and I entirely agree with you. I was lucky to have worked in a great organisation prior to this one that was genuinely forward thinking, gave developers space to improve the code, learn etc. Sadly the U.K. government reduced their funding and a round of redundancies started to happen, I jumped before being pushed.
I think for now I need to get through the first six months, tone down the rhetoric but quietly start to slowly improve the code base. I was never advocating a full re-write as there would be no love for that but more just a commitment from the team to making improvements. At the moment it looks to me that management are dictating arbitrary deadlines that are often unrealistic with little or no discussion with the development team. I need my manager to fight our corner a little bit to give us the space we need to make those small improvements.
@ihatecomputers thanks for your good advice again, really much appreciated. I pushed them in my meeting on Friday to something more concrete than just “in the future” and asked if that when they delivered the roadmap any consideration had been given to paying down the technical debt. I will reiterate the same words on Monday, try to remain calm and objective as I think I’ve let passion/emotions get the better of me when I was blindsided with the stay or go ultimatum.
I need to give it more time, I feel about 6 months feels a good time frame and if I’ve seen nothing concrete in terms of change then it’s time to re-evaluate.
Thanks again, really appreciated.
That's a great rant!
I feel your pain... I worked for the government for some time and I was in the same dilemma... sort of, anyway... I can see you have bigger responsibilities you need to take care of... me: it's just myself... I couldn't cope with the bureaucracy and absolute lack of knowledge from my management and decided to quit...
But the way I see it, you should keep trying to improve things, little by little even, don't change your perspective about quality and correctness but adjust your approach to a solution... in the long run, your input will be valuable only if you keep it consistent. Try to introduce non-radical changes that are attractive to management and can lead to flexibility in their view of the bigger picture...
Companies are allowed to shoot themselves in the leg and it's a bit pointless to try convince them not to. You can only "recommend" unit tests, just like you can only recommend your aunt not to smoke. If you are too pushy about it, she will stop talking to you.
You can mandate your own quality standards when it is 100% your own company and your own customer.
Wack68881yYou said, that it feels like management just pushes unrealistic deadlines on the devs. Try to tackle the problem that way. When they give you a deadline tell them, that it will take some time with how X is set up currently and ask them to rewrite X which will speed up/streamline development in the future. Then go and refactor X.
OPM466251y4 months ago I was in the same company like you. Managment was interested in output on daily basis.
No use of best coding practices , no use of productive tools like trello or even git.
I stuck with job for 2 years. I am single but before that job I suffered hell financially. So, I had no where to go. So I stick with the worst working environment.
Company has solid foundation means anyone can survive for 15 years least. You know gov job like.
Here is the dark side of it. In such companies people exist who have no talent. They exist because they have taken credit of someone else work.
They survived because of politics. Giving you ultimatum for being too critical is just that. You managment get scared that if your voice get in ears of top managment they could be question.
It's happen jungle kill or be killed. As you have responsibility I suggest stay low, add good thing in project staying low.
On other hand look for other job. As soon as u get change the job.
matste6501yIn software, oldtimers tend to miss how shitty their sofware has become. Even if they are otherwise intelligent people, they don’t understand that the system is fucking hard to be introduced. All the nasty hacks and overengineerings are justified in their heads, while newcomers only see a mess.
That’s why I would advice removing any programmer with more than 5 years experience in a project. Yes, that is painful, but having to introduce new people frequently forces you to create software that follows well established conventions and patterns.
Your job is to be critical. If in any way they want to improve they need to hear things they did wrong.