The general guideline isn't actually an amount: it's 3 - 6 months worth of living expenses. That is, what it takes to cover housing, transportation, food & utilities. If you're "living paycheck to paycheck" that's a problem, because it means 3-6 months worth of paychecks.
Personally, If you're living below your means, I would try to target 6 months to 1 year. Then again, the past 3 years have made me paranoid as hell. Your mileage may vary.
FWIW - I sleep a LOT better knowing I've got a year worth of expenses sitting in a high yield savings account. If I lost my job tomorrow? I'd say fuck it and take at least 4-6 weeks off before bothering to look for a job.
Seattle area is blessed with a wealth of all ages and 21+ barcades. There's a great one less than 5 miles from my house. I've been a pinball fan for years and still play weekly, playing in a local league pre-COVID. About 2 years ago, I saw a machine with my childhood hero that I couldn't pass up buying. A year ago it finally got delivered. I play at home a few times a week. No big issues with the machine other than one dead "flashy" servo that doesn't work and a stuck target that doesn't impact gameplay. I'll get around to fixing them at some point. FWIW - Here's some info on my big toy:
Scrum is training wheels. The time boxes are supposed to make you reflect and improve. Ditch Scrum. Go to Kanban, scope your stories smaller and prioritize bug fixes over all new work until you're not writing bugs. Can't ship code without writing bugs? Improve your skills as a team. Start pair or mob programming. Do TDD to improve your design, testability & maintainability of your code. Start moving towards trunk based development and use feature flags to do REAL CI/CD (hint: using a build server doesn't mean you're doing CI). Code deployment != feature deployment! Strive to "roll forward" your code as much as possible and disable/enable features if you run into problems - learn to not "rollback".
Now of course, since this is HN somebody's going to sneer divisively at everything I just said and tell me it's not possible (despite the fact that I've done this, repeatedly in different organizations in a developer and coaching capacity for almost two decades now). Here's my preemptive caveat/STFU for detractors: the above method only works if you, as developers, have full control & ownership over your application code data, and do your own deployments or are partnered strongly with an OPS team that gives you full monitoring & Read Only access. If your team is working in an environment where you don't actually get ownership over your code and data, this won't work. If management, architects, or egotistical prima donna staff/senior developers "won't let you" pair/mob, do TDD, do trunk based development, or do proper CI/CD, this won't work.
P.S. If you're in an environment where "this won't work" - QUIT! Life's too short to put up with being expected to build software with one hand tied behind your back. These things are often easier to do in medium to small sized companies. These things are often easier to do on greenfield (or at least recent) projects.
No, no. Go right ahead and sink time and money into this sort of crap. Just like every attempt before, it'll generate a pile of garbage that's unmaintainable yet will still manage to poop out ONE single nugget of value: determining what needs to be built after the idiot suits thrashed all around with the 'wonder toy' system. Then, we experienced developers can have a walk in the park while cashing out on contracting rates. Fat stacks of cash simply for replacing exact like-for-like functionality with REAL software and then bring in the extensions the vendor toy systems couldn't. I could do with a nice, easy, early retirement path to pop up in 7 years. Bring it on ;)
I'm frequently on that receiving end of low-code implementations that have failed, and I'm not quite as fond of it as you. ;^)
The problem is reasoning. Often the low code limitations funnels the implementation into a contorted state, so by the time they've decide to give up what I get is frequently exceptionally difficult to comprehend. Usually I peek at it, try to get an idea, and then do what I would have done if assigned to task from the get-go - read (or make) a spec, and go from there. I'm doing some quick napkin calculations from the time tracking system, and the ratio is approximately 13/2 on the last 7 of these no-code to code tasks. What they attempt in no-code in 13 hours and fail I finish in, yes, 2. Given, these are not developers, and sometimes these actually come from the CEO (who does not track their time so they're not in that ratio), but mostly they're just managers and remote hires. And I've been developing software for 28 years now, so I have some capability. Also, these are mainly data related projects, so maybe other types of work would have more success.
No code will get better, I'm sure, but the problems we're solving actually are getting harder (it seems to me) and reasoning about them is the difficult part. I'm not sure how to no-code that.
"Those who don't know history are doomed to repeat it." I haven't seen any "low-code" tool with technology and ideas noticeably beyond what such tools tried in the 90's. If there were some kind of breakthrough that gave such tools something earlier tries didn't have, then maybe it would be time to take a new look. But until then, I'll remain skeptical. Remember Steve Balmer's smarter brother: "Maintenance, maintenance, maintenance!" (hypothetical brother)
It's interesting how we have decades of knowledge and experience that sales people typically blow smoke up the execs you-know-what and fail to deliver to various degrees yet those execs are still gung-ho on implementing expensive 'solutions'. I've seen it where the people below them that have to do the day-to-day work on it have other ideas but are then forced to use these platforms and explain it to those execs, and why they may not be working.
I wonder if it's because some of those at the mid-to-level making these decisions are under the same market pressures as the rest of us to show they've actually 'done sometime' - so they can slap this on a resume and prepare it for an interview when they roll out of the org in a year or two after implementation. This seemed to be the history in the IT department at the hospital I worked out where they had a decade of zombie projects that sorta worked because they were implemented, barely supported, and the persons that made the decision had bounced to something else, leaving IT holding the bag.
"I wonder if it's because some of those at the mid-to-level making these decisions are under the same market pressures as the rest of us to show they've actually 'done sometime'"
Definitely true. Also don't discount the influence of good old fashioned corruption - cash kickbacks, job promises, gifts, etc., I've seen IT contracting decisions so dumb that graft is far and away the most logical explanation.
You can skip the tar pit of the Scrum Industrial complex (e.g. "here! you MUST take our certificate program!") and the drag setting pointless sprint boundaries and focus on just repeatedly, successfully, ship high quality software. The Accelerate book is a very good starting point - https://www.amazon.com/Accelerate-Software-Performing-Techno...
Not only why is there a garbage book like "Essential Scrum", why is there no mention of any unit testing or TDD books? If the author is seriously going to plug Martin Fowler's Refactoring book but make no effort to call out any books to help guide in writing good quality tests, I'm starting to have serious doubts about the nature of those "10 years of experience". I don't care if you "buy into" TDD or not - refactoring without test coverage is flat-out "Cowboy coding": reckless & irresponsible.
> refactoring without test coverage is flat-out "Cowboy coding": reckless & irresponsible.
This is basically what Fowler says in his refactoring book. Actually, he says it's by definition not refactoring. I'm curious why you don't think it's worth reading.
I suspect GP's complaint is not with Fowler, but with the list not including books that complement it. Like Beck's Test-Driven Development or Feathers' Working Effectively with Legacy Code or some others.
Yes! This is exactly my point. Having included something as fluff as "Essential Scrum" on TOP of skipping Beck's "TDD by Example" or Feathers' "Working Effectively with Legacy Code" is very regrettable.
I feel like the concern here is that we're quickly moving from open ended, content and _capability_ creation era(e.g. I can program anything I want for my PC _WITH_ my PC) to a mere _content_ creation at best and preferably _consumption_ only era of computing. Your iPad doesn't self-host any flavor of XCode that you can build and run iPad programs on.
It seems with a bit of cruel irony that for a moment in history, due to the intersection of affordability and the limitations of computing power, the home computer allowed anyone with the money to the full scope and capability of a computer with "higher level" programming languages. Such that they could not only use available software from others to create content (images, video, audio, text, web sites) but also create _capability_ programs that that made it easy to whatever the limitations of the machine would let them. But as the computer became more powerful, it became "easier" to hide the elements that allowed creating _capability_. We had it for a while, now it seems to be fading away from common view.
This is what scares me. We're no longer becoming true 'computer users'. We're becoming 'digital content consumers'. Companies are fine with that. I'm not.
People can go ahead mod me down for this, but I honestly don't care at this point. Here's the best ways to avoid this:
1.) Quit doing PRs for feedback. Start doing pair or mob programming. Bonus points if you ditch PRs completely and do https://trunkbaseddevelopment.com/ instead while you're at it. Asynchronous code review via PRs is waste (in the Lean sense).
2.) If you still want PRs despite pairing & mobbing (or you're about to tell me you've never done it, you're team won't and/or whatever insert lame excuse here as to slam/dismiss it without trying), spend a faster 5 min via screen share and audio AND CAMERA! Do the PR like an old skool code review session live/remote + camera, but have the author ANNOTATE for their own notes what you've reviewed when they go back to revise. 80% of human communication is non-verbal - interact w/ voice & camera. Help them learn & build confidence, then you won't worry about your writing tone.
3.)
Define "slightly older". The US Equal Opportunity Employment considers you part of the protected class against age discrimination if you're over 40 (see https://www.eeoc.gov/age-discrimination). Let's be honest, 40 is pretty much considered the entry point into "middle age".
Personally, If you're living below your means, I would try to target 6 months to 1 year. Then again, the past 3 years have made me paranoid as hell. Your mileage may vary.
FWIW - I sleep a LOT better knowing I've got a year worth of expenses sitting in a high yield savings account. If I lost my job tomorrow? I'd say fuck it and take at least 4-6 weeks off before bothering to look for a job.