Building a community for sustainability-oriented Clojure work

I’m suspect I’m not alone here in that:

  1. I feel very concerned about ‘sustainability’ issues such as climate change, biodiversity collapse, resources exhaustion and land degradation, to the point that I’d like to orient my career towards working on those issues.
  2. Using Clojure is one of the most impactful ways of working that I know how to do.

Therefore, I think it would be beneficial a form a community of Clojurians on this topic, in particular for job-matching.

More details below. Please let me know what you think, and invite others to do so!

What I have in mind

  1. An online community for sustainability-oriented work in Clojure, e.g a subreddit;
  2. offering a curation of companies, jobs listing, OS projects, general discussions, and maybe career advice;
  3. where the impact of the various companies and initiatives can be discussed, critically and anonymously.

Here are some imagined examples of posted topics:

  • [Introduction] CompanyX builds a data platform for planning renewable electricity production based on geographic and historical consumption data.
  • [Jobs] CompanyX is hiring a Senior full-stack Clojure Engineer.
  • [Discussion] Given rebound effects, is it a good idea to work on optimizing Big Data hosting infrastructure and orchestration?
  • [Career Advice] How much demand is there for GIS skills?
  • [OS] A sci-based project for low-footprint automation workflows. Help wanted!

I don’t expect a high-throughput activity in such a community; email alerts would be useful.

Problems

Match-making

Currently, sustainability-oriented work opportunities are diluted in many other jobs offers. They do exist, but are relatively few.

Conversely, sustainability-oriented companies may have difficulty targeting programmers who might be interested in them. All the more so because such companies are usually not the most competitive in terms of compensation, and because they might fruitfully target people who are not actively job-hunting.

Impact assessment and discussion

People apply to sustainability-oriented opportunities in the hope of having an impact. Unfortunately, sustainability initiatives often lead to uncertainty and controversy as to their impact.

For example, some people believe that electric vehicles, nuclear energy, or voluntary carbon markets have an important role to play in mitigating climate change, and that developing them is beneficial; others think it’s very dangerous and counter-productive to go down those roads, and don’t want to support those industries.

To make matters even more difficult, you might want to work for some initiative because you find it risky, and want to be there to keep things from going wrong in terms of impact.

There’s no objective process for making those judgements, and we shouldn’t aim to achieve consensus on them. However, this complexity calls for critical analysis and informative discussions about such opportunities, more so than with the usual job application.

For this reason, I think that discussions about impact will play an important role in such a community. Obviously, people might feel unsafe having a critical discussion about an opportunity they might apply to, especially if the employer is part of the conversation, and so it seems important to be able to comment anonymously.

Signaling demand for skills and OS contributions

What specialisations are most needed in the sustainability industry? Dataviz? Big Data? Geographic software? Frontend? It can be hard to tell, but having a centralised directory of sustainability-oriented companies could help us survey the demand.

Likewise, some people (like me) would be willing to spend much more time on OS work if they know it will have sustainability-oriented applications.

Remarkably, sustainability jobs are not a competition

In most job markets, applicants compete for the jobs’ benefits, and it’s understandable that they won’t help each other.

But remarkably, I don’t think this should be the case for sustainability, which is essentially a selfless goal that should have little to do with personal ambition: if some other programmer is better than me at “saving the planet”, I’m happy to step aside. (It’s not like those are the highest-paying jobs anyway).

What should qualify as sustainability-oriented?

It’s hard to give precise criteria, but let’s say companies or initiatives which main activity arguably consists of transforming the world in order to mitigate or adapt to issues like climate change, biodiversity collapse, resources exhaustion, land degradation, etc.

In particular, I think that having CSR policies or similar pledges should NOT be enough for companies to qualify, examples being:

  • “We have a climate strategy, so I guess we’re sustainability-oriented”
  • “At CorporationB, we think that sustainability is very important”
  • “We take action to reduce the footprint of our computing infrastructure”
  • “We have a culture of taking care of one-another”
  • “We solve problems, therefore sustainability really resonates with us, as sustainability is about solving problems”
  • “Our activity is not about sustainability per se, but we have strong diversity policies, so we’re good guys”
  • “We make our customers more productive, giving them time and leverage to work on their sustainability issues”
  • “We contribute to economic development, therefore we make the world a better place, which is what sustainability is about”

I’m not judging, nor am I saying that the above things are not valuable; they’re just not the characteristics we’re looking for here. This requirement for specificity is why I want the community to be about sustainability-oriented work, not the more vague sustainability.

We might also be tempted to generalise the sustainability theme to other important causes such as education, gender and minority inclusion, healthcare, poverty alleviation, online privacy, etc. Having thought about it, I don’t think that’s a good idea. A vague “Clojure for good” theme would harm the specificity that is essential to such a community, so I think it’s better to start with a narrow scope, and later either broaden it or create other similar sub-communities.

