yournameplease

joined 1 year ago
[–] yournameplease@programming.dev 3 points 8 months ago

Same thing on my project. Thousands of lines across a few dozen files copied 100+ times. At that point there's almost no going back with everything diverging so long ago.

 

I have about 2 YoE, and I'm sure this changes with more experience.

I often hear this idea online that programmers should follow "just-in-time" learning, meaning you should prefer to learn things you don't know while on the job. ( The way some people talk about it, though, it sounds like you shouldn't dare spend a single minute learning anything new outside of your 9-5. )

This seems generally reasonable advice, especially for simpler things that take a few hours like learning a specific language feature, library, or similar. But when I lean too much on this JIT learning, it feels possibly detrimental.

Many times I do something big and new to me, say, deciding how to approach auth, microservice architecture design, automated testing, containerization, etc., I end up making a big decision after a few hours or days of cursory reading on documentation and blogs, only to come to regret it some months later. At that point, maybe I'll slow down, find a book on the subject, read it, and think, "Oh, darn, I wish I knew that N months ago." It certainly feels like spending more time learning upfront could have avoided mistakes due to lack of knowledge. Though there's no way to go back in time and know for sure.

I'm not asking about any area listed in particular. I feel like, for all of those, I've learned more in the time since, and would probably avoid some of my prior mistakes if I did it again. The question is more: How much do you subscribe to this idea of just-in-time learning? And if you do, how do you know when you've learned enough to be confident, or when you need to slow down and learn in more depth?

My project fits both. It took about a year before this was shown to more than a couple business users. But we still had Scrum sprints and pressure to get items done at the sprint, even with no deployment or demo for feedback.

Sadly not. This post comes after my frustration of this same exact meeting, and now the project is delayed by a nebulous 2-4 (or more?) months. Sounds like I may actually be moving off of it temporarily since it's been pushed so far back, to another, slightly less ambitious project that's getting started. To be determined if I can help this next project go much better.

A big fear I had was that a failed project would reflect poorly on me looking for jobs. But hearing how common dead projects are, I guess it's no surprise that many people go so long not seeing a successful one.

We are reasonably consistent with estimates, but there's this hidden assumption that 1 point equals 1 developer day. So even though we consistently get 20-25 points done per sprint, we typically cram more items to meet that 30 point threshold.

Oh, and of course you may end up dragging items sprint to sprint if they don't get finished.

[–] yournameplease@programming.dev 3 points 1 year ago (2 children)

I admit it's possible the project "succeeds" and gets out the door. My prediction in that case is that we limp along and eventually give up after maintaining it for a while.

I only work my ~40 hours a week. When I did much more than that, I think my output went negative.

I think I learn a lot, at least. The project has a more "modern" stack than the company's other main product. And management/leadership being hands-off means I make a lot of big decisions myself. Many bad decisions, but at least I learn what not to do next time.

High on all fronts on that test, which does not surprise me. Though what you describe sounds worse than what I have. I'm just generally tired and pissed off, despite thinking myself a normally happy guy.

I'll take this as my nudge to put my casual job search into overdrive.

 

Scene: Surprise meeting with the project owner 0-3 days before the go-live date

"Hey team, the business and I have decided to postpone the project release by n=1-3 months because [they aren't ready for it / it isn't finished /regulatory reasons]. And since we have some extra time now, we can tie up all the loose ends on this project (i.e., 'we've added n+1 months worth of backlog items to the MVP')."

I'm still a greenish dev, so maybe this is normal, but I've had the same story going on for over a year now, and it's really starting to burn me out. In the beginning, I was optimistic. Now I just hope for the project to fail, or me to get off somehow, but this thing just won't die.

Anyone with experience on similar projects able to share words of advice? Do they ever end up working out? Seems there's a death spiral, since we are always rushing to a deadline, forgoing tests and quality but never cleaning up our mess because we're already behind. Yet I somehow feel like I'm the crazy one for thinking this 6-month "quick" side project turned 2+ year half-rewrite will have trouble meeting it's Nth deadline.