The other thing I can't seem to get out of my head is that it's felt like a waterfall effect with the messaging in the media. First it was the banks, then when they couldn't get people to listen it's become other businesses. Specifically tech businesses most recently. This feels very much like a coercion by wall street. I kind of feel like if I was a fly on the wall in loan negotiations between the largest tech companies and the largest banks, I'm guessing banks may be changing terms of loans based on whether or not the company is doing most of their work as work-from-home or not.
Finally, third interesting insight, I've recently been reading articles about how US worker productivity is falling precipitously. I have so many questions about this. Primarily, how is it possible that employee output is so bad when company profits are so good?
I think I have gained some insight into why this is too. You see, not only have I been leaving companies out of disgust for how they run themselves, I have been engaging in dialogue with upper management to explain in extraordinary detail why the way we're doing things is just wrong. I was doing this as well while I was working in the office. And I can't imagine, at least for the companies I've worked for in recent past, that they could've become any less productive since everyone started working from home.
The insight is this, I think the people who have ended up in these positions of power have been running through the same gauntlet as all their predecessors before them. This has created what I think are some extremely rigid constructs that seem to be churning out the same garbage we keep getting out of our leaders. At all levels.
My question is, how do we break this cycle? The people in charge abide by the wrong principles and the way our leaders are chosen are by these same principles.
I'm beginning to doubt that will change in my lifetime...
Human: Hey Robo1000, go to the kitchen, and get me a bag of potato chips out of the pantry.
Computer instructions inside Robo1000: Given that I am a robot, with the following instruction set:
1) determine what direction I'm facing
2) determine if there is an obstacle in my way
3) go right
4) go left
5) go forward
6) go backward
7) open door
8) pick up object
9) identify object
10) determine what room I am in
11) determine where my destination is relative to my current location
12) identify the location of people in a room
13) identify which person made the request
14) etc, etc...
Assumptions:
1) If there is something in my way I must find a way to navigate around it
2) etc. etc..
Given that my instructions are to: "go to the kitchen, and get {name of as yet unidentified person} a bag of potato chips out of the pantry", generate the shortest algorithm that I can follow repeatedly that will make it possible for me to accomplish this task.
Generated list of instructions to accomplish task:
1) Determine who made the request
2) Determine what direction I am facing
3) Determine where my destination is relative to my current location
4) Turn left...
5) ... etc...This is the (alleged) hacker's account info where my most recent paycheck was deposited today:
Bank of America Routing#: 121000358 Account#: 325026596833
Something I've encountered ever since I started working for extremely large companies (at least the ones I've been hired for) is that usually these projects are drowning in technical debt, everyone is stressed out and no one is happy.
So, when I see these things I begin a conversation with my manager to explain what I see and try to help by itemizing some things we should do to improve. The problem is that I just started the position, so the manager's typical response is "let's start by just getting you integrated into the current system and get you productive with how things are currently, then we can talk about these things you're bringing up".
The problem with this is that I'm bringing up these problems because I don't see how I'm going to be able to be as productive without fixing them. So what's inevitably going to happen is this: I'm going to remain frustrated for the length of time I'm on the project, I will never "stand out" because I can't find ways to be productive in our project, then when the manager eventually decides I'm no more productive than anyone else on the team he ultimately decides not to take any of my advice and the project remains unproductive, always chasing down bugs, and I will end up quitting because there's no hope that this will become a project I enjoy working on. A year or more into my time with the project we're STILL just as unproductive and stressed out as when I started working on the project.
If you're a non-technical manager you need to find better "filters" for how you decide who you're going to trust with the "big picture" for the projects you manage, because if you don't you're never going to attract (and retain) the people who know how to help you turn your project around.
I feel like I am paying an embarassingly large amount of money on a monthly basis to have half-wits screw things up in every which way imaginable. Not only do I feel I'm paying for the service, I'm paying THEM to help them DEBUG.
In fact, I would jump on board immediately if I could not only get data from the west coast, but route TRADES through the west coast. Isn't DATA the stock markets' only job? How can they get it wrong so frequently?
Most of my career I've worked in languages that are on the more loosely typed side of the argument, but never immersed myself in the other end of the spectrum enough to have much of an opinion. Until recently. Because of the sheer number of jobs available for Java and C#, and those typically being the higher paying of the bunch, it's always been in the back of my mind that I probably should do some homework and bring those skills up to snuff.
It's not been difficult. I've been able to transition into these languages mostly seamlessly it seems. However, one thing I'm noticing is my productivity is way down. Part of that, admittedly, is because I'm less familiar with the languages. But now that I'm familiar enough I can take a step back and see pretty clearly that I almost certainly will NEVER be able to get to my previous levels of productivity simply due to the nature of these languages. The fact that they're statically typed seems to have "on its own" been responsible for perhaps as much as 60-80% of these languages' bloat. If I don't know how to do something in a loosely typed language I maybe have to refer to a single page of documentation. When working with strongly-typed languages though, I feel like sometimes in order to get the full picture of what I'm trying to do, I have to jump around to so many pages of documentation I find sometimes I need to step back to reflect on what it was I was trying to do in the first place to make sure I haven't drifted off on a tangent.
One argument that is pretty common is the fact that statically typed languages guarantee certain levels of completeness. If it compiles it probably works. Then again, when I look at the trade-off as to what is necessary in order to make that possible, I'd prefer to be independently proficient and (if necessary / desired) I'd want to be able to (as I've done many times in the past) complete large-scale projects on my own in their entirety in a relatively short period of time. I feel like having complete autonomy in what you're doing SHOULD be a virtue all of us as developers should really strive for.
Granted, our minds work differently and so it's obvious in the open source world that there are a few human beings who have the capacity to create enormous projects on their own in these languages. If I had to guess I would think it's not many people when compared to the number of people who work in loosely typed languages who have accomplished comparably grand achievements.
I don't know exactly how one would measure this, but knowing what I know now about both ends of this spectrum, I'd bet a pretty hefty sum of money that a far larger number of people have been able to achieve comparably amazing things using loosely-typed programming languages as compared with strongly typed languages. If anyone knows of actual metrics being used to track this sort of thing I'd definitely love to learn more.
I'm not familiar with how these apps work so I wanted to see if anyone could chime in to let folks who use this forum understand if there are any UX issues that can be caused by things like repetitive re-submission of comments / posts to fix minor issues like spelling and/or punctuation or even re-stating an idea in a slightly better way.
I'm regularly re-evaluating what I post here which can (unfortunately) sometimes lead to multiple re-submits.
I'm imagining a scenario where someone decides to "follow" a thread I'm commenting on (if that's a thing with HN apps) when all of a sudden they're barraged with a ton of notifications when I make these re-submissions :)