Open questions

What platform for hosting such a community?

I’m thinking of Reddit, because it makes it easy enough to comment anonymously via throwaway accounts, which as mentioned above seems important for people to feel safe discussing opportunities they might apply to.

A flair on r/Clojure might do the trick, but that approach could limit the searchability of content, and add a moderation burden to r/Clojure mods.

I’ve also considered:

  • ClojureVerse: no easy anonymity
  • Zulip: same
  • A Slack channel: too ephemeral. I’d expect the content to be of little volume, but of long-term use.
  • A mailing list: anonymity is still not that easy (a new email address is required to create a throwaway account), and the discussion UI is typically not as good.

And so I’m thinking of creating another subreddit, e.g r/ClojureSustainabilityWork, but please share any other idea you might have.

EDIT: please react with :white_check_mark: if you would join (even as a passive member).

30 Likes

I’m very appreciative of this idea and align with a lot of things being said.

I did briefly check if we could support anonymous posting on ClojureVerse as I’m sure @plexus is also supportive of the general idea. I personally prefer some of the features Discourse provides (pinned posts, targeted watching of categories, rich text, etc.) but I think this will be great wherever it ends up. :slight_smile:

It seems to be possible to allow anonymous posts on ClojureVerse and there are some additional settings to mitigate the risks that go with that kind of thing:

6 Likes

Discord might be worth considering too. I believe it has an interesting pricing model that may be attractive.

And not sure if this is a criteria you care about, but I have some experience developing Discord chatbots in Clojure, which opens up various automation and integration opportunities.

@martinklepsch that’s really good news; it means it would be even easier to comment anonymously on ClojureVerse than on Reddit.

I guess it depends whether we’re willing to allow anonymous posting on all of ClojureVerse just for the benefit of a minority of topics and members.

In terms of conversational ergonomics, I think I have a slight preference for Reddit as it allows for discussions to branch off into multiple directions, but I reckon that the increased visibility and easy anonymity we’d get on ClojureVerse would outweigh that particular advantage of Reddit.

@pmonks could you describe what advantages and drawbacks it might have in terms of ergonomics?

The main user actions I imagine on such a platform are:

  1. Posting topics in a rich text format, e.g company introductions and job offers
  2. (anonymously) commenting on the above, for discussions and Q&A
  3. Searching based on a tag, typically listing all company introductions
  4. Alerts, e.g receiving an email at each new job posting (That’s easy enough to set up on any platform, at worse by using something like IFTTT, so it should not be much of a differentiating factor.)

There’s a technology community focused on sustainability work at http://climateaction.tech/, and they use Slack, albeit the free version. I posted a link to this thread there, but I wonder whether a channel in that workspace might be a useful starting point, as there’s lots of stuff about sustainability jobs in that community.

Even if the overlap doesn’t make sense, if you’re a technologist interested in sustainability then I highly recommend joining! (I’m not affiliated in any way, I just work in sustainability and find it useful)

4 Likes

First, I absolutely love this idea!

I don’t think you explicitly mentioned this in your original post, but I’d also like to see discussions about what products and technology are needed in the sustainability world. I’d love to create something someday, but I (and perhaps others) get stuck on this.

Might I suggest you leave #3 for a separate community? While I appreciate the value of anonymity - especially when it comes to whistleblowing - I am having a hard time seeing how anonymity would benefit points 1 and 2.

That said, I’m very much in favour of empowering climate change activists and green tech advocates. This seems like a very interesting idea and will eagerly watch what happens (and help out when possible).

1 Like
  1. Posting topics in a rich text format, e.g company introductions and job offers

For a chat platform, Discord has remarkably (to me) primitive message formatting capabilities. Bold and italic are possible, for example, but you can’t title a link. It does support inline and multi-line code blocks at least. But no bullet points or numbered lists, unless they’re expressed in plain text. And forget about tabular data - in the community I’m in we resorted to posting PDF file attachments for that. lol

This is (imvho) the biggest failing of the platform.

  1. (anonymously) commenting on the above, for discussions and Q&A

Discord is inherently anonymous. It started life as a gamer platform, after all. :wink:

  1. Searching based on a tag, typically listing all company introductions

Full text search is pretty good in my experience, including filtering by channel. There is no concept of “tag” AFAIK, so you’d be relying on people to put appropriate tokens in the text of their posts, and then search on those.

Also messages don’t 'timeout" (like Slack), so the full search history appears to be available. Keep in mind that the primary Discord community I’m involved in is less than a year old, so YMMV.

  1. Alerts, e.g receiving an email at each new job posting (That’s easy enough to set up on any platform, at worse by using something like IFTTT, so it should not be much of a differentiating factor.)

