[-] yournameplease@programming.dev 2 points 4 months ago

Who’s sped up by your automated tests are your team members and you-in-three-months.

Definitely true. I am very thankful when I fail a test and know I broke something and need to clean up after myself. Also very nice as insurance against our more "chaotic" developer(s).

I've advocated for tests as a team effort. Problem is just that we don't really have any technical leadership, just a hands-off EM and hands-off CTO. Best I get from them is "Yes, you should test your code." ...Doesn't really help when some developers just aren't interested in testing. I am warming another developer on my team up to testing, so at least I may get another developer or two on the testing kick for a bit.

And as for management rating me... I don't really worry too much. As I mentioned, hands off management. Heck, we didn't even get performance reviews last year.

[-] yournameplease@programming.dev 2 points 4 months ago

another team was developing the next best thing under management guidance (so it would become the next monolithic legacy code)

Pretty much what my team is doing. No need to spend time improving the old system when this one will replace it so soon, right? (And no, we will not actually replace anything anytime soon.)

[-] yournameplease@programming.dev 1 points 4 months ago

We ~~have~~used to have a scrum master so we're already agile! /s

They want those things, sure, but I think it would take multiple weeks of dedicated work for me to set up tests on our primary system that would cover much of anything. Big investment that might enable faster future development is what I find hard to sell. I am already seen as the "automated testing guy" on my (separate) project, and it doesn't really look like I'm that much faster than anyone else.

What I've been meaning to do is start underloading my own sprint items by a day or two and try to set up some test infrastructure in my spare Fridays to show some practical use. But boy is that a hard thing to actually hold myself to.

[-] yournameplease@programming.dev 1 points 4 months ago

especially if the code has been written in a way that makes it difficult to write a robust test.

I definitely deserve a lot of blame for designing my primary project in making hard to test. So, word to the wise (though it doesn't take a genius to figure this out), don't tell two fresh grads and a 1 YoE junior to "break the legacy app into microservices" with minimal oversight. If I did things again, I still think the only sane decision would be to cancel the project as soon as possible. x.x

I actually was using a mock webserver with the expected request/response, which sounds like what you're getting at. Still felt fiddly though and doesn't solve the huge mock data problem which is more an architecture design failing.

I've mostly gotten away from testing huge methods with a seemingly arbitrary numbers in favor of testing small methods with slightly less arbitrary numbers, which feels like a pretty big improvement.

How are you gonna get good at it if you don’t do it! :D

True. :)

[-] yournameplease@programming.dev 1 points 4 months ago

The combination is bad.

I'm not really sure what there is to do about that, then. My own project is already is about to hit 3 years on something that was intended to be <1 year total, due to constant scope creep. Nothing bad seems to ever come out of the delays though, so I tend to ignore most of the complaints.

If you see it as an argument

I don't really see it as that. "Discussion" is more what I try to do. But you are correct that I don't think I can argue on their terms.

are you sure you understand what they value and prioritize

Probably not exactly, but my point is that the priorities technical leadership says we value (quality, scalability, fast iterations), run counter to what we actually prioritize. I often ask why we prioritize Project X over Project Y and the answer is almost always a variation of:

  • "We can't let IT be the reason the Project X is late."
  • "The business thinks we've been working on Project X a long time (often not true) so we need to show progress."
  • "Project X was promised for Release Z so it needs to get done over anything else."

Which is why I said our priorities are more about appearing busy and important than anything else. (My own project isn't even wanted by most business users. It was spearheaded by the VP of IT as a huge technical modernization effort despite doing almost nothing to improve or get away from the legacy system it is "replacing".) So I think the reason I have such trouble getting buy-in is that better testing runs counter to IT's true priorities, even if it provides business value.

[Trust] might be eroded down due to the consistent failure to meet estimates.

Perhaps. But trust is already pretty darn low for that very reason.

[-] yournameplease@programming.dev 1 points 4 months ago

like they insist on having testing even when the value of it the way it’s being implemented is a little debatable

I started to feel like I was this guy when I asked someone to test their code after multiple sprints of being sent back from QA. Good to hear I'm not the crazy one, I guess.

[-] yournameplease@programming.dev 2 points 4 months ago

Perhaps it's just part of being somewhere where tech is seen as a cost center? Technical leadership loves to talk big about how we need to invest in our software and make it more scalable for future growth. But when push comes to shove, they simply say yes to nearly every business request, tell us to fix things later, and we end up making things less scalable and harder to test.

It feels terrible and burns me out, but we never seem to seriously suffer for poor quality, so I thought this could be all in my head. I guess I've just been gaslit by my EM into thinking this lack of testing is a common occurrence.

(A programming lemmy may not be a terribly representative sample, but I don't see anyone here anywhere close to as wild west as my place.)

[-] yournameplease@programming.dev 1 points 6 months ago

Pretty sure the company was just meaning a LinkedIn clone to "just" be a basic profile upload. Which is probably not that much more than your Twitter clone, just a few extra DB tables.

Still sounds unreasonable for an intern for sure. But I'm sure a few desperate or skilled people would be able to get something meeting the rough requirements.

[-] yournameplease@programming.dev 2 points 6 months ago

Full stack is a broad term. As an intern, I changed some font colors and also wrote a couple of backend scripts. That counts as full stack in my book.

[-] yournameplease@programming.dev 1 points 6 months ago

Thanks for the response. I agree that the project's big boss has an impressive ability to BS on the greatness of our project, and it may be enough to push the project past the finish line.

It seems you put a lot of weight on the project's "triumph." If the project fizzles out or fails spectacularly, does that not make you more of "the fool who couldn't do it and didn't know when to quit?" I don't think I'd hold it against my coworkers for leaving if they think it would improve their situation. (And doesn't a sound project plan account for the fact that you may lose people every so often?)

Interesting note about small job market though. I only have a ~20 person IT department without much churn so it feels quite small to me still. How do you see this reputation spreading? Just the diaspora of former coworkers is wide enough that most/many companies tend to have someone who knows / has heard of you?

[-] yournameplease@programming.dev 2 points 6 months ago

Yes, considering it as a paid education always helps. I don't really think of anyone here as a mentor, so I usually have to study on my own to learn what I need, and I still tend to regret most design decisions I make. And there's just that looming feeling that everything I've worked on is ultimately worthless. But I guess all of this is just part of the software development job, ha.

Interesting that you say jumping damages the personal image, since it seems what most others here advocate. This job gives me good perspective, so I still wouldn't want to go elsewhere without convincing myself that it's a meaningful improvement.

[-] yournameplease@programming.dev 2 points 6 months ago

I agree that I tend to enjoy my personal projects far more than anything at my company. My typical problem is that I burn out quickly once I get really into anything long term. And frustratingly, I tend to want to work my own projects most when my work gets most stressful.

I guess it's just hard not to get attached to something you spend so many hours working (and unintentionally thinking) of. But this sounds wise advice.

view more: ‹ prev next ›

yournameplease

joined 6 months ago