Johnny Boursiquot is a software engineer with RBM Technologies and co-organizer for the Boston Ruby Group and Boston Golang communities. We recently had the chance to catch up with Johnny and discuss the value of community, barriers for diversity, and the necessary education for a developer.
An Inside Look with Codeship is a regular series providing an insider’s perspective on founding and building a tech company. Each session, we chat with some of the most exciting voices in tech and ask them where they’ve been, where they’re going, and what we could all be doing together. You can read all Inside Look interviews here.
Catch the highlights of Johnny's answers in the video below or read on for the full interview.
Tell us a little about your work. What's the biggest challenge you’re working on right now?
Right now, I'm an architect for a company in Boston called RBM Technologies. The projects I take on tend to be those that help the engineering organization deliver on strategic bets the company is making. To that end, I must always be willing to take a step back and ask, "What does the business want to do?" and to then translate that into, "What technology needs to be brought in, created, or orchestrated to make that business goal a reality?"
I don't like to program or build systems in a vacuum. I like to understand what drives what we're doing, and that starts at the business level. The more about the domain you understand as a developer, the more focused and rewarding your efforts are going to be.
You're very well known in Boston for the Ruby developer community you've helped grow. What do you think is the biggest benefit of community for developers?
What I get out of it is the ability to connect with others.
Often, it's believed that developers sit behind a screen all day and just keep clacking away, but in reality this is as much a people job as it is a coding one. When you interact with people, you get the sense that there's more to this than just the technical. There are other people you can interact with, there are life stories. People might be in the same situation as you or going through something where yours is the interaction that helps them out personally or professionally. It's not just the technology that’s important -- the connection to people plays a major role as well.
That's what draws me to it, and I think the Ruby community has the best feel for that. We really go out of our way to be nice and welcoming to people in general. That's every Ruby community I’ve come across, not just Boston.
Is there something you feel the community needs more of?
Honestly, a large part of community is just showing up.
I see a lot of folks entering the industry and the community with the fear that they're not going to be accepted, or thinking that they're not smart enough or technically savvy enough. Honestly, it's just showing up and being part of the group. Let the rest take care of itself.
What’s your role within your own development team at RBM Technologies?
My current engineering team is about 30 or so people. As an architect, for better or for worse, everything you do affects most teams. That means some of the decisions I make have widespread impact. It's one of those things where you always feel like you have to get it right; otherwise a lot of people are going to be building a lot of things that don’t work out well.
Like many in our field, I do suffer from impostor syndrome, and I'm always questioning myself. "Am I making the right decision here? Am I using the right technology there?" There is a bit of pressure, often from myself, but I have to be confident in the decisions that I make. That comes with experience and practice.
You said one of the challenges as an architect is making sure that your decisions are the right ones for the company. How do you deal with that uncertainty in the process?
First, when making an architectural decision, you make the best decision you can with the information you have right now. Tomorrow things may change, and that may force you to change the design based on some new information or knowledge, and that’s okay. Architectures and designs should evolve along with the systems they engender.
Second, you have to take yourself out of the equation. Engineers are excitable when it comes to the latest languages, frameworks, and related technologies. I’m no exception. You have to care about something other than yourself and the technology that you want to use. Temper your excitement for the “new” with the pragmatism that comes from reminding yourself that it's about the business and what it needs.
I noticed you were active with Launch Academy, and education seems to be one of your passions. What kind of education and training produces the best developers and engineers?
At this point, most people know that there are many paths to enter this industry. Some go through the four-year computer science (or related) degree route, many opt for bootcamps (like Launch Academy), and others, myself included, are still completely self-taught. Regardless of the path you take however, I believe passion is a key attribute found in the best developers I’ve come across.
You have to continuously have passion for what you do. That said, one needs a great deal of perseverance to become a great developer and persistence to remain one through continuous self-improvement, mentoring, and, I believe, community involvement. The good news is, if you love what you do, you’ll enjoy the process every step of the way.
You said you got started in tech at a young age. Did you have an early project you built that you were really proud of and that was kind of the moment it clicked for you?
When I was a kid, I saw the movie Hackers and thought, "Wow, this is just magical. This is just amazing stuff." This pushed me further into reading technical manuals, but some of the language and terms felt daunting. I remember thinking, "I don't understand any of this stuff." With perseverance, you start relating bits and pieces of knowledge and seeing how they all fit together. Eventually, you start to get it.
Building my first computer was the first big revelation for me. I built it myself because I couldn't afford the $3,000 price tag they had at the time. And when I did... it wasn't a mystical box anymore, it wasn't like this thing you see in the movies, though it still felt magical.
Is there a specific problem facing our industry that keeps you up at night?
The push for increased diversity is a great mission. The emphasis seems to lean more on gender diversity than any other kind however, and that’s what I’m a bit concerned about. That said, I love teaching at events and speaking at conferences aimed at encouraging more women into the technology field.
I believe there are a couple of specific ways we can push the diversity mission forward, and that’s through exposure and removing barriers to entry for those that are underrepresented.
First, exposure, simply put, can open up a world of possibilities that was perhaps never on the radar for certain groups. If I can teach a middle-schooler or high-schooler in the underrepresented communities of our city how to assemble a Raspberry Pi computer and program their first game on it, that may spark an interest in them that they didn’t know was there.
Second, the barriers to entry I refer to are sometimes the ones you can’t see but know are there. For example, as a person of color, if I never see a speaker who looks like me at a conference or on a panel, that’s a signal. The persistent lack of something is itself something in this case. As a tech community, we need to continue our efforts to diversify our speaker pools and those we present as experts to our peers.
Efforts like these could have a tremendous impact on the number of young individuals of color who choose to pursue careers in technology.
On the technical side, is there a recent advancement that you think will transform your work in the future?
That's a tough question. In this industry, there is a constant stream of new and innovative products and technologies. I don't think we've yet reached the potential of wearable tech. In my particular field, there is a lot of applicability.
I happen to work for a company that does retail space planning, and a lot of times folks are walking out onto the floor of a retail store, and they have to pull up an iPad and look things up. I can imagine a world where I'm not walking around with a tablet anymore. Maybe it’s a display wrapped around my arm that frees my hands to do more important tasks, or maybe it’s a next-generation Glass-like head gear with mid-air gesture support. I think wearable technology is going to blow our minds in terms of what the possibilities are within the next decade or so.
Is there one challenge we have to overcome before we can really make the most of wearables?
We have preconceived notions about what wearables are or should be.
If you take, for example, when Apple came out with the first iPhone, nobody thought of that. Nobody thought, "Okay, you can put all of these things together into a device that you can still call a phone." The iPhone introduced a concept that stopped the phone from being just a phone. The phone functionality on your phone is just an app like every other app on your phone. It just completely blows your mind as to what you were expecting a phone to be.
I think we're going to go through the same breakthrough with wearables. Right now when you think of wearables, you think of smart watches (like the Apple Watch) and activity trackers (like the FitBit), but we haven't scratched the surface yet for what wearables can be. I'm looking forward to what the innovative players in our industry come up with.
If you had a time machine and could go back and give yourself one piece of advice when you started your career, what would it be?
It would be: Know the difference between products and services, more specifically, product companies and service companies.
When you work on products, you get a chance to see the software evolve, capture feedback from users, and improve the code over time through iterations and opportunities to refactor. In the agency world (where I spent a decade), most projects are one-off custom deliverables, and that means you don't often get a chance to go back and make it better post-delivery. For a while, I struggled with reconciling the need to deliver projects this way and my own ideas of what well-designed software needed to be.
There’s nothing wrong with product companies or service companies, but you must understand the trade-offs as a developer. If you enjoy working on new projects every three or so months, companies that offer software development as a service are where you want to be. If instead you enjoy seeing the code you and your team write evolve through several iterations for years to come, companies that offer a specific product or products may be for you.
Anything else you’d like to conclude with?
To my fellow developers, young and old, new and experienced, “community” implies ownership, and that puts the onus on all of us to keep ours a welcoming and vibrant one. Let’s never be satisfied with the status quo.