Same with bakery, clean code doesn't means that you need to have no duplicates, solid, etc. You can work with dirty codes, until it gets too dirty to work on and you need to start cleaning, by which will takes considerable of time. Otherwise if you want to make it as clean and spotless as possible, it'll take considerable time and also you need to do that every time changes applies.
Consider renovation projects, you won't see they mop the floor everyday to the spotless level, they'll maybe sweep and clean it to the point where it's acceptable to operate. As you get better and with better tools, you can make less mess and less, but there'll be trash somewhere.
And same in code, you clean your code to an acceptable level, otherwise the code will be too dirty over time and hard to be worked on, and as you get better you'll make less dirty code. Problem is, nobody can know / agree on the acceptable level in programming which makes things hard.
EDIT: Got confused and wrote about Clean Architecture instead.
In my first year of professional programming, I tried to apply Clean Code to a side project. What I learned is exactly what you wrote. The result is very modular, but it’s a lot of code to write. But these are good ideas. What I needed to do was to develop my own philosphy and then to adapt it to the project’s context.
It’s the same with DDD. Which globally give the same guidelines: The use cases should drive your design; Push technical considerations out of the domain model; Cluster things that belongs together;…
But all of these is to balance speed (now), readability (near future), and maintainability (far future). These techniques and others will help you discern the equilibrium (which varies during the software lifetime)
initially also cannot, but now can.
open wallpaper setting > choose + in color section, choose any color, close popup, (IMPORTANT) close setting panel.
now reopen the wallpaper setting again, click on top right custom color and do this, somehow the behavior is different. Now it change the wallpaper color as you drag over the colors rather than mouseup. My guess is clicking on + button at the bottom is triggering the popup config to update on mouseup, while opening it fresh will configure it to trigger on update, until the + button is clicked.
this is a silver bullet for something that needs to be done on a specific timeframe, otherwise it'll be bad. Since the "Boss x do not give approval for it" won't cut in as a reason, and boss x needs to know this before you're doing it.
Of course criticality matters. The more critical it is, the more required for you to do a more personal message with said boss, like slack, dms, up to meeting face to face for approval.
This is an important insight. While the "bias towards action" approach works for smaller things, larger efforts may require change management protocols that capture explicit approvals. In regulated industries, you may have no choice but to capture approvals in some official manner (with ink sometimes).
Of course condition and situation matters, as you've said in regulated industries. Be selfish, if you taking action will net you a worse outcome for you, better wait for approval.
it's unfortunate, and it's so bad a feeling like that eroding someone just because they're kind or emphatetic.
which is why I feel like I'm slowly becoming assholes because it's hard to have that kind of emphatetic feeling while still being sane in nowadays world. It's kinda sad that to have a healthy mental someone need to be less emphatetic.
I resonate with what you say, but try to think of it differently: if you are able to take better care of yourself, even if that feels like in an egotistical fashion, you will have more energy for empathy. smaller slice of a bigger pie.
Yes, the current google search is somehow bad than sometime between covid or before that. Using chatgpt as search engine can save time sometimes and if you're somewhat knowledgeable, you can pinpoint the key info and crosscheck with google search.
Counterpoint, if you want to stay in the company, asses the leader's (one that displace you) personality and track record. There's some leaders that will reassign your role to a totally different one on a whim, without considering your skill and experience. Worse, you may get accounted for when failed.
The best way to stay the longest in this kind of company is to perform the minimum required.
there's two ways to face this situation, the pessimistic one is to just die. Futuristic sci-fi stories usually have endangered human or even human extinction aspect in there, with / without harsh climate and / or war / conflict.
The optimistic? Hold out until the chance come. In thousands (millions) years of human civilization, not a single civilization can stay eternal. That kind of civilization will perish too, if not the humanity to perish first, especially because Murphy's law (if something can go wrong, it will, and usually at the worst time).
And IMO that kind of civilization will still have a long way to arrive, and we're more likely already dead before it arrive. Because that one Murphy's law, and limited resources for automation. In an area where infrastructure is not yet sufficient, usually human are the best to handle the job.
The cause of efficiency. The most efficient employee, in the eyes of companies, are those who do their job well, need little effort to maintain, and cheap. All of them resulting in minimum effort, minimum wage worker that just get the job done without additional effort.
And when companies can layoff employees easily and have no retirement / loyalty bonus program, it cements the minimum effort effect.
As a senior dev, team lead and sometimes acting principal, I wonder what is the definitive role for CTO. I've seen several companies try to have CTO only to have no role for them.
Same with bakery, clean code doesn't means that you need to have no duplicates, solid, etc. You can work with dirty codes, until it gets too dirty to work on and you need to start cleaning, by which will takes considerable of time. Otherwise if you want to make it as clean and spotless as possible, it'll take considerable time and also you need to do that every time changes applies.
Consider renovation projects, you won't see they mop the floor everyday to the spotless level, they'll maybe sweep and clean it to the point where it's acceptable to operate. As you get better and with better tools, you can make less mess and less, but there'll be trash somewhere.
And same in code, you clean your code to an acceptable level, otherwise the code will be too dirty over time and hard to be worked on, and as you get better you'll make less dirty code. Problem is, nobody can know / agree on the acceptable level in programming which makes things hard.
reply