/ Developing Stories_

From Notebook Sketch to the App Store

Rafael Reis is an accountant by trade who also built ChangeUP, a budgeting and financial literacy platform for freelance professionals. Two and a half years ago, Rafael tweeted about his experience as he wrote ChangeUP’s first lines of code, and we’ve been following his story ever since. As Rafael prepared to release ChangeUP in the United States this spring, we interviewed him to get the full story of what happened between that initial tweet and now.

Read on to learn why Rafael started coding, his thoughts on automation wiping out the accounting industry, and why he believes the concept of a "technical co-founder" is outdated.

  1. What inspired you to start coding?
  2. Were there moments when you felt stuck?
  3. What skills would you have benefited from having as an accountant?
  4. How will your role shift as you build your team?
  5. What advice would you give someone in the position you were in three years ago?

Alexus: Can you take me through what inspired you to start coding in the first place?

I started this back in October of 2015. My background is in business consulting, so I've been active in producing financial literacy and helping people with their personal finances. And I had this aha moment where I realized I could either write a bunch of articles and send them to a million people and barely get by, but I'd be broke very fast. Or I could build a platform where individuals can access that information at any time. So I decided to create a software platform that allows for individuals to have that conversation about money with themselves on their mobile device. And it started with me just drawing up a tech brief with what I was hoping to get out of a software engineer.

And after a few months of trying to find someone who would be my tech co-founder, I was being told constantly that the scope of work was either too large or too ambitious. So I really had a choice of continuing down the rabbit hole of trying to find that software engineer, or I could teach myself how to program.

I came across Codecademy, and when I started, it was initially intimidating. I just started with HTML, CSS, and then it was just one course after another. And as I was learning the courses, I was mapping out the flow charts of the app that we've brought to the Canadian market, and what we're bringing out into the U.S. in May. It's crazy to think that changing careers from accounting to coding was even possible, but it was just that momentum where, after the first course, the badges just start coming in.

So from the first week of October to the third week of November, I shut down my consulting practice just to put everything on hold, and I learned to code. The tech brief that I initially wrote instantly changed, because it was from somebody who was non-tech. And then I was able to start building the foundation.

So you were able to go back to the brief you had written previously with this new information and see it with new eyes.

Yeah, absolutely. So the funny thing that happened with the courseload was that as I started completing courses, I was able to ask better questions. I found that once you get to a certain point in your skillset, you're able to ask better qualifying questions. You can start going to any of the websites where, if you're stuck, there's thousands of people that have come across the same problem as you. Your knowledge base grows exponentially from there. And then after six months, I did all the mathematical algorithms, like in Java Spring, and I was initially trying to create my platform on Node.js. That posed an initial challenge, but then I eventually came across somebody who was giving me some help on Facebook, and he eventually became my co-founder, and we went from Python to JavaScript, and then we, together, over a 12 month intensive period, created an app on both iOS and Android.

Rafael's initial mockup of ChangeUP's debt eliminator feature and the final product.

So you both shared that technical load, in a way?

Robbie's a software engineer already, and he was in the insurance industry previously. The nature of the relationship was that he set the parameters of structure on the backend, and based upon what I learned previously, I could see the flow of what the code was. He would start the initial section, so like in our controllers, I would see the methodology and then looking at our documentation, what needed to be done. Then I would continue the rest of the code, and if I got stuck on something, he would act as a coach to ensure that I'm going on the right path. It was a great learning experience for me, so from the time that Robbie came on, I was slowly gaining the skills to eventually become a full-stack developer of my own platform.

Along the way, were there moments when you felt stuck or unsure of what your next step was going to be?

It's funny that you ask that. When we switched to Python, there were moments when I actually found myself going back to Codecademy when we had an issue. Again, I was dedicating 30 to 40 hours a week outside of consulting in 2016 to build this program. So it was just kind of all over the place, but [Codecademy] would be that reminder of implementing even something like basic switches on JavaScript.

And in the startup world it's very difficult for non-tech founders to be able to communicate with the tech co-founder. This gives me an insane advantage, because I do some talks over here in Vancouver, there's the roundtables and support groups for startups that are on the grow. And one of the challenges that seems to occur is that everyone seems to fit into the template that there's a business founder, and then there's a tech co-founder, and the two should never overlap with each other. Whereas, I'm saying, had I not even bothered to learn code and continued down that path to find a software engineer, I would have never built my platform.

Rafael's initial mockup of ChangeUP's income splitting functionality and the final product.

You come from the accounting world, but having taken this long journey with programming, I'm wondering what skills do you think would have been good for you to have as an accountant, before you started building this company. What do you think you would have benefited from knowing earlier?

I was in an industry that was getting wiped out by technology. You're seeing it now in North America that there are bookkeepers, or mom and pop bookkeeper shops are being closed down because now you have firms that automate the bookkeeping process, you have other companies that replace accounts payable and accounts receivable. The motivator that I really saw was, "If I don't shift my trajectory, I'll be left behind." Which would have been a huge financial endeavor. I mean, at the rate that you charge for the Pro services, it would be like 100 times that to have to return to school and start from zero. There are solutions within the scope of work that you have, especially if you've had a career path for a long time. You can figure out ways that are done better.

And there are prime examples. My consulting practice was predominantly construction companies. I was reading up on clients last night, and they said they would show me a scheduling tool, and it's clear that it was a software engineer who designed it without the consideration of the end user. So they were presenting a solution, and then they were having the end users move the mountains and the heavens in order to utilize that platform. And that's where I think coding has its importance, because you can't just take a seasoned programmer and then enter into industries and succeed. As an accountant who deals with personal finance, I understand the pain point of the end user and how they are underserved by the banks and financial planners.

ChangeUP's login screen and monthly expenses dashboard.

As your company gets off the ground and you start building a team, how do you see your role shifting? Is programming still something you’ll want to be a part of your day to day responsibilities?

100%. I find myself always looking at my own platform and debugging things as it goes along. Although Robbie is the technical lead and the technical co-founder, I see myself as a key component in the full-stack development. We have Amber, who is our design director. I empower her to implement her designs, and she is building a team, and as we get to the next level, Robbie will have QA analysts and will want a junior backend engineer. So in maintaining the platform, I'm not going to be as hands-on, but as for structuring these features and doing new, complicated calculations, I'll be through it as long as I'm the head of the company.

I'm wondering what advice you would give a person who is in the position you were in two years ago, three years ago, who doesn't really know what their goals are with programming but knows it's something that it’s of interest to them.

I would say a few things. The first is, have an end product in mind that you're very passionate about. That really helps getting through certain sections. Even still on my office wall, I can see these flow charts that I initially drafted in week two on the Codecademy site. So as you're learning certain lessons, if you're building a certain product, you will be really invested and make notes of, "Okay, I can do this. And if that can do that..." It helps, having an end product to help learning the individual lessons.

The 2 sketches Rafael used as encouragement while learning to code.

The initial part may appear hard because you're trying to learn something new. But because of the way the lessons are broken down, you will find that subconsciously, you're actually picking up a lot of motivation and that your learning process is tenfold as you continue on. So if you find yourself stuck, it's always great to find a developer, and get conversing with them. Because one thing that I was very surprised with is that developers love to help out other individuals. That was the greatest shock factor for me. They are such an awesome community .

It's going to be a crazy ride. You just need to go over the initial stuff, and then from there, you're rocking and rolling. It's amazing.

Get more practice, more projects, and more guidance.