Software Dev - Care...
 

  You don't need to be an 'investor' to invest in Singletrack: 6 days left: 95% of target - Find out more

[Closed] Software Dev - Career Direction

65 Posts
26 Users
0 Reactions
112 Views
Posts: 3351
Full Member
Topic starter
 

I recently went for a promotion at work but didn't get it. I won't go into detail on that but it's made me wonder if I should not only look elsewhere but also seek to change what I'm working on.

My day to day job has been working with Java on backend web services for customer management systems. There have been some interesting projects, starting from the ground up but it's starting to get a bit repetitive. Also in my current job, we're developing things at such a pace now that the code quality and reuse-ability has hit rock bottom.

I think what I'm looking for is greater complexity at a slower pace, and something more data or algorithm based. In what I do now, everything is a String or an object containing fields of Strings. These are passed between services, then outputted or persisted. I think the most complex thing we do is parse a date and work out if we're currently before or after it. At uni, I used Matlab to implement algorithms to model acoustics! Something in between would be good.

Anyone have any thoughts on what sort of jobs I could look for, and which sectors these are more likely to exist in? Finance sector perhaps? Should I learn Python? I could probably pick it up quickly


 
Posted : 23/04/2021 9:54 pm
Posts: 3351
Full Member
Topic starter
 

Quite ironically, this post is failing to appear in the Chat forum.....

EDIT: Adding this reply made it appear...


 
Posted : 23/04/2021 10:43 pm
Posts: 1454
Full Member
 

Also in my current job, we’re developing things at such a pace now that the code quality and reuse-ability has hit rock bottom.

This is kind of your own fault. You write the code. If it's bad then you should have told your manager it would take longer.

Should I learn Python?

I don't think this is the right question. If you apply for a company that do exclusively python it would probably be a good idea to read about it. But it won't take more than a month or so to pick up any language given you know java. If a company dismisses you outright because you don't know language X then I would probably avoid them. I write C++, Typescript, Python, Rust most days in my job. Not an expert in any of them and usually get pulled apart in code reviews by people more familiar but it doesn't take long to pick them up and be able to contribute some code.

Anyone have any thoughts on what sort of jobs I could look for

Have you tried applying to any of the bigger companies? It's not for everyone, but I work for one and they pay alright and I work on lots of interesting problems in a constantly changing environment. I should say, most of the time I'm working with

a String or an object containing fields of Strings

But every now and again there is something fun to design.

By the way, it's not unusual to be a bit annoyed after being declined a promotion. Did you get good feedback and is there a clear path to you getting accepted next time?


 
Posted : 23/04/2021 11:48 pm
Posts: 5686
Full Member
 

Where are you based and how willing are you to move/travel. There are remote only companies out there but they are more limited than people imagine.

Depending on your level and your interests there are loads of companies you could work for, you may often find the work boils down to implementation of libraries which leaves you with the string parsing input and output though.

It sounds to me like you are more interested in writing experimental, or exploratory code, as when it comes to implementation of an algorithm, you can usually just find where someone else has already done this.


 
Posted : 24/04/2021 7:32 am
Posts: 3091
Full Member
 

Data science / analytics? Where I work those guys seem to have the most fun playing with data to see if they can turn it I to useful things


 
Posted : 24/04/2021 7:39 am
Posts: 6603
Free Member
 

I'm not an IT person but my wife is. As above some of the bigger companies, particularly the consultancies might offer more varied work over time. I think delivery demands are going to be common in any job though.

My understanding is the the culture reflects the industry. So finance would be more pressured.

My wife now works for the civil service, project managing things to do with robotics, ai and data analytics. It sounds interesting. It's new so developing fast and often has a positive meaningful impact.

Coding is a good skill to have right now. Lots of work out there. I'd do some research and think about the good and bad boys of your job and take the plunge and move.


 
Posted : 24/04/2021 7:45 am
Posts: 4985
Free Member
 

Plenty of perm or contract opportunities in the public sector and the pay/benefits is reasonable. Perhaps more importantly, the focus is generally more about sustainable pace and not compromising on quality or building a load of tech debt.


 
Posted : 24/04/2021 8:14 am
Posts: 401
Free Member
 

Have a look at Apache Spark which might fit your skill set. If I were you I’d probably look at a Fintec startup who may forgive the lack of analytics track record for the coding experience.


 
Posted : 24/04/2021 8:22 am
 5lab
Posts: 7921
Free Member
 

I'm hiring jvm devs at the moment in the South East (financial services). No complex modelling, but the platform we're building from scratch will be chunking through over a billion transactions per year once its fully rolled out, all of which need guarantees for consistency and reliability.