I turn those off on every single platform I’ve ever used as soon as I sign up, and if Discord supports that I would have turned it off immediately. As a result I don’t actually recall if it supports it or not (it’s simply a “tax” I pay on most systems, and then immediately forget about).

Some other factors worth considering:

  • Discord has a plethora of existing integrations / chatbots etc.
  • The permissions and administration capabilities are pretty robust (nice and fine grained).
  • There are clients for all popular platforms, including desktop (Electron-based) and mobile (native).

I came here to also suggest climateaction.tech, but I see @conan beat me to it.

I love the idea of devoting more of my time and skills to solving these problems, but it’s hard to find the right way to approach them and I don’t really have much to suggest along those lines. But one thing I would say (perhaps controversially): I don’t think making this Clojure-specific is the right way to go. The important part here is solving the problems, and how they’re solved is very much secondary in my mind. If I find a group doing great things who need my help and their tech is in Perl, well, I guess I’ll be brushing up my Perl skills. If I were starting a new project along these lines myself then I’d evaluate Clojure (along with other options) to see if it were the right choice of course, but if I’m trying to save the world I’m going to be 100% pragmatic about how to get there. I think the two groups (programmers with interest and time to devote to this, and companies or groups working on them) are a small enough venn diagram already without adding another very small circle to it.

Edit: Another thing that I’d like to suggest, given that many of us here are well-paid even by developed world standards, is just doing whatever pays you the most (without doing harm to these causes, of course) and then donating a significant portion of your salary to organisations better placed to fix these problems. This is along the lines of the suggestions from Effective Altruism, their book 80,000 hours has a lot along these lines too. It doesn’t often feel like the most effective solution, but if you really look at the impact it’s often surprising. See Giving what we can for more on this idea.

9 Likes

Count me enthusiastically in for wherever we end up.

I’ve been in climateaction.tech for a while but haven’t really participated due to general Slack exhaustion.

I think targeting the Venn diagram of Clojure ∪ Climate Work is fine, at least to start. Also perhaps controversially: I would appreciate being able to lean on the shared technologist-philosophical baseline provided by the fact of having come to Clojure from … someplace else. I also think a lot of it aligns well with values I find in my own work in sustainability + building architecture and if it’s not that, well, there’s climateaction.tech.

2 Likes

(I do recognize there’s not One True Mindset in Clojure, but I hope it’s not controversial that there’s quite a bit of value overlap, eg. distaste for churn and not complicating for complication’s sake).

One possible reason to close in on the clojure/sustainability intersection is just the overwhelming scale of the problem. “Problem” actually seems like too small a word - more like a global convulsion. If we’re going to tackle this responsibility (and little so far suggests that we will), cooperation will have to happen at multiple scales (indeed at all scales). So just as it’s worth some people getting involved in their local communities with others operating internationally, some in the tech community will best serve in the specific language/tech/company-oriented communities, with others having a wider focus.

If you’ve read Kim Stanley Robinson’s The Ministry for the Future, you’ll recognise the theme: everything is going to have to happen at once, often even at cross-purposes.

@bmaddy Oh that’s definitely part of the intention. That’s part of what I meant by topics like “[Discussion] Given rebound effects, is it a good idea to work on optimizing Big Data hosting infrastructure and orchestration?”.

1 Like

In my mind, anonymity would be optional on a per-subject basis, but still critical. Hopefully optional anonymity is fine with you?

I’m really not in favour of giving a platform for companies to boast sustainability-orientation without a mechanism for detailing and challenging those claims. Failing that, I would be very worried of people being led astray - not that companies are inherently dishonest, but they’re usually too involved to have a cool-headed evaluation of their own impact, and the “unfair advantage” of claiming sustainability-orientation on the job market would give them even less incentive to do so.

And again, leaving aside subjective perception, I’d argue that the question of impact is inherently complex - much more so that a 1-dimensional scale from “bad” to “good” for sustainability.

1 Like

Good point, I would certainly not want to encourage people to restrict their sustainability efforts to the application of Clojure alone. (In the professional sphere, I’ve done 1 sustainability-oriented gig, and it was in Python, not Clojure.) Please do look for non-Clojure sustainability-oriented work, by all means.

But still, I know that Clojure is the probably the most effective way for me to contribute IT work, and so it makes sense to watch out for those sustainability-oriented opportunities which are in Clojure.

Yes, of course. Thanks for the suggestion. I do want to re-emphasize that the scope of this initiative is deliberately narrow, and certainly not at all exclusive of other contribution modes.

@colinfleming which drives me to wonder: what negative effects do you see to creating such a community? Do you think it will inhibit sustainability efforts people would otherwise do? That seems unlikely to me.

