330 karma · joined November 22, 2022
val underperformingEmployee = selectLowestPerformingEmployee();
which can be reduced to selectLowestPerformingEmployee().terminateEmployment();
But there are already a lot of strange state management issues with this code style. I would expect something more like this in the wild terminateWorstEmployee(){
var employee = hrService.lookupEmployeeByLowestPerformanceReview();
employeeTerminationService.initiateTermination(employee.id);
}
When things are named and abstracted properly, it should be very clear what is happening. var conventions won't save you here.Assignment from method calls seems to be the most likely place where this could POSSIBLY cause confusion. Maybe we can compromise on variable assignment directly from constructors? That seems to be the clearest example where the extra text is purely noise. It also causes a lot of line wrapping which indirectly causes even more noise.
I also love when my search is narrow enough that Google instead starts to return more generic pages for totally different programming languages instead of the smaller result set that matches exactly. It is very easy to observe as you explore a topic. At some point, you got a wall where any increase in search specificity seems to yield worse results than queries that helped you get to that point.
Actually, it has happened with results that include hacker news discussions. I scrape through and expand EVERY comment on a 6 month old post and still find no partial or exact matches for my search keyword. It is very clear to me that Google has switched behavior. It used to flex on how awesome it was to bring you to an esoteric corner of the internet matching your exact query. Now, it tries to converge your queries into what it thinks you want(not what you asked for) and funnel you into large websites at the expense of utility.
Buying decisions from parents was influenced. Advertising influenced people. School lunches. What parents would feed other kids after activities. Habits of people "never giving it a second thought" were still being shaped by these forces. Even if someone only thinks about it a fraction of the time, it moves the needle. If my mom ate 10% more processed carbs than her parents and passed those habits to me, I was impacted. Rinse Repeat for 60 years.
You can also save money with hiring and retention due to happier employees.
Offshore is a reasonable comparison. Virtually all offshore implementations that I have observed result in at least one employee being forced into becoming an offshore orchestrator. Everyone now has to play telephone with the offshore dev through this channel. Even if they could contact them directly, you have a one day communication lag because you only get one shot a day to have a one hour sync with the offshore team. In bad scenarios, the offshore team has all communication channeled through the local team lead creating yet another layer and further communication lag. The point here is that engineering teams have been communicating how this issue is detrimental for years. We saw WFH work in a forced experiment (and had a lot of data about improved productivity). It is obviously not a direct comparison, but the egregious nature of blind positivity towards offshore and blind negativity towards WFH makes the comparison relevant.
Overwhelmingly, I see complaints that java has been too simple compared to virtually all other languages. I agree that cognitive load is important. However, it feels really strange to me to suggest that java has reached the complexity of other similar languages. What am I missing?
java has it's place. many things have a place.
Test as appropriate for your needs and goals. Adjust over time. There is no need to artificiality skew the balance in either setting.
How could the OP be enjoying the feeling of Witcher 3 if they have childhood blinders on? Someone could draw roots of W3 & BotW back to Ocarina. It is reasonable to wish they made a modern Zelda that went down more of the W3 open world path instead of BotW style.
As a simple thought provoking exercise for growth of younger minds, it meets it’s goal. I think that scope is made pretty clear by his label.
I am not sure I have ever encountered a situation where targeting a single commit to revert would have actually worked(from a rebased merge). I would go as far as saying that git revert should be a nuclear option reserved for only the worst of situations(urgent PE hotfix?). If something is worth reverting and was missed by the engineer and the reviewers, it seems the like fix should also atomically contain the explaination with a test to prove the issue was fixed. Because of this mentality, I believe it has been several years since I have seen a 'revert' in the wild.
Maybe I am alone in the industry with my opinion. However, I have seen the same patterns unfold on many teams. ...A lot of concerns with switching to a dead simple git workflow that fade almost immediately after trying it. Just my experience (backend batch jobs, applications, and rest services).