There are interesting problems that aren't just involving modelling 🙂


 
Posted : 24/04/2021 8:46 am
Posts: 9539
Free Member
 

Niaive post of the year goes to:

This is kind of your own fault. You write the code. If it’s bad then you should have told your manager it would take longer.


 
Posted : 24/04/2021 9:01 am
Posts: 1226
Full Member
 

Some of the more complex things I've worked on have been Linux Kernel patches: at least in terms of the complexity of the environment if not the patch itself!

And more generally, OSS can be good from a code review and quality perspective. I'm not saying this is 100% true across the board, but certainly for larger projects like the kernel the bar for contribution is pretty high.


 
Posted : 24/04/2021 9:08 am
Posts: 3351
Full Member
Topic starter
 

Also in my current job, we’re developing things at such a pace now that the code quality and reuse-ability has hit rock bottom.

This is kind of your own fault. You write the code. If it’s bad then you should have told your manager it would take longer.

Not my code 😄 nor any code I let through a review. It's what others have done or allowed to be merged where I'm seeing the rubbish.
EDIT: Also there has been an occasion where I refused to approve a merge because it was completely the wrong approach, even though (the more experienced) dev was saying they would fix it in tech debt afterwards. They just found someone else to approve it in the end I think.

By the way, it’s not unusual to be a bit annoyed after being declined a promotion. Did you get good feedback and is there a clear path to you getting accepted next time?

Well, I wasn't going to go into the detail. But essentially I'm already doing the job at that level (senior), including line management. Feedback has been very poor. A vague development plan has been produced, which is just the job spec rewritten. No specific areas highlighted that I need to work on.


 
Posted : 24/04/2021 10:29 am
Posts: 3351
Full Member
Topic starter
 

There are interesting problems that aren’t just involving modelling

Definitely. I liked the projects where we started from scratch. Migrating from or integrating with legacy systems is a good challenge too.


 
Posted : 24/04/2021 10:35 am
Posts: 3351
Full Member
Topic starter
 

My understanding is the the culture reflects the industry. So finance would be more pressured.

From what I gather, it's very slow paced as compliance is obviously huge. Former colleagues have gone to that sector then moved on again shortly as they were bored.


 
Posted : 24/04/2021 10:39 am
 dazh
Posts: 13182
Full Member
 

I've grown to despise the software industry, in particularly web development. Unfortunately it pays well and it's too late to do something else, so it appears I'm stuck in an environment where developers write massively over-engineered code to levels of perfection and scalability which are simply not required for the projects I'm working on.  The result being that the clients pay 10 times more than they need to, all to line the pockets of software engineers, scrum masters and all the other related hangers on making a mint by doiing stuff that's not really necessary. I've come to see it as rather immoral.


 
Posted : 24/04/2021 10:54 am
Posts: 5686
Full Member
 

scrum masters and all the other related hangers on making a mint by doiing stuff that’s not really necessary

Some of us are useful, some just add overhead I'll accept, but if you've never worked with a good one you've never seen the benefits.


 
Posted : 24/04/2021 11:40 am
Posts: 4985
Free Member
 

scrum masters and all the other related hangers on making a mint by doiing stuff that’s not really necessary

Yeah, just let the devs crack on - what could possibly go wrong 🤣


 
Posted : 24/04/2021 12:20 pm
Posts: 7169
Full Member
 

My understanding is the the culture reflects the industry. So finance would be more pressured.

From what I gather, it’s very slow paced as compliance is obviously huge. Former colleagues have gone to that sector then moved on again shortly as they were bored.

Correct. As a bank the price of getting something wrong isn't just monetary, it could be reputation damage or regulatory censure.

I work in international payments. We have 4 releases a year, I have my releases planned out to q4.2022 (obviously with scope for urgent work left in). It's glacial compared even to fintechs or e.g. something like booking.com


 
Posted : 24/04/2021 1:49 pm
 poly
Posts: 8699
Free Member
 

This is kind of your own fault. You write the code. If it’s bad then you should have told your manager it would take longer.

Even if he had written that code or scoped how long it would take I don’t think this is his own fault. It’s a company culture thing - and it’s not necessarily even wrong, if the next big thing in s/w will result in a massive rewrite in 2 yrs time anyway why make code that’s perfect today.

Should I learn Python?

I don’t think this is the right question. If you apply for a company that do exclusively python it would probably be a good idea to read about it. But it won’t take more than a month or so to pick up any language given you know java. If a company dismisses you outright because you don’t know language X then I would probably avoid them. I write C++, Typescript, Python, Rust most days in my job. Not an expert in any of them and usually get pulled apart in code reviews by people more familiar but it doesn’t take long to pick them up and be able to contribute some code.

