The idea isn’t to be more or less opinionated, its to learn to respect other people enough that you can manage communication and relationships with others who have different ideas. Unless you can make space for other people, you can’t reasonably expect them them to make space for you.
I think “organic” is prob the wrong word. It’s already a rather tortured word, even in just the farming world where it’s legislated. My brother, a small organic farmer with about 5 acres really groaned recently when telling me that hydroponic veggies can be labeled organic. And when I see it on non-far products (like salt, which is a real example that will make any nerd’s hair stand on end), it just feels like intentionally misleading marketing, not an honest description.
Anyway, I have a real soft spot for the sort of software the author talks about. I think of shops who build software like this as “design build”. Like in the construction world where design build means a small shop focused on overall quality and fit of the home to its owner, not scale or economy, etc. maybe that is a phrase that works?
I was thinking about that while coming up with the term. IRL 'organic' food labelling has a lot of real problems, some bordering on scam. Despite that, shoppers in a grocery store have generally the same overall idea of what organic food is Supposed to be. That ideal/supposed state is what I wanted to build off from to have a term that speaks to regular people.
It's definitely not a perfect parallel in lots of ways. That said, I think this may be one of those times where the perfect (e.g. requiring the technically perfect word) may be the enemy of the good (of communicating important consumer information to people.)
To that end, I tried to keep the criteria of 'organic software' very short and free of exceptions.
I'm down for any label that sticks on this concept. I would love for this idea to be part of the larger conversation around building software and communities on line. Thanks for the reply and article!
That is because most citric acid is made in genetically modified black mold grown on GMO produced corn syrup. Sounds crazy, but it's true, and likely pretty safe. A similar process is used to produce most vitamin C supplements.
I came here to write this, and also to say that on a software team, for example, where the problem is complex, no one person may have a well rounded enough or deep enough grasp of the problem, goals, limitations, etc. to come up with an optimal solution on their own. This is why we have businesses in the first place, to organize teams in a greater-than-the-sum-of-its-parts kind of way. A very basic example of this might be a UI designer coming up with a number of potential interface ideas for a particular problem users are experiencing, and an engineering choosing the design which will cost the least dev hours. Iterating on sketches of such potential solutions will almost certainly get to a better solution than the designer just making a choice their own favorite design and lobbing it over the wall to eng.
Not to dismiss the psychological safety point the article makes, which i believe is very valid.
I think we use the term "brain storming" in different ways, engineering teams coming together to flesh out an idea is often nothing like a "brainstorming" session. Engineering often tends to do "cooperative brain leveraging" :)
Yeah, brainstorming has put a bad name on collaborating next to a whiteboard with pens and post-its.
Brainstorming tries to achieve an unstructured creative session whereas engineering teams are trying to flesh out a structured plan to a complex problem.
Not all whiteboarding in a group is brainstorming. The former usually results in tremendous added value while with the latter I agree it's mostly pointless.
I’ve been building software for 20 years, and in my experience good ideas come from anywhere, especially on a high functioning teams where everyone is bought in. Engineers in particular often come up with great leftfield solutions, as they know what’s going on behind the scenes and can find way to leverage that knowledge.
I think this article might be something a litmus test for determining if you believe in such a thing as a functional software (not just engineering) _team_ or not.
If you view life as a series of problems to be solved, then life will become a bleak series of problems needing to be solved. The approach outlined in the parent comment here would fail to solve any essential human needs beyond a few of the most basic ones. Finding purpose, not burning out, nurturing family, communicating with others- even in professional settings- and so many other parts of being human require us to engage emotionally.
>If you view life as a series of problems to be solved, then life will become a bleak series of problems needing to be solved.
I disagree with this, conditionally.
It depends on how you perceive "Problems" and "Solve", as pedantic and Clinton-esque as that comes across.
Perceiving your "problems" not as barriers that hinder your progress, but identifying winnable opportunities in your own capabilities is a hallmark of the Growth Mindset[0] This is such a good quality, one that everyone can cultivate given the motivation and effort.
Any choice we make that is grounded in subjective decision making suffers from this reframing. And, i'd posit that the vast majority of choices are fundamentally subjective. Just take a moment when engaged in "problem solving" and ask yourself "why?", then question that answer again. You get to motivation, identity , "needs" (and not just the basic food and shelter needs) or some other emotion very quickly this way.
Is choosing a life partner a "problem"? What about something as simple as choosing what to wear in the morning or what beer you want from the bar? Even within traditional engineering problems so much of our decision making process can only be evaluated subjectively. Some examples are: naming variables (your compiler doesn't care what you name them), making choices around encapsulation (there are very often many possible ways to do this. we frequently chose the "simplest"- a subjective assessment), choosing a framework or language (a decision which is one part right tool for the job one part joining a likeminded community), etc.
At the root of it, we're emotional beings, not logical ones. Outsource the logical problems to computers, machines, institutions and focus on what makes you human. Otherwise somebody else will make the important choices for you in ways you certainly wouldn't chose for yourself.
Yes, and emotions help you choose good “anything”s. There’s always an emotional superstructure- yours, or somebody else can choose for you, based on their own motivations.
Ok that is a valid truth, however the growth mindset embedded in the sentence "I can become good at anything." is not that.
Its that maybe you can't become the fastest man on earth. That guy exists, his name is Usain Bolt. However, you can for sure get good at sprinting, even if you are missing parts of your legs. That guy is Oscar Pistorious. Maybe you have COPD and you can't? Well, you might need to adjust "good" to be a winnable opportunity in your capabilities. Maybe this is walking to the mailbox. If you couldn't walk to the mailbox last week, I'd call that "good".
Here is the opportunity for the emotional part you mentioned to arise, so yeah, I agree.
Emotions, sure. You can become good at managing your emotions. You can become good at navigating and integrating the superstructure of society into positive outcomes in your own life. You can become good at public speaking and swimming and programming.
You likely will not be able to become the best in the world at anything at all, but you can become good at anything.
What is the rational behind your first sentence? Solving problems is progress, and that is anything but bleak.
> Don’t waste cycles on the emotions of having problems.
I don't think you're reading what the parent comment is actually saying. Finding purpose, not burning out, etc are all categorically problems and the common goal is to solve them. Don't get buried in emotion due to _having_ the problems.
How much satisfaction do you really get from checking something off the list? There was some motivation that put the item on the list in the first place, and 9 time out of 10, that motivation goes back to an emotional drive of some sort. Ignoring that motivation during the process of satisfying it is fundamentally missing the point.
I don't think anybody is arguing against querying your emotions as part of choosing how to solve a problem. What OP specifically advised against was "wast[ing] cycles on the emotions of having problems". You will always have problems. Some worse, some nicer. Sometimes more, sometimes fewer. But your feelings about that fact won't help you move forward.
That's why approaching problems with an unemotional mindset is very effective. I can be mad that the bus was too early, or that my shipment wasn't delivered, or that I received a rejection. It's fine and healthy to feel those emotions. But they just tell you that something is wrong, without putting you any closer to fixing what's wrong.
> Finding purpose
Finding purpose comes from choosing which series of problems you are going to solve. Happiness isn't some final resting state you reach, it's more or less directly tied to solving problems. So framing is really important for making sure you actually face problems that can be solved.
In a post scarcity world, framing everything as a problem puts you in a needless optimization loop. Emotions tell you why, logic can only answer how, which won’t get you out of the loop.
I’m not making a point for or against employing emotions in problem solving, I’m advocating for an awareness that all “logical” thought fits into a larger emotional context- just the opposite of op who structures their process as a pure logical process. Ironically, I’d call the notion of a purely logical process devoid of emotions a fantasy.
I have- just put the slowcooker on low and started putting my scraps in there. It was a total disaster after i added some Parmesan Everybody in the house was completely unable to handle the smell. I still think it has potential as an idea, but like all cooking, the details really matter, which is sort of exactly opposite to the appeal of the idea of a perpetual stew. Anyway, i'd try it again, but will wait until the of the house is going to be empty for a while.
Daily Kos | Oakland, CA or REMOTE | full time Senior Rails dev
Daily Kos is a progressive journalism and activism site with 11.5M uniques a month- more than the Wall Street Journal. We have a strong and devoted community of activists and readers, many of whom write for the site as well as staff writers and activist who do things like help lead the fight for net neutrality. We've been around several times longer than most other outfits posting here- 14 years- and have learned the value of high quality engineering.
I graduated in 2000, when microsoft was still king. There was no CS department then, though there was a CS major that you could get through the math department. Certainly there were no ties from campus to the startup world then. I loved the major- the intro book was the amazing Wizard book, Structure and Interpretation of Computer Programs, and classes forced students to spend a lot of time in functional languages when most schools were pushing Java. This was prescient, and has very much worked out in my favor as a web dev working in ruby and coffeescript, functional style js, etc.
This bites pretty hard on hektor, a graffiti robot:
http://hektor.ch
I met the kid who built this, year ago. He is a seriously rad ex-demo scene hacker, now art school prof. Lots of other good projects there worth checking out.