Nick Schello, Revelry’s Chief Technology Officer, began his career here as a software engineer in our apprentice program in 2014. After seven and a half years of Revelry, what are his biggest lessons? And what advice does he have for engineers new to the field?
What makes an engineer successful here?
Asking questions is a really good starting point. Learning to articulate your challenges and ask questions is not easy. But the sooner you get over that, the sooner you get answers, and people can help you figure out how they got that answer. It can be hard for new people to get used to how open we are about our work. It’s a little unnerving at first to see how much is out in the open, if you’re not used to that.
We have an #implementation channel on our company Slack workspace, where anyone can ask for technical advice. And it can feel very intimidating to post there. There can be personal pride in feeling like you can solve your problems alone. Imposter syndrome kicks in. People feel like something’s wrong with them if they don’t know everything, and that’s not true. Those are hard lessons to learn. Somewhere along the way, you find your optimal threshold between pushing yourself and asking for help. It’s different for everyone, but finding your point and knowing that it’s okay to get to that point is super important. Remember that it is very likely that someone knows the answer to your exact question. So ask! The multiplier effect for that is super huge at every point in your career.
A willingness to ask questions makes you super adaptable. It is the nature of our business to have projects sprawled across tech stacks, which means you need to be comfortable picking up new languages and technologies. There’s so much opportunity to learn from others and be the person that charts a path forward to territory unknown.
What was your apprenticeship like?
When I started as Revelry’s first apprentice, the company had seven engineers, two designers, and me working in a shed. Our desks were in a L shape, meaning a senior engineer was literally within arms reach of me all the time. Some of the strongest memories I have from that beginning period came from how unique it was to work right next to someone and learn from them as I went. It’s unquantifiable how meaningful that exposure was.
Even though I have a bachelor’s degree in computer science, I’m not someone who can read a textbook about a language and be like, okay, I get it now. Everyone learns differently, but for me, it’s great to be able to work on something that exists. I would use a codebase as a sort of guiding light to find my way. I first started working on low-hanging fruit from a partner project we had at the time and then moved on to more complex tasks over the years.
That approach to learning has stood the test of time. My apprentice experience is a streamlined version of our program today: spend some time learning, be in the vicinity of other engineers who can answer your questions, and start trying stuff. In the last year, we’ve had projects using Java, .NET, Python, React Native, Phoenix/Elixir, Ruby/Rails, and Web3. Being able to work on a multitude of things is definitely something that our apprenticeship exposes you to at a very early stage. It is great to learn by doing.
How did you grow your career?
It happened pretty organically as the company grew. These are the stages I went through:
- Solo developer on a project: running a project on my own
- Tech lead on a project: leading other engineers
- Engineering coaching manager: This was the first phase of our coaching program. I was working with the engineering leaders to figure out how to get more support to more people and spread that responsibility around so that it didn’t fall squarely on one person. I was doing one on ones and helping forward our engineering standards.
- VP of Engineering: At this stage, I was focusing on being a tech lead and helping other people be tech leads to make sure that things are on the right track.
The road for me at Revelry has been different enough for me over time that it’s always felt like I’m challenged to learn or do something new. From the technical side of things to leadership and people management, a perfect cadence of change has made me want to stay. The job is never really done. There’s always more that you can do: different ways that you can help, new businesses to build, engineers to learn from, etc. I’ve been super fortunate that the wave worked out for me in that way.
What do you do as CTO?
As CTO, I think a lot about what direction we are going in as a company. Are we choosing the right technologies and patterns for the kind of work that we’re doing? Are these decisions enabling us to build the best software and businesses we can? Are we empowering our team to do their best work?
Many people equate a CTO to being the kind of technical visionary, but I try to anchor myself in being the advocate for all the people on my team. I want to cultivate a culture that people want to be a part of, a culture that helps people grow. To do this, I work with the engineering directors and coaches to improve our internal processes and hold ourselves accountable to our standards.
I regularly meet with the two engineering directors, Jason Pollentier and Daniel Andrews. We want all projects to get the technical support they need. Sometimes, we drop in on projects that need help. I’m very excited about having not just my own space to do work on projects but having space for Jason and Daniel to provide guidance and ensure that the ship is going the right way. It’s rewarding to help those teams execute more efficiently. It’s really nice.
Another goal I’m working towards is bringing the engineering team closer to the sales process. I join sales calls to display what kind of work we can do and help businesses think through the problems they’re trying to solve. That helps us prepare for projects and make sure they’re successful.
What is the hardest part of your job?
The hardest part of being a CTO at Revelry is answering awkward questions about how you got where you are in your career. For sure.
As a software engineer, I find it hard when you spend a lot of time building something only to find out it isn’t what you were supposed to build. That’s always a tough one.
How do you stay motivated?
I get a specific satisfaction from solving hard problems. I like translating business goals into actionable items, organizing the work in a linear way, and leading teams through the execution. It’s super cool to be a part of that and fun to watch it happen. One of the projects I worked on went on for years. We got to take it from zero to a thousand. There were really high highs and really low lows. It’s amazing to see how much we took on, what we were able to accomplish, and how the team changed and dealt with adversity. Even though it was demanding, that project will forever be immortalized to me.
I’ve definitely had times where there might be less complexity on a project. In those situations, I lean into enjoying the pure programming aspects of the work.
It’s also really important to know your strengths and interests. I really like learning new things. Sometimes we interview engineers with very strong opinions who think the language that they write in is the only good language. Someone with those interests might be happier somewhere else. A lot of Revelry engineers have a concept of what they like to write in but are open to learning new stuff.
What advice would you give to someone thinking of becoming a software engineer?
Boot camps are a great option for getting into development. Most of our apprentices come from boot camps, and they seem to have the easiest time because those courses focus on the type of stuff we do. We have a great relationship with Operation Spark. Several of their graduates have come here as apprentices and done super well.
What advice would you give your younger self?
You’ll pretty much always be mortified by code that you wrote six months ago and that’s okay. That’s just the way it goes. You’ll never know everything, and we’re all continually getting better. So don’t stress yourself out about not knowing everything. That’s a fool’s errand for sure. Keep asking questions and learning.