The question is, if you were a company doing interesting algorithm stuff using say python, why would you waste your time on a candidate with no experience doing the relevant stuff with the languages you use? Especially if you are hiring senior people. I only consider people with no relevant language experience if we have exhausted the other options - lack of prior knowledge leads to people writing crap code like you have said you do, and in small teams at least (or potentially anywhere with time pressure) that gets merged and creates exactly the issues the OP wants to avoid.

So I’d say yes, go learn some Python, do a personal project to prove you know enough rather than read a book on it. Learning a new language is never wasted, and helps you understand the limitations/benefits of different options. If you only have a hammer everything looks like a nail. If you only know Java everything seems like it should be solved in Java.

If you really want to do clever algorithm stuff I’d actually say consider C++ it’s where the grunt stuff actually gets done (or C) and not as sexy so IMHO likely to be both a more quality focussed solution and potentially well paid.

If you really want to do quality development consider medical devices or aviation - but be prepared to be frustrated at the paperwork to make a change!


 
Posted : 24/04/2021 4:13 pm
Posts: 5055
Free Member
 

I was a Programmer (COBOL, CICS COBOL, Easytrieve II and Natural Adabas plus wrote our own JCL) in the 80's, looks like nothing has changed...


 
Posted : 24/04/2021 5:46 pm
Posts: 981
Free Member
 

I’ve grown to despise the software industry, in particularly web development. Unfortunately it pays well and it’s too late to do something else, so it appears I’m stuck in an environment where developers write massively over-engineered code to levels of perfection and scalability which are simply not required for the projects I’m working on. The result being that the clients pay 10 times more than they need to, all to line the pockets of software engineers, scrum masters and all the other related hangers on making a mint by doiing stuff that’s not really necessary. I’ve come to see it as rather immoral.

start your own business and undercut them then 😉


 
Posted : 24/04/2021 6:01 pm
Posts: 12072
Full Member
 

From what I gather, it’s very slow paced as compliance is obviously huge. Former colleagues have gone to that sector then moved on again shortly as they were bored.

Depends massively on the project. I work in IT for a big Spanish bank, and the projects vary a lot - I'm currently working on a risk management tool, which has no particular compliance or regulatory requirements, and we can move quite fast (and occasionally break things). Work on something that's processing credit card details online and the pressure to get it right, first time, is considerably higher 🙂

We also have a massive range of technology, from legacy Cobol systems to the latest and greatest Scala/Spark stuff doing big data analysis etc.


 
Posted : 24/04/2021 6:39 pm
Posts: 1130
Free Member
 

Join one of the big consultancies. You’ll get a much better variety of work and experience than you’ll ever get working for an end user company. You’ll also get much more opportunity to learn different tech.


 
Posted : 24/04/2021 6:43 pm
Posts: 13594
Free Member
 

If you really want to do clever algorithm stuff I’d actually say consider C++ it’s where the grunt stuff actually gets done (or C) and not as sexy so IMHO likely to be both a more quality focussed solution and potentially well paid.

Surely you want to join a company where there is a need to develop clever algorithms. The language is pretty irrelevant as in you could learn all the C++ you want but if all the application requires is basic string manipulation, that's all you're ever going to do...

NB I develop all sorts of clever algorithms in VBA, mainly as no one writes any libraries to do anything in VBA, so I get to develop everything from scratch. Absolutely love it.


 
Posted : 24/04/2021 6:54 pm
Posts: 3351
Full Member
Topic starter
 

@footflaps that's my thinking, finding a sector or company where I'm going to find the stuff that interests me.

Join one of the big consultancies

I've seen interesting jobs with consultancies. I'm slightly wary of them though. They would be great for getting exposure to different projects but if the delivery is not well managed it could be hellish.


 
Posted : 25/04/2021 9:22 am
Posts: 13594
Free Member
 

I’m slightly wary of them though.

They also charge by the hour, so have no incentive for simple solutions. An ex-colleague who went to work for a well known Cambridge consultancy left after a year. He was absolutely slating them for just stuffing projects with programmers and having very low productivity as the motivation was to maximise chargeable hours. He said he'd never seen so many people achieve so little.....


 
Posted : 25/04/2021 11:44 am
Posts: 1130
Free Member
 

While consultancies do charge by the day, and yes, they want to maximise billable hours, it’s rare to have an open ended time and materials project. Most projects are either T&M with a cap based on estimated effort. Or fixed price. And if it’s fixed price they’ll go to extraordinary lengths to be efficient.

Unless it’s IBM or Accenture, they’ll just start writing change requests 🙂


 
Posted : 25/04/2021 3:32 pm
Posts: 4985
Free Member
 

