Engineer to Engineer: How Open Source Can Welcome People into Tech
Written by Archana Vaidheeswaran
In this edition of Engineer to Engineer, Archana Vaidheeswaran, Leadership Fellow at WWCode and Artificial Intelligence Engineer at Continental, sat down with Jolene Langlinais and Diana Lease from Clause to discuss their company’s involvement with Accord Project, why open source contributions are valuable ways to break into tech, and how individual open source communities can be more inclusive.
*Diana’s dialogue is in standard font, Jolene’s is in Italics, and Archana’s is in bold.
Archana: Both of you come from non-tech backgrounds. As someone who transitioned into the industry from electrical engineering with the help of online coding resources, I would love to hear more about how you broke into the field.
Diana: I went to school for music business, but my job at a music tech startup after college exposed me to computer science and allowed me to work closely with engineers and developers. That’s when I became inspired to learn how to code myself. I searched for free online resources and completed a few weekend courses to dip my toes in the water, and that’s when I decided I wanted to pursue a career in software.
I signed up for a full-time programming boot camp and committed to the career switch. This kind of transition is not uncommon nowadays; you certainly don’t need a computer science degree to have a technology career. The field benefits from having people of different backgrounds bring new perspectives.
Jolene: My journey is different from Diana’s, but it converges at the point of attending the same boot camp.
I always wanted to spend time on computers as a child, but never really understood coding. Instead, I joined the culinary world with the naive idea that you should live to work, not work to live. I wanted to love my job so much that living and working were, essentially, the same. Unfortunately, I soon realized that I dug myself into a hole and spent the next ten years trying to dig myself out.
I bounced between industries after leaving culinary, even exploring massage therapy for a while. I eventually found myself in a coding boot camp and loved it. My transition into tech was slightly more complicated, however, because I was a Jill-of-all-trades without a solid career foundation. I needed to rely on other people to assist me through the process.
Archana: Immersing yourself in the community is undoubtedly necessary for growth in the tech industry, especially if your background is dramatically different.
On a different note, I’d love to hear about the role open-source projects played in your transition into the industry and how they can help others.
Diana: I wasn't very familiar with open source projects when I first started in tech, but now I believe they can be very accessible and valuable for newcomers. They’re excellent ways for people curious about programming to try it out and meet fellow community members.
At the Accord Project, we try to create an inviting environment for new developers of any background. No contribution is too small. We want developers to glean as much from the experience as possible.
Jolene: I came into open source with a lot of strong opinions. In my first experiences with open source, I encountered a lot of gatekeeping. I remember thinking open source contributions were so cool, but people involved were harsh and would claim I didn’t know anything.
It’s incredibly frustrating. Many people are afraid to ask questions because they fear attacks from others, which prohibits them from growing. A similar phenomenon was common in the culinary world; this idea of, “I learned the hard way, so you should learn the hard way, too,” which contradicts the concept of education. Don’t exclude people because you’re bitter.
As such, I was determined to remove these barriers to entry when I started contributing more. There’s no such thing as a stupid question, which is a philosophy the Accord Project aheres to.
Archana: I’m glad the Accord Project is actively fostering new developers. However, sometimes the sheer size of open-source repositories can be overwhelming. How would you advise people to navigate them and approach contributing?
Jolene: That’s an excellent question; it can be tempting to avoid contributing at all because the code base is so complicated. I encourage people to focus on one issue at a time, pay attention to buzzwords, and ask whatever questions they have. Contributing to open-source projects is not as simple as, here’s a problem, here’s the answer, done. It’s supposed to be a discussion. Don’t be afraid to ask for guidance, and in turn, don’t alienate people for not understanding something already.
Archana: How do you approach your own open source contributions?
Jolene: I spot many things I don’t think should be present or structured in a certain way. It’s helpful to approach it as if I’m a beginner again, highly critical of everything. When it comes to writing documentation, it’s important to write it without too many assumptions. Some heuristics have to be involved, of course, but you want to make sure that all documentation is accessible for anyone who is genuinely new.
Archana: In addition, Clause offers a portal to help developers understand smart contracts, which I appreciate because I am very new to blockchain. What was your company’s motivation behind launching the Clause Developer Portal?
Diana: The Accord Project houses the core technology for adding executable logic to legal text — what we call “smart legal contracts.” Clause builds on top of this to connect those contracts to external services and systems.
We offer a user-friendly UI that customers can use to create smart legal contracts, but we also provide a public API for others to use and build off of. That’s where the Clause Developer Portal comes in, enabling developers to use our APIs with as little friction as possible. Our platform doesn’t specify that you need a blockchain — we’re blockchain agnostic — but you can certainly choose to integrate with one if you wish!
Archana: I’d also like to hear more about your company’s Cicero Project. As someone who has contributed, Diana, how did you get involved with Cicero, and how has the project helped your work at Clause?
Diana: Cicero is the Accord Project’s engine that we’re building on top of. Clause’s Chief Scientist recently rewrote much of Cicero to incorporate requirements from the community and provide additional functionality. At Clause, we then factor in changes to Cicero and use these new features and bug fixes to improve our products.
Archana: Clause has many projects, so how did you become interested in this one?
Diana: My particular skill set steered me toward the Accord Project contract editor. Inside the project, I conduct a lot of front-end work and build React components that use Cicero’s technology to create and edit templates and contracts.
Bringing it back to how to contribute to open source, I think determining how you can apply your skill set to a particular project is a great way to find projects you’re interested in and can bring value to. It was using React to contribute to legal tech in my case, but it could be different for someone else.
Archana: I agree, leveraging your existing skills to improve an open-source project is a great way to get started. How else would either of you recommend developers get into contributing and maintaining an open-source repository?
Diana: Find a project that excites you. Many open source communities are present on GitHub and have Slack or Discord channels, so reach out to people to see if you can contribute to what they’re working on. The Accord Project has a Slack channel, for instance, and we conduct weekly Zoom calls that are open to anyone in the community who wants to see what we’re working on and find out how to get involved.
Jolene: I would add that some communities are welcoming, and others aren’t. Be wary of the sunk cost fallacy and don’t invest time or energy in places that resist you. Open-source projects are open because they’re supposed to want people to contribute to them, so find communities that are excited to have you.
Archana: You are also vocal on your blog about TypeScript, Diana. I am curious to hear more about your interest and what contributions you’ve made with it.
Diana: Your question reminds me of something else we do at Clause. We host bi-weekly “patterns and techniques” sessions, where a developer at the company spends an hour talking to the rest of the team about something they’re interested in. It’s a great way to learn something new.
The other day, our Chief Scientist gave a talk on statically-typed languages, specifically OCaml. The topic led to a discussion about JavaScript, a dynamically typed language, and why we use JavaScript at Clause. There are trade-offs, of course, but TypeScript is an attempt to get the best of both worlds. I enjoy TypeScript because it’s excellent for people who already know JavaScript but want to increase their code’s type safety. For instance, their code will complain when they pass an integer to something that accepts a string. It helps catch errors earlier.
We use traditional JavaScript for most of our projects at Clause, but we do use TypeScript for some things. It’s necessary to approach it from a per-project basis and decide which kind of language is best for the task at hand.
Archana: As for you, Jolene, can you elaborate on how you became interested and involved with the Accord Project, especially the Web Components repository?
Jolene: Web Components is a relatively new repository in the sense that it’s a conglomeration of three other pre-existing repositories. Those pre-existing projects originated last year when we decided that users needed a UI to edit contracts efficiently and take advantage of the Accord Project technology properly.
I worked in developer experience — such as documentation and guides to structure and organization — so my skills fit the project’s needs. I helped consolidate those repositories into what we now know as Web Components, which has become the Accord Project’s primary monolithic repository that deals with front-end development.
Archana: That’s interesting to hear; I’m more interested in approaching documentation from a back-end perspective now! Moving topics, were you a part of Hacktoberfest last year?
Jolene: I was! I organized and facilitated the Accord Project's involvement as well. It was our first year participating. We gave swag and other merchandise to around 100 contributors, so it was a phenomenal experience. I’m looking forward to having the Accord Project participate again in Hacktoberfest 2020.
Archana: There’s nothing like the power of swag! Do you have any tips for developers hoping to contribute this year?
Jolene: My advice is to be deliberate about budgeting your time. Set aside an hour per week, or however often you’d like, to contribute to the project. This tip applies to open source in general.
Archana: Another question I have is about transitioning from someone who was only using open-source technology to someone who actively maintains it. What is this new dynamic like?
Jolene: I would always try to be careful when contributing to other open-source projects, with both the community and the technology itself. It’s like being at a restaurant — I like to be extra nice to wait staff to compensate for how awfully other customers treat them. Now that I’m in maintenance, I’m more vigilant for people who aren’t welcoming or taking care of the project properly. I’m in a position to create the kind of environment I want to see.
Archana: That's an interesting analogy, and being more welcoming is definitely something many open source communities need to work on.
I think this brings me to the end: because your journeys have had so many ups and downs, is there a particular philosophy or mantra that you live by that has helped you persevere?
Diana: My philosophy is that you are the person who worries about your mistakes most. Other people don’t focus on your perceived failures, so don’t be too hard on yourself. Ask mentors for help when you encounter obstacles you aren’t sure how to conquer. There are always risks involved, but if you’re working on something you’re excited about, both the journey and the end result will be worth it.
Jolene: I believe that behavior has to change at the lowest level possible. You can decide what that level is for yourself, but it usually funnels down to fears and insecurities. Overcoming these fears means remembering that the stakes are not as high as you imagine they are. So what if people disapprove of you? We’re all making things up as we go, so shape the reality you want and give everything your best.
______________________________________________________________________________________
Diana is the Lead Frontend Engineer at Clause and a maintainer at the Accord Project. She transitioned to software engineering from a career in the music industry after attending a programming boot camp in NYC and is interested in helping others who come to the tech industry from various backgrounds.
Jolene Langlinais is a Full Stack Engineer at Clause and a maintainer at the Accord Project, and comes to tech by way of culinary and massage therapy. As a fan of functional programming and decentralized systems, Jolene loves developing efficient and beautiful systems.
Past WWCode events with Clause are available below: