bethly
Reading the book Street Level Bureaucrats was eye-opening for me on why seemingly “common-sense” solutions like Direct Democracy end up either just not working or having the opposite of the intended effect. Laws are less like writing software for a computer and more like designing processes for a team writing software.
It demonstrates both the power and limits of the social model of disability, in a way no amount of pure theory would.
(We can contrast this with the current Gen Z movement towards neurodiversity, which is emerging from solidarity across dramatically different subjective experiences, some regarded by the medical profession and others not.)
I'm describing interactions here I am having with my peers, not people I'm in a service relationships with. We are practicing a highly-skilled trade, and acknowledging the times our skill pays off isn't a "continuous din", or even "positive reinforcement". It is just refusing to be dour sourpusses who have to pretend our work isn't super cool.
Code reviews are most closely akin to a Writing Workshop. When someone in a writing workshop says, "that description evoked Oregon in spring" or whatever, it isn't banal positivity: it is specific feedback on how the craft is functioning.
Here I was talking specifically about code reviews, so the context is pretty different than an incident retro. A code review where there is nothing nice to say is probably not going to merge into the code base: it is going to get updated to address the issues, and then there will be something nice to say as I give it a plus one.
But when I run retrospectives, even in the most horrific cases we have a section on "what went right". Sometimes the answer is "nothing", but usually there is something that was helpful: a log message that helped us find the root cause, documentation that meant we didn't have to call someone, alerting that found the problem, a feature flag we could toggle off until it got fixed.
In a corporation, we are playing a repeated game. It isn't about just this one incident: it is about what all the people watching the retrospective are going to built tomorrow, and the day after that, and the day after that. I want people to hear what went right with this incident so they put the log statements & feature flags into their own stuff. Those are the kinds of things that may only be relevant when something goes really wrong, and it's easier to leave them off, so every bit of positive reinforcement we can manage makes our lives easier when we do get paged.
Building Minimum Viable Employee Resource Groups
On the other hand, there are some advantages that may make later companies less risky: the timeline to exit may be shorter (though that is less true in the case of an early M&A, which ~23% of the cohort found). The nature of the risks may change in ways that make it easier to evaluate. And cash salaries usually rise in the later stages, reducing the marginal cost to employees.
There was no stage at which venture-backed companies stopped being a risk, but that's also true of public companies that grant options: it is always possible that the share price goes down and the options are worth nothing. I think the takeaway is that in this 2006-2008 cohort, earlier startups were less at risk of running out of money that most people would assume.
This tool might spark someone's curiosity, but we purposefully built it for a group that didn't want to have to learn about venture finance and still wanted to work at a startup.
Rather than complicating the model here to try to illustrate the difference between exiting at this stage versus raising another round, we went with an approach that demonstrates how preferences work. Even if the number is lower for a Seed company that exits at Series A or higher if it exits at Series C, there is still a number under which you'll get nothing even if the company has a profitable exit.
Stock Market Reactions to Long-Term Plans Measured for First Time
Being able to slice projects that way, in terms of functional behavior, is absolutely a skill that requires practice. You are already thinking about what your code needs to do: the practice is to get good at expressing that in terms the computer understand. Once you are in the habit, the tests make it easier to evolve the code rather than harder.
It is possible to be a good developer without that skill, but learning and practicing the skill will make you better.
The outstanding issue with Java code coverage tools is switch statements, because there are unhandled paths generated by the compiler, but there is an easy solution: don't use switch statements. Enums are basically always a better option anyway.
(The reason is simple: the men's team sucks, while the women's is one of the best in the world and is the only reason why the US has ever won a World Cup. The revenue discrepancy would be even more, of course, if both World Cups received equal rewards for winning.)
You are probably correct, though, that sexist assumptions like yours are why they are paid less. You aren't helping your case about how we should assume the best of the people speaking out in support of discrimination, though.
The downside is that there isn't a good way to find startups where that is true (and especially not where it is actually true rather than just PR), and it is not what startups in general are known for. I networked my way into this particular spot, but if I were looking for another similar opportunity I'm not sure where I'd look.
More seriously, this is why often people who know they've been caught dead-to-rights settle early: the government wants the W and doesn't want to have to spend money to get it. Shkrelli made them go for the conviction, and so he got the actual, un-discounted penalty.
I think what is missing is the exploration of how thinking of ourselves as "smart guys" makes us worse at our jobs. Intelligence isn't a substitute for being a good programmer. Churning out lots of useful, dependable, maintainable code involves a large body of acquired skills, habits and knowledge. When we pretend what matters is how "smart" we are, we get defensive when we get advice that we could do better, because "what, are you calling me dumb!?!!" We also blame other people's mistakes on their lack of intelligence, instead of considering how they could learn or how the system could change to better support them.
Study after study shows that a growth mindset leads to better outcomes: programming should embrace it.