Most projects are either T&M with a cap based on estimated effort. Or fixed price.

Depends on the client - many Gov contracts using GDS are time and materials. It’s good to see the realisation that trying to precisely estimate cost is generally a waste of everyone’s time and effort.


 
Posted : 25/04/2021 5:01 pm
 poly
Posts: 8699
Free Member
 

Surely you want to join a company where there is a need to develop clever algorithms. The language is pretty irrelevant as in you could learn all the C++ you want but if all the application requires is basic string manipulation, that’s all you’re ever going to do…

That approach could work if you happen to fall into a company that is doing the sort of algorithm development you find interesting, and that has a shortage of people with relevant prior experience but it’s not a strategy for finding a career doing it. Picking up a language where clever stuff routinely gets done is more likely to find you a way into doing the clever stuff. It’s less likely you’ll end up doing string manipulation in C++ because it’s quite painful to do compared to something like python.

But of course there are no single routes to a particular destination but some might be easier than others.


 
Posted : 25/04/2021 5:54 pm
Posts: 91000
Free Member
 

And if it’s fixed price they’ll go to extraordinary lengths to be efficient.

If by efficient to mean cut every possible corner both in terms of implementation and obtaining quality staff with appropriate skills, then I agree.


 
Posted : 26/04/2021 8:34 am
Posts: 2086
Free Member
 

all to line the pockets of software engineers

Probably the funniest thing I've read all year ...


 
Posted : 26/04/2021 9:09 am
 dazh
Posts: 13182
Full Member
 

Probably the funniest thing I’ve read all year …

He said he’d never seen so many people achieve so little…..

When you see a team of software engineers having endlessly protracted technical debates about how best to implement a simple task like pulling some data from a database and storing it somewhere in the app, you quickly come to the conclusion that they're not really focused on providing value for money. 🙂


 
Posted : 26/04/2021 10:00 am
Posts: 91000
Free Member
 

When you see a team of software engineers having endlessly protracted technical debates about how best to implement a simple task like pulling some data from a database and storing it somewhere in the app, you quickly come to the conclusion that they’re not really focused on providing value for money.

Actually most do understand this. It's the PM's that don't. They say things like "Can't you just do it the simple way?" Well, yes, we can, but if you don't want it to bite you or us in the arse in a few years' time, then you have to do it right.

MOST technologies in software exist to promote simplicity, maintainability, consistency and re-use; this is also major feature of software education and training. If you choose the right one and use it right then you will get these benefits. A great many instances of poor choices that lead to problems down the line are a result of PMs or management putting pressure on devs (either directly or with short timescales) to 'just get on with it'.


 
Posted : 26/04/2021 10:11 am
Posts: 4985
Free Member
 

A great many instances of poor choices that lead to problems down the line are a result of PMs or management putting pressure on devs (either directly or with short timescales) to ‘just get on with it’.

The thing is Molly, down the line means different things to different people. It's quite nice when the software can be delivered whilst the business need or opportunity still exists.

And in many cases, you only really know if it satisfies the business need until it's shipped.
And the coding used to be the most expensive part of the dev cycle so you wanted to get it right - that's no longer the case, UCD is.
JUST SHIP IT FFS

😉


 
Posted : 26/04/2021 10:19 am
 timf
Posts: 137
Free Member
 

I used to be team manager for a large team of 40 software developers, working across multiple technologies and clients.

In my experience some developer thrive whilst staying on one project, and others need and/or benefit from 'the kick' of being taken out of their comfort zone and dropped in to a new situation which might be new project, new technology or different responsibilities (or sometimes all three). The best setting for growth is one that gives these opportunities outside a rigid promotion process. Those who growth their skills fastest, look out for stuff they have not done before and say,' have found out about that' / 'I can find out about that' 'I can take care of that'....

If you current situation does not offer that, then time to move on.

When hiring private learning outside the workplace was always a very positive thing when considering a candidate. Frequently new role will not be exact match for old role, so track records of self staring learning is a good sign.


 
Posted : 26/04/2021 10:43 am
Posts: 91000
Free Member
 

The thing is Molly, down the line means different things to different people. It’s quite nice when the software can be delivered whilst the business need or opportunity still exists.

Believe it or not, devs are also capable of understanding this incredibly refined point.

Managers, on the other hand, are often NOT capable of understanding the issues that the devs are talking about and because of this consider them unimportant.

Sometimes there just isn't enough time to do a good job. This usually isn't devs' fault (although sometimes it is) but they always get the blame.


 
Posted : 26/04/2021 10:51 am
Posts: 4985
Free Member
 

Sometimes there just isn’t enough time to do a good job. This usually isn’t devs’ fault (although sometimes it is) but they always get the blame.