1 Like

Hi folks!

I’m one of the organisers of ClimateAction.tech (I’ll refer to as CAT), I gave this talk at Heart of Clojure back in 2018 about climate and tech, and I also worked in a company, Mastodon C, where a chunk of the company’s time and effort was spent figuring out how to use clojure to work on climate.

Here’s an interview with the then CEO, Francine Bennett from 2012. I’m also a big fan of clojure and it’s community, and it has changed how I think about programming, even if I don’t do any paid work in it.

I think it’s good to that this is being discussed, and I figured it might be useful to share some of what I’ve learned if you want to go down this route.

I think @otfrom might have something to share there too, as he has personal experiences in this field, and might be able to share some of his experiences.

Joining something existing and making it richer, vs starting something new

I actually joined CAT after running sustainability and tech meetups in London and Berlin, I felt that it made sense to join something that was already there, and contribute to it, rather than make my own thing.

For what it’s worth, we deliberately try to be cross disciplinary, and act as a place for both cross community and cross organisational discussions on these topics.

There’s a few reasons for this - very generally, one of the big problems in sustainability themed communities or movements is fragmentation. This a) keeps lots of the these conversations happening away from where there’s actual power and money being deployed with very real consequences and b) also means that the people who tend to make up the community tend to end up with pretty similar backgrounds.

We already wrestle with this in CAT where lots of programmers join, and basically say:

Hello there! I want to keep doing exactly what I’m doing, but also feel good about the climate and all my prior life choices validated. How do I do this?

I have hard time with this personally, because in many cases, the most effective thing a technologist can do on climate is actually get better at learning about the problem and levers there, rather than getting better at coding or clojure. It’s a different skillset.

TBH, even the effective altruism approach, I find problematic in some ways, because throwing money at a problem without engaging critically with it, generally results in avoiding necessary discussions about what we need to do differently as a society, in favour of what that lot over there need to do differently, and tends to favour maintaining a state of affairs where the altruists are the ones who get to say what altruisim is effective, and what isn’t.

Making it easier for clojurians to work on climate instead of in banks

(For what it’s worth, if there’s a mechanism for clojurians to find meaningful work that pays something close to fair rates, then I think that would be a good thing. The line above was a joke, BTW - I know it’s used in lots of cool places that aren’t finance, and anyway banks, because through their choise of who to finance can actually be pretty good lever for change on climate)

If the sustainability sector has history of being underfunded, the emergence of a very fast growing ‘climatetech’ sector means there is money pouring into this general area now.

And one thing that might be worth thinking of, that isn’t coupled to any decisions about what platform you use is simply to address the issue of there not being much meaningful climate focussed work in clojure out there yet.

I have looked and I haven’t been able to find any resources to explain to someone working on climate who isn’t already into clojure, why they might choose it for a new project, or even consider using it for part of their stack on their next climate project, or even point to other companies doing so.

Does this exist anywhere?

I would love to be able to point people to this, as the work I see in climate companies, tends towards python/django for web (sometimes php), and react on the front end.

This might help address the supply problem because if you want to clojurians to be hired, there needs to be someone agreeing to stump up some cash to hire them.

Setting up any climate project that could afford developers is hard enough, as devs are just so much more expensive than other members of staff already, so tools or resources to make it easier to get buy-in to start a new initiative in clojure, would really be a boon.

Hope that helps.

4 Likes

@mrchrisadams I feel like you’re perceiving ClimateAction.tech as competing with the initiative I suggested here (perhaps my choice of “community” for naming it was unfortunate), but why not see it as complementary? In particular, I could imagine it acting as a gateway for ClimateAction.tech.

To be clear, I do not propose to create something like a meetup. The point is not to create “THE place of Clojure & Sustainability”. The goal is much narrower: mainly, making the job market efficient for those sustainability-oriented initiatives which are in Clojure.

FWIW I’ve created a #d-clojure channel on CAT slack https://docs.google.com/forms/d/e/1FAIpQLSdtvNeUkNkPybk9_Ln5klL1RUPHUCwfK4OfF-odRWnHME9d-g/viewform

There are lots of other good things going on there as well.

1 Like

hi @vvvvalvalval, thanks for clarifying - I definitely don’t see these as competitive, and I was trying to emphasise the idea of engaging with other groups - specially when in my experience, the people who tend to be active in one community then to be active in others.

There’s an internal wiki thing we use inside CAT (outline - it’s OSS and easy enough to deploy), and I’ve setup up a page there linking to this post, for folks there who use clojure to find this.

I’ll follow this topic, and if there’s new site or subreddit, I’d be happy to direct people to it.

Have a good weekend :+1:
Chris

2 Likes