Isabella Silveira: Becoming a developer was the happiest coincidence of my life

How hard is it to pick up ClojureScript? 🤔

JSNation
5 min readMay 23, 2018

We’re bringing you an interview with Isabella Silveira, a software engineer working on great digital products at Work&Co. Throughout her career, she has worked with scientific research at COPPE, one of Brazil’s most prestigious research organizations, and nowadays works both on back and frontend applications. Isa has worked on products from world class companies like the Stanford University, Planned Parenthood, and Banco Votorantim.

How do you usually introduce yourself?

I’m curious about everything, a big fan of arts and maths (also always finding ways to combine both of them), more competitive than I’d like to admit and I’m always up for a good talk and a pint of beer.

First started as a back end developer doing academic research, but eventually shifted to the front side of the force. Passionate about solving problems, I focus most of my free time learning stuff about functional programming, web performance and machine learning. Nowadays, I work at Work&Co making amazing digital products millions of people use everyday.

How did you end up being a developer? What do you love the most about your work?

I guess I can say it was really the happiest coincidence of my life. Back when I was 13, my parents were facing some financial difficulties, so paying for my private school was becoming impossible. In Rio, one of the most prestigious high schools is a federal institution called CEFET, where the tuition is completely free, but in order to be enrolled on the regular high school course, you also had to attend to one of the technical degrees at the same time.

The competition for the spots was really tight, but I managed to pass its admission test; the only thing left at that point was to choose the technical area I would want to follow. Of course back then I had absolutely no idea what programming even was, but among all of the options, the informatics course seemed like the best one and I immediately fell in love with it. I never stopped coding and learning about technology ever since, and can’t picture myself doing anything else.

How much time will it take for a regular JS developer to get comfortable with ClojureScript?

It all really depends on each developer’s previous experience, but things like familiarity with the functional programming paradigm can certainly speed things up. Other than that, it’s pretty much getting used to the syntax (say hello to a bunch of parenthesis and s-expressions) and the tooling, which is a lot less complex than what we usually face in JS land.

For me it took one to two weeks to get familiar with the syntax and the functional way of writing code and some months digging deeper into more complex concepts like macros, atoms and Google Closure Compiler’s advanced compilation settings, but I’m always learning a little bit more about it everyday. For me, understanding how the smaller pieces work and how everything comes together under the hood is a big part of the fun!

How mature is ClojureScript for modern front-end development?

ClojureScript was first released back in 2011 and since then it has been through multiple modifications and enhancements, leading it to a much more powerful and solid shape. So far, ClojureScript alone has had the adoption of many large scale products and companies like eBay, Cisco and CircleCI. Besides the Clojure and ClojureScript community being really active and contributing with brilliant open source contributions, the whole ecosystem has the backing of a company called Cognitect, which has teams working towards guaranteeing the language consistency across multiple environments and releasing new features to the native languages.

Another really great aspect about the Clojure world is how engaged the community is. You get a much closer relationship with other Clojure developers because of passion and the smaller size (it’s much less used than JS). There’s a slack workspace called Clojurians (you can access it on http://clojurians.net/) solely for discussing ideas concerning functional programming and the whole Clojure universe, as well as helping other developers with questions they might have.

How much value would adoption of ClojureScript bring to small/medium sized projects?

I always saw smaller to medium projects as amazing opportunities to validate concepts and try new technologies. ClojureScript (among other things) is a great gateway for learning functional programming in general.

In projects of any size using ClojureScript, you’ll get all the advantages functional programming gives you out of the box, such as: immutability, parallelism and function composition instead of state handling. You are able to work in a REPL oriented environment, where you can quickly evaluate functions and simulate isolated component behaviors.

Even more, you get ClojureScript specific libraries such as core.async, which brings the concept of Go channels to the front-end world, completely change the way we think about our client side applications. Being in touch with this new paradigm is a completely valid and mind opening experience to all sorts of projects, especially the smaller ones.

Which recent project/event contributed to ClojureScript adoption in JS community the most?

The release of the integration with npm modules last year was definitely a huge step towards interop heaven. Now we can not just use and interact with native javascript modules in our ClojureScript codebase, but it also utilizes the benefits of Google Closure Compiler’s advanced compilation settings, shrinking down the bundling size big time.

This makes the tools that we’re used to using in the JS world like React, for example, be even smaller when being used on the CLJS ecosystem: React’s final bundle size under advanced compilation is around 16% smaller than using other existing Javascript tools for instance.

Are you excited about speaking at Amsterdam JSNation? What’s your experience with speaking so far?

Absolutely! I can’t wait for it! I’ve spoken at a lot of conferences and meetups in Brazil, talking from TDD to machine learning. The dev community in Brazil is going through a very special moment where local meetups are becoming more frequent and crowded, as well as bigger confs are getting even more support and attention from developers all over the country (for example, BrazilJS has over 1500 attendees every year!).

Being able to be part of that and contributing to maintaining this scenario for the past years is a big honor.

See the full lineup of Amsterdam JSNation

--

--

JSNation
JSNation

Written by JSNation

#JavaScript community organizing confs and meetups, gathering 20K+ people online & 1K attendees in-person. #JSNationLive #AmsterdamJS

No responses yet