There can be a disconnect between the understanding of good.
Pareto, Perfect is the Enemy of Good etc. etc.


 
Posted : 26/04/2021 10:54 am
Posts: 2086
Free Member
 

When you see a team of software engineers having endlessly protracted technical debates about how best to implement a simple task like pulling some data from a database and storing it somewhere in the app, you quickly come to the conclusion that they’re not really focused on providing value for money.

Yeah because the engineers are in it just to fund their second homes and offshore bank accounts 🙄


 
Posted : 26/04/2021 11:14 am
Posts: 7656
Full Member
 

When you see a team of software engineers having endlessly protracted technical debates about how best to implement a simple task like pulling some data from a database and storing it somewhere in the app,

Which isnt necessarily simple. Quite a lot of my time recently has been taken up with that simple task when the performance of the site was absolutely appalling and uprating the servers could only go so far.
In my experience the web devs dont tend to spend enough time thinking about that sort of thing as opposed to finding the latest oversized framework to plug in.


 
Posted : 26/04/2021 11:24 am
 Aidy
Posts: 2941
Free Member
 

EDIT: Also there has been an occasion where I refused to approve a merge because it was completely the wrong approach, even though (the more experienced) dev was saying they would fix it in tech debt afterwards. They just found someone else to approve it in the end I think.

Well - it depends a bit, sometimes it's pragmatic to accept the tech debt and fix it later. Experienced devs should be able to talk people around to that though, rather than just throwing at enough people that someone will say yes.


 
Posted : 26/04/2021 11:25 am
Posts: 4985
Free Member
 

Well – it depends a bit, sometimes it’s pragmatic to accept the tech debt and fix it later.

+1


 
Posted : 26/04/2021 11:44 am
Posts: 91000
Free Member
 

sometimes it’s pragmatic to accept the tech debt and fix it later

Lololol. "Fix it later" hahaha...

It won't be fixed later, EVER. Because it'll get too difficult and expensive to re-do something and people will be asking for the next thing.

There can be a disconnect between the understanding of good.
Pareto, Perfect is the Enemy of Good etc. etc.

