Deepen and Diversify the Clojure Community with Jr Engineers - Amie Kuttruff https://www.youtube.com/watch?v=SOIhncWcCjA Excellent guide to learning Clojure or any programming language. Great advice for starting your journey, or helping others. Fun, stylish and entertaining. Had an engaging story arc.
USE lisp WITH game - Making an Adventure Game with Clojure - Bryce Covert https://www.youtube.com/watch?v=lql2yFXzKUs Tick’s Tale - fun talk, very entertaining and nostalgic. Perfect balance between dive into some deep concepts in a very approachable, entertaining way. Dialog trees was very interesting.
Datalog all the way down by Christopher Small
https://www.youtube.com/watch?v=aI0zVzzoK_E This is the way to build applications. I've experienced big benefits on a smaller scale by using similar but less advanced techniques. I love his vision on this and am watching this space closely. It is interesting to see the rise of Datalog in various contexts going on.
Creating DSLs A tale of spec tacular success and failure - Claire Alvis
All the talks are great. Watch them all on ClojureTV.
Many women speakers gave talks, and they delivered excellent content. Over the years all my women colleagues have been exceptional at their work. Better than their male counterparts. I am proud to be in a community that promotes community leaders that merit our admiration technically, and are people that our community aspires to emulate. Clojure has fantastic role models for young women considering a career in tech. Thank you to Lynn, Kim, Alex, and all the organizers for inviting speakers who we can respect both on and off the stage for both their exploits in code and their desire to share and build a friendly community. The software world is currently missing out on a huge pool of talent.
The Engelbergs won most referenced this conference. Many of talks and discussions brought up Instaparse, PriorityMap, and their learning curriculum. Previous Conj winner was Carin Meier. Animal gifs were also popular (cats and corgis mostly!)
I bumped into Shaun, who’s latest inspirational exploit is Parinfer. I recently stumbled upon his YouTube channel https://www.youtube.com/channel/UCrNdfaEcqRUqObaGykbC9Lw which is well worth subscribing to. It was really cool to see his ClojureScript compiler console from 2 years ago which inspired the figwheel console. Shaun makes really innovative stuff. Watch his lightning talk from the DC Conj to have your mind blown.
I was really pleased to be able to spend time with colleagues past and present. Tanya, Rusty, Daniel, Mario, Bryce, Ben; I really enjoyed seeing you all.
Conor has a really cool site learnathon.org and shared a wealth of information about how people learn: Deadlines. 5 people learning together. Summarize a chapter each. Builds relationships. Accountability to each other. Small problems. Setting goals. Asking for help is difficult, so make people feel welcome. It is uncomfortable to speak up in a large group of unknown people (or slack channel). I would rather go to school than X. Many people want to learn to communicate better. Actors and artists have a lot to contribute. It is lonely to learn on your own. Learning could be a choose your own adventure. Dialog trees? Choose new lessons just slightly outside your current range. Is there a way to track sub-problems to solve in a project? Keep track of what people have learnt and can teach others? Teaching what you just learn means it is fresh in your mind, re-enforces it, and you know the difficulties that the learner is facing. Node of where you are, node where you what you want to build, it has dependencies, you need to acquire those, other people have them and can help you.
Knowledge is a graph. Learning can be a graph. Serendipity can be created. Code reviews are very valuable, having a small group of people connected by goals facilitates finding people able to, willing to, and interested to do code reviews. Good metaphors help. Sometimes the explanation is in a language I don’t know yet. Learn it teach it.
It was a very serendipitous meeting, prompted by a very simple but compelling question he posed: “What are you thinking about?” A far more interesting question that I ask in my small talk, I’m going to adopt this one. Instantly connected us on something I was intensely interested in. Ideas are connected. Geography is a dark ages dimension I want to leave behind. I would like to build a Serendipity machine. Matching up small groups of people who can mutually benefit each other. Meetups, study groups, conferences are geography bound. Online is an opportunity to be more explicit about the dimensions to collide on. Online is unexploited, because groups are too large, and search is too direct. Online questions are unidirectional.
A shared thread that unites a small group that is not their primary mission. Knowledge is a graph (or tree, not sure). People are connected. LinkedIn has people’s skills, but need more fine grained info.
Would type auto-annotating be a good thing? Clojure code often follows naming conventions which strongly suggest a type; m for maps, v for vectors, xs for seqs, s for strings, n for numbers, nat for natural numbers etc. Generating Core.Typed annotations for these should be easy. Not sure how valuable it would be, but seems like a it could be both invisible (annotation in a separate file), and occasionally find compile time errors.
Jonathan from CircleCI indicated that their business continues to grow, and talked about how they are able to scale, rollout and test improvements to their build automation infrastructure while continuously serving so many customers. Thanks for sharing, I was really impressed at the scale you are reaching.
Rob was interested in Clojure from a strategic advisory perspective.
Everyone I spoke to had an interesting story to tell, and were working on really cool stuff.
Lots of people were looking for work in Clojure. Lots of people and teams are converting from PHP/.NET to Clojure.
Many great companies big and small are actively hiring:
Amperity. Derek has assembled a Clojure swat team and is looking to expand a few senior roles. Given their past successes and calibre, I am sure they will succeed with their ambitious and widely applicable product.
Simple. A better way to bank. Cate clearly loved the product and company she works for. Simple has a fantastic culture and a solid customer base who love the features and level of service. Half the team works remotely. Recently recommended as a better alternative to Google Wallet.
Capital One was actively seeking new recruits in many locations. They already have a strong team and looking to grow it.
Clojure is on the approved languages list of Boeing.
There are far more companies with Clojure teams than I could keep track of. There is still a perception that it is hard to hire Clojure developers, and that it is hard to find work as a Clojure developer. Yet at the same time many people were building amazing things after only converting to Clojure a matter of months ago. I met many people from lots of companies I hadn’t heard of before doing amazing things with Clojure.
Quite a lot of the people I met worked remotely. There were mixed reports on the effectiveness of working remote. Several community respected and experienced software engineers related;
A: “It is currently surprisingly hard to find remote opportunities.”
B: “I am considering starting a remote team, and wondering whether the benefits outweighed the negatives compared to a collocated team.”
C: “We like remote because of the hiring pool, support hour coverage, diversity that our international staff bring, and local business connections.”
D: “Remote is a hinderance, and it is boring to be on my own. Nobody to have lunch with. Isolation. Social aspect lacking. Communication tech sux. Less productive. Works for consulting based. Need an MC for meetings to make them work. One week onsite at start of any project is an absolute must. But the best opportunities are remote, and I wouldn’t give up my current role for a collocated one that was less interesting.”
E: “Remote is not currently working for us. I am left out; not aligned on priorities, miss out on communication, unaware of office politics, and isolated. I think we may overcome these issues as we are actively hiring more remotes and transitioning to a more remote oriented model.”
I was quite surprised that opinions on remote were so varied. My experiences have been very positive, but clearly this is not a widely viable approach yet. Geography is still a thing. No one else seemed to be using explicit pairing, just informal as needed interactions.
A recurring theme was that Context matters. Mario’s excellent talk explored how contextual conversations are. Bryce’s excellent talk was full of ways to express and travel through context. Amie’s excellent talk emphasized the importance of context for learning and teaching.
Take time to think. Build a layer to solve a problem. Clojure enables small teams to achieve big results.