Newvick used to work as a pharmacist but made a huge career change to tech and became a software engineer despite no Computer Science degree. He now works in the exciting fintech sector. Read this interview for Newvick's tips on learning to code and getting hired as a developer for the first time.
Hey, so can you give us a short introduction for people who want to know more about you?
Hey everyone, I’m Newvick and I’m currently working as a software developer at a fintech company, Wealthbar, in Vancouver.
In my first career, I worked as a community pharmacist for a couple of years. As a pharmacist, I worked in an interdisciplinary program with nurses and physician specialists to help patients with mental health issues.
Why did you first decide to start coding?
When I graduated I felt like I had more free time than when I was in school, so I explored learning different things, one of which was coding. At first, I worked with a friend to make some websites and blogs and got my first exposure to web design and basic coding. Even learning the basics opens up your eyes to so many possibilities. I saw that there were quite a few tasks in the pharmacy that were very repetitive and could be automated.
For my first program, I decided to make software that could help track lab values better for patients taking clozapine. Patients taking clozapine have to go for lab tests regularly (WBC and ANC) due to the risk of fatal agranulocytosis. In the first six months, they have to go weekly. In the next six months, they can go every two weeks. And after a year of no complications, they still needed to go every 4 weeks. Our system was a combination of excel spreadsheets, paper, and the existing software provided by each company that manufactured clozapine. The program I made allowed the pharmacist to keep track of all their patients in one location.
Another program I made would figure out which prescriptions were going to expire soon. We had many patients that received home care and couldn’t always go to their doctor for a new prescription. So we had to manually scroll through a spreadsheet to check for due dates. This task would take almost 2 hours at times. I made a program that automatically parsed through the spreadsheet to figure out prescriptions that were expiring soon, and order them into a presentable list.
After seeing how these relatively simple programs saved hours of work, I saw programming as a superpower.
If you don’t have a CS degree, how did you learn coding? Did you do any particular courses or bootcamps?
Instead of trying to learn how to program, I had a project that I wanted to do (lab values tracking). I did some research about what sort of skills I needed to learn and picked out some well recommended resources. For example, I figured out that I needed to learn a programming language that dealt well with data and csv files. After some basic googling, python seemed like a good choice for a beginner. Then I would find a good python book or course.
I hope that these examples make clear what I meant by a project based learning approach.
Can you tell us what an average day looks like for you just now working as a Software Developer for Wealthbar?
As a fullstack developer, I work on both the backend and frontend. Each developer is responsible for taking an entire feature to completion. When I first started, I worked in Data Integrity. This basically meant that we had to keep our data correct and ensure that it followed our data model as well as it could.
Although it meant lots of digging around the database and looking at rows of data, I came away with a good understanding of the complicated data model and a much better understanding why it’s important. My database and SQL skills got much better. SQL knowledge seems to be highly underrepresented in beginner web developer courses, but it’s so useful in practice.
Our developer team has a weekly learning session that I find very valuable. The sessions are led by one of the senior developers, and some of the topics include web security, in depth PostgreSQL, frontend testing. The topics are usually chosen based on what the senior developer believes would be most useful at that time for the rest of the team.
How did you get your first programming job/ freelance work?
When I was still working as a pharmacist, I went to an Open Data hackathon. The theme was to make something useful with open data. I pitched an idea of crowdsourcing information about medical availability from different pharmacies. One person was interested in working with me, and we actually got something working by the end of the hackathon.
That person had his own company and luckily he was hiring at the time. Since we worked together on the hackathon project, he was able to directly see how I programmed. I also showed him the other programs I made. This was a much better view into my knowledge and skills compared to an interview, so he didn’t feel like he had to test my algorithms knowledge.
How has your life changed since becoming a professional programmer?
I see programming as a superpower. It’s allowed me to automate many tedious tasks in my personal and work life. Recently at work, I launched a new staff feature after writing a few hundred lines of code. I only had to do it once, and now it is permanently there to help internal staff with their processes and save them hours of time.
In my personal life, it’s become my creative outlet. In just the span of a weekend, I can program up a project that can have actual impact. I’ve also met many interesting people in the tech industry. Not only other programmers, but designers, product managers, and more. The great thing is that software technology is becoming more prevalent in other industries, so you can have interesting conversations with radiologists who are trying to use computer vision to better predict illnesses from medical imaging. Not only that, I’ve met many people online that I wouldn’t have otherwise if I didn’t become a professional programmer.
Want to ace your Sofware Engineer or Product Manager interview? Get Exponent's online interview prep course (20% off).
Has anyone ever asked about your coding qualifications when you have been talking to clients or going to interviews?
At interviews, you just have to demonstrate what you know. When I was looking for my second job, I had to actually do interviews. I knew that I didn’t know enough about data structures and algorithms to pass interviews. Right now, there’s no way around it other than studying. Here’s what I did:
- I picked up some resources on data structures and algorithms, and watched youtube videos on the parts that were confusing.
- Did practice problems on leetcode which was crucial to building an intuition around the concepts.
- When I felt more ready, I went through mock interviews with other people (eg. pramp)
Because computer science and programming is such a broad field, I don’t think I’ll ever feel “competent” at it. But I can probably learn a specific skill well enough if I need to, since there are so many resources online.
What advice do you have for someone who wants to get their first programming job but they don’t have the time or money for a CS degree?
You can either go to a reputable bootcamp or teach yourself online. Even if you want to try a bootcamp, it makes sense to try to teach yourself online first. You can figure out which area of programming you like at practically no cost. And if it turns out you don’t enjoy programming, that’s fine too.
I think working on a project works for many people. If you keep working on projects until you find one that you want to keep at, then you’ve found your source of motivation. It also helps to have a community of people who understand what you’re doing, and will support you. There are many maker communities online nowadays, it’s simple to find one that matches your interests. Tldr; project + community
Check out the best online coding bootcamps
Have you ever had imposter syndrome and if so, how have you dealt with it?
I have this feeling very often. Computer science is so broad and technology is developing at such a fast pace, it’s very difficult to stay on top of more than 1 field. I do try to focus on the fundamentals, things that will likely still be useful in 10 years.
I’m no expert, so what I try to do is talk to different senior developers and find out what skills/knowledge they think is most useful for the next 5-10 years. Although they might differ in answers, you do get a sense of what is probably not fundamental (specific frameworks and tools). I find that if I follow my interests and curiosity, I’ll usually learn very effectively.
What I learn is usually related to my side project at the time. Having a side project makes sure that I’m always improving on something. And the best way to ensure I understand something is to use it in practice.
What are your coding ambitions for the future?
Right now I’m working on a side project, habitmon, which is a chatbot to help people build habits effectively using proven methods. If you’ve read books like Atomic Habits, then you know how practical those methods are. The technical skills I’m learning in this project involve natural language processing. I actually enjoyed English more than Math in school, so natural language processing is an interesting intersection between linguistics and software.
This project is also a chance for me to sharpen my product design skills. It turns out that making something people want isn’t that easy.
If you’d like to chat or have any questions, my website has my contact info.