Again, most devs understand this (because it really isn't hard to understand). The problem is that managers don't understand WHY something is important, so they just assume you're being nerdy and obsessing over some detail. Good devs understand why something is important but managers and management just don't bloody well listen.

Because (and this is something I'm quite sore about) people don't respect techies in this country, because of exactly what's being said on this thread. They think we're just being nerds and we don't get the issues, so they don't listen. This is a massive problem in IT and it leads to most projects turning out shit. We can't have a good IT industry unless people start taking the knowledge and skills seriously.


 
Posted : 26/04/2021 12:13 pm
 dazh
Posts: 13182
Full Member
 

The problem is that managers don’t understand WHY something is important, so they just assume you’re being nerdy and obsessing over some detail. Good devs understand why something is important but managers and management just don’t bloody well listen.

Well I've been a dev and a manager, and now a dev again (bit of both depending on the project). If I had a penny for every time a dev tried to bullshit me with tech-speak about why someothing is going to take ten times longer than it should I'd be retired by now. A lot of junior devs in my experience seem to think their jobs are basically just an extension of their computer science studies. Now obviously I'm not against learning, quite the opposite, but there has to be a balance between delivery and spending huge amounts of time on stuff that's pretty inconsequential.


 
Posted : 26/04/2021 12:33 pm
 Aidy
Posts: 2941
Free Member
 

Lololol. “Fix it later” hahaha…

It won’t be fixed later, EVER. Because it’ll get too difficult and expensive to re-do something and people will be asking for the next thing.

Again, it depends. Pragmatic is kinda important - no point holding out for a perfect solution if the company will go under in less time than it would take to implement it.

But yeah, you often do get stuck with crap and good intentions if you're not proactive about it. Also need to be able to recognise tech debt that you can pay off vs. tech debt that you'll be stuck with forever.


 
Posted : 26/04/2021 12:37 pm
Posts: 981
Free Member
 

Again, it depends. Pragmatic is kinda important – no point holding out for a perfect solution if the company will go under in less time than it would take to implement it.

I argue here that sometimes the quick way is the right way, and futhermore some 'high quality' code that has been written with great care can exhibit some of the same maintaince issues that you'd normally associate with scrappy tech tebt


 
Posted : 26/04/2021 12:42 pm
Posts: 981
Free Member
 

anyway back on topic @OP, congrats, you have one of the most in demand skills in the job marketplace. Once your figure out what exactly it is you are looking for you shouldnt have to compromise on much other than location perhaps (some gigs are mostly / only found in certain cities). If one lot arent offering what you want, keep moving on until you find the outfit that does. So many devs massively underestimate their value.


 
Posted : 26/04/2021 12:44 pm
Posts: 4985
Free Member
 

@molgrips - get back in your corner! 😉


 
Posted : 26/04/2021 2:06 pm
Posts: 7656
Full Member
 

It won’t be fixed later, EVER.

Thats not always true. Sometimes you have to fix it at massive expense and effort since it was such a poor design that performance is completely destroyed and the only option is to rebuild it.
Shame its now probably twenty times more work but hey the scrum master got to tick some little box and feel like they contributed.


 
Posted : 26/04/2021 2:16 pm
Posts: 91000
Free Member
 

but there has to be a balance between delivery and spending huge amounts of time on stuff that’s pretty inconsequential.

Again, any dev with a bit of experience or intelligence can see that because it's blatantly obvious.

So many devs massively underestimate their value.

See my earlier comments - it's cos no-one respects the techies. Even if they pretend to build you up with 'rockstar' appellations they still think you're an annoying nerd and overrule your concerns. If I had a quid for every time I've had this conversation I'd be several hundred quid better off:

PM: How long is this job going to take?
Dev: Well, I really can't tell at this stage. There are a lot of unknowns, X, Y, Z etc.
PM: Yeah but how long is it going to take?
Dev: FFS weren't you just listening? I don't know!
PM: You must have some idea.
Dev: If I had all the information I might, but given the unknowns we really won't know until we try.
PM: But I need a number for my spreadsheet.
Dev: Well, if all these other things weren't problems, and it's a big if, I'd expect it to take something like 4 weeks but it might take two months, or if we uncover something weird it could take much more than that.
PM: Great, thanks, I'll put 4 weeks in.
...
Boss: Hi PM, how's the project coming?
PM: It's going to take four weeks, so then we can do the rollout.
Boss: Great, I'll tell the customers.
...
PM: Hey, Dev, it's three weeks later, are you nearly done?
Dev: Oh gosh no, it all blew up in our faces and there was a ton of stuff no-one had discussed. It's going to take ages.
PM: But.. you said it'd be done in 4 weeks!
Dev: No, if you recall, I said I didn't know, and you made me say 4 weeks and I warned you of the risks.
PM: But, I don't understand... how can..
Dev: (interrupting) No, you don't understand, not at all. (goes off in huff)

In this scenario, the dev isn't part of planning, and their protestations are considered noise rather than real concerns. Because the PMs and the bosses don't respect the techies.


 
Posted : 26/04/2021 2:53 pm
Posts: 91000
Free Member
 

Thats not always true. Sometimes you have to fix it at massive expense and effort since it was such a poor design that performance is completely destroyed and the only option is to rebuild it.

Oh yes, I had this conversation.

Customer techie: I've got this great clever solution.
Me: Yeah that looks cool to us techies, but it's going to be a ball-ache and will be slow.
CT: Nah it'll be fine.
Me: No it won't.
Expert in field: No this is a crap design, it'll be really really slow, product is not meant to be used this way even though it looks like a good idea.
CT: Nah it'll be fine.
...
CT: Er, we only get half a transaction per second. Please halp.

That wasn't even PMs vs techies, it was cocky young techie vs older more experienced and even older highly experienced expert. Also happened surprisingly often. And people wonder why software is always so shit.


 
Posted : 26/04/2021 2:57 pm
Posts: 981
Free Member
 

See my earlier comments – it’s cos no-one respects the techies. Even if they pretend to build you up with ‘rockstar’ appellations they still think you’re an annoying nerd and overrule your concerns.

Yeah....given how there are so many more dev jobs than devs atm, there's no need to tolerate this kind of nonsense anymore. Find a team that's engineering led!


 
Posted : 26/04/2021 3:15 pm
Posts: 3351
Full Member
Topic starter
 

EDIT: Also there has been an occasion where I refused to approve a merge because it was completely the wrong approach, even though (the more experienced) dev was saying they would fix it in tech debt afterwards. They just found someone else to approve it in the end I think.

Well – it depends a bit, sometimes it’s pragmatic to accept the tech debt and fix it later. Experienced devs should be able to talk people around to that though, rather than just throwing at enough people that someone will say yes.

I completely understand your point. In this specific case, I talked them through the right solution. It was no more complex than their original solution. It required a new endpoint to take in a list of search parameters, rather than their solution of calling the existing endpoint multiple times with a single parameter, then adding some horrible exception handling. They had the scope to change both the client and the service. All changes were non-breaking as it was new functionality. Their solution may have hidden real system issues so it definitely wasn't one to be fixed later.

The dev was rushing to get the change deployed because they wanted to generate a json payload in a development environment, which someone else was waiting on for their bit of dev work. That's also bonkers. The payload shape should be specified by design and is not just what the system generates! The dev was also unaware that they could have mocked certain calls and made it all work.


 
Posted : 26/04/2021 3:29 pm
 Aidy
Posts: 2941
Free Member
 

If I had a quid for every time I’ve had this conversation I’d be several hundred quid better off

My favourite is "Your project is TWO YEARS LATE!" "Right, but... it's only been my project for two weeks - it might be two years late, but that's your scheduling. I can try adding 'build a time machine' to the backlog?"


 
Posted : 26/04/2021 3:32 pm
Posts: 4954
Free Member
 

This thread is perfect example of why programming as a job is crap once you are mid level or above!

OP where do you want to end up? Would you like to go into an agreement and is software the area you would like to manage, is software a way to earn money for the time being? (If so just do what pays best), is software something you want to be doing as an employee when you're 55?


 
Posted : 26/04/2021 3:36 pm
 Aidy
Posts: 2941
Free Member
 

Also:

"You said this project would be one month, and instead it took two. wtf?"

"I said it would be one month with a team of three people. I kept asking for the extra people, but you kept brushing me off. I did it by myself in two months. By my reckoning, that means you got it considerably under budget."

"That doesn't matter, you said it would be one month. You need to justify why it took so much longer."


 
Posted : 26/04/2021 3:38 pm
Posts: 7656
Full Member
 

Even if they pretend to build you up with ‘rockstar’ appellations they still think you’re an annoying nerd and overrule your concerns

Fortunately where I work we still have some technical managers who do listen and most of the senior program managers also do. The scrum masters etc dont but I normally just ignore them in return since I am in the position at the moment of working across several teams they get confused and give up.
One of my favourite conversations with a PM went along the lines of:
PM: "We need you to work on this urgent project that a team has been trying to get working for months. Its almost working and just need you to fix a couple of bits and so it will take a week of your time".
Me: "I reckon it will take more than that".
PM: "The team working on it says thats all you need".
Me: "Why am I needed then?"
PM: "?"
Me: "Well if they know how long it will take then they must know the fix. If they dont know the fix they dont know the time".
PM: "We have scheduled a week so thats all it can take".
Me: "sigh"

As it happened I looked at the requirements and then asked where were the requirements since it needed rather more than one paragraph and mentioned just a few possible variations for it. Think it took about six months in the end between them and the client to actually figure out what the requirements should be at which point the entire thing needed rewriting.


 
Posted : 26/04/2021 3:51 pm
Posts: 1130
Free Member
 

PM: How long is this job going to take?
Dev: Well, I really can’t tell at this stage. There are a lot of unknowns, X, Y, Z etc.
PM: Yeah but how long is it going to take?
Dev: FFS weren’t you just listening? I don’t know!
PM: You must have some idea.
Dev: If I had all the information I might, but given the unknowns we really won’t know until we try.
PM: But I need a number for my spreadsheet.
Dev: Well, if all these other things weren’t problems, and it’s a big if, I’d expect it to take something like 4 weeks but it might take two months, or if we uncover something weird it could take much more than that.
PM: Great, thanks, I’ll put 4 weeks in.

This kind of thing boils my piss. Developers and PMs aren't enemies of each other. You're both part of a team that's trying to work together to achieve a goal. The goal being a working piece of software that allows a business to make some money to pay you.

In that situation above, I'd expect my developer to give an honest answer that they don't know, but also give me a plan for how they're going to find out. Shrugging your shoulders and saying you don't know is useless to everyone. If you said "Well, I need a couple of weeks to prove some stuff out, and then I can tell you" at least that's something a PM can work with.

Anyway, I need to get back to my ivory tower with the other architects.


 
Posted : 26/04/2021 3:57 pm
Posts: 1130
Free Member
 

PM: How long is this job going to take?
Dev: Well, I really can’t tell at this stage. There are a lot of unknowns, X, Y, Z etc.
PM: Yeah but how long is it going to take?
Dev: FFS weren’t you just listening? I don’t know!
PM: You must have some idea.
Dev: If I had all the information I might, but given the unknowns we really won’t know until we try.
PM: But I need a number for my spreadsheet.
Dev: Well, if all these other things weren’t problems, and it’s a big if, I’d expect it to take something like 4 weeks but it might take two months, or if we uncover something weird it could take much more than that.
PM: Great, thanks, I’ll put 4 weeks in.

This kind of thing boils my piss. Developers and PMs aren't enemies of each other. You're both part of a team that's trying to work together to achieve a goal. The goal being a working piece of software that allows a business to make some money to pay you.

In that situation above, I'd expect my developer to give an honest answer that they don't know, but also give me a plan for how they're going to find out. Shrugging your shoulders and saying you don't know is useless to everyone. If you said "Well, I need a couple of weeks to prove some stuff out, and then I can tell you" at least that's something a PM can work with.

Anyway, I need to get back to my ivory tower with the other architects.

(Amusing edit)

First time I submitted this post I got this. So I can tell the OP where not to go to further their IT career!

Bad Gateway Error


 
Posted : 26/04/2021 3:58 pm
 dazh
Posts: 13182
Full Member
 

This sums up my views on web development. The only thing that's missing is a load of junior devs demanding 2 days per week to play around with stuff pretending it's 'training'.

https://hackernoon.com/how-it-feels-to-learn-javascript-in-2016-d3a717dd577f


 
Posted : 26/04/2021 4:07 pm
Posts: 13594
Free Member
 

So I can tell the OP where not to go to further their IT career!

I thought 'Move fast and break things', was the new mantra.....

Also, very dissapointed all your bookmark tabs are work related, I only have 1 out of 15 work related!


 
Posted : 26/04/2021 4:18 pm
Posts: 1130
Free Member
 

Oops. That’s kinda given away who I work for. Better behave myself now 🙂

Still, give I post under my real name, it never would have been hard to find out.


 
Posted : 26/04/2021 4:32 pm
Posts: 91000
Free Member
 

In that situation above, I’d expect my developer to give an honest answer that they don’t know, but also give me a plan for how they’re going to find out.

Yes, but the PM needs to ask that question, and lead the discussion and solution. And they also need to be able to manage uncertainty because there is always going to be uncertainty.

A good PM works for the people below and defends against those above. A bad PM works for those above and passes crap down to those below.

Still, give I post under my real name, it never would have been hard to find out.

I always assumed your name is Ben and you work in sales. I never thought that was your real name but now you've told us that too 🙂


 
Posted : 26/04/2021 6:12 pm
Posts: 13594
Free Member
 

Oops. That’s kinda given away who I work for. Better behave myself now

No photos of you on an MTB in Linked In, is dissapoint.

My photo is me doing a handstand on a trig point somewhere. Need to add a bike in with the next one.


 
Posted : 26/04/2021 7:00 pm
Posts: 3351
Full Member
Topic starter
 

UPDATE:

I'm leaving my current job to work elsewhere. Where I'm heading has a good reputation for software engineering and their tech stack is much more interesting than where I am currently. It'll be a bump up in salary too.

The process of applying and interviewing for several jobs was good overall as it helped me work out what I wanted.


 
Posted : 28/05/2021 12:04 am
Posts: 0
Free Member
 

I am 51 and I have been a software engineer for 28 years now. I can't work out if its me that has changed or the whole industry. I used to really love my job, it was innovative and fun. I worked with loads of clever people who I trusted to do a good job and who trusted me.

Now product life spans are so much shorter everyone wants development timescales compressed, there is very little thinking time now. Very little appetite for risk or innovation. Instead of hiring good people we hire mediocre people and try to use the methodology to try and mitigate that, It's tedious.

I am an embedded engineer and I have worked on everything from RADAR and navigation displays, engine management to simpler measurement equipment. Does not seem to be that sexy to young people which is a real shame as it would be great to have some new people with passion and ideas and enthusiasm on board.

Molgrips is right though engineers do understand the business side of it (well most do) they are just fed up with just being asked the same question again when they don't give the answer people want.

It just seems like an industry that sets its self up for failure all the time. Its been 10 years since I was on a project that was on time (in fact it was early) strangely it was a really crap from a commercial point of view. A previous project was 2years late but pretty much single handily turned an £8million turnover company into a £20million one. You can bet which project gets seen as a success in retrospect 🙂


 
Posted : 28/05/2021 11:04 am
Posts: 0
Free Member
 

PM: How long is this job going to take?
Dev: Well, I really can’t tell at this stage. There are a lot of unknowns, X, Y, Z etc.
PM: Yeah but how long is it going to take?
Dev: FFS weren’t you just listening? I don’t know!
PM: You must have some idea.
Dev: If I had all the information I might, but given the unknowns we really won’t know until we try.
PM: But I need a number for my spreadsheet.
Dev: Well, if all these other things weren’t problems, and it’s a big if, I’d expect it to take something like 4 weeks but it might take two months, or if we uncover something weird it could take much more than that.
PM: Great, thanks, I’ll put 4 weeks in.

this sounds like my day and im a product designer.


 
Posted : 28/05/2021 11:27 am

6 DAYS LEFT
We are currently at 95% of our target!