Start With Just A Dream: The North Sprint Review With Ovi N.

Gabi Dobocan
North Code
Published in
7 min readSep 7, 2020

Today on the North Sprint Review, we’ll trace the path of a successful career in programming with Ovi N. — a senior mobile and web engineer with a long-lived passion for anything that has a button on it.

Ovi has been developing apps in Objective C since way back, before the days of ARC, when you had to manually deallocate your memory. You can see how Swift would be his new favorite thing nowadays. But he’s not really the “just one platform” kind of guy, so he’s also got Android development under his belt. Oh, and he’s also fluent in Python, he’s an IoT hobbyist, and also pretty comfortable with JavaScript. And it all started, as it does for many people, with breaking a computer.

Gabi: Could you introduce yourself? What’s your background? What do you do?

Ovi: My name is Ovidiu or Ovi for short, I’m 30 years old, and I’m a software developer and an open-source movement enthusiast. I’m mostly experienced in iOS software development with Swift and Objective-C. Still, I also have experience with Python and Qt/GTK frameworks, and lately, I also began doing Android development.

Gabi: When did you get interested in computers and programming?

Ovi: I always had a thing for any kind of computing device, be it my parent’s TV or a feature phone. If it had buttons, it had my attention. Still true. Being a programmer was always a dream of mine, but it was the kind of dream where you drive a Ferrari, but then you wake up and realize you’re never going to have one. I remember reading articles about working at companies like Google, where they have sofas and gaming consoles, and everything looked like a distant world which I was never going to touch. But I dared to go out there and try to achieve it, and a decade of hard work and dedication later, here I am!

Gabi: What was your first computer?

Ovi: It was an IBM, but I don’t exactly remember which one. It was outdated even for those times, when Windows 98 was being released, while the fanciest thing my computer could run was an MS-DOS system with Norton Commander.

Gabi: Do you remember the first program you wrote? What about the first professional program you wrote?

Ovi: I started to write my own batch scripts (.bat files) when I broke my second computer. Since Windows wouldn’t boot anymore (at that time, I didn’t know how to reinstall it), I was left with a bootable emergency floppy disk with MS-DOS on it, so out of curiosity, I started to look into the .bat files on it and started modifying them. Soon enough, I had my own MS-DOS distribution, which loaded required drivers automatically and provided some useful scripts for maintaining the system. The first professional software I wrote was a site for a pet shop, I recall. Silly me, I wrote the entire website from scratch in pure PHP, and of course, it was a security mess.

Self-Explanatory, Properly Spaced Code

Gabi: How would somebody describe your style of programming?

Ovi: I always try to adhere to the best practices and to the style guides of the environment I’m working in; that’s why I’m still nervous about doing new things (e.g., Android development) because I often start to write something and after a few days or weeks I look back on that code, and I realize that wasn’t the right way to do it. I do have some personal preferences regarding code style (e.g., curly braces on the same line with ifs and elses), but I’m always ready to align with what makes the most sense for the project I’m working on.

Gabi: Can you describe beautiful code?

Ovi: Self-explanatory code, not too crowded but also not too dispersed.

Gabi: What does your day-to-day work look like, and what motivates you every day?

Ovi: I hate routine, so I avoid it as much as possible. When I’m working remotely, I never work from the same room for more than a few days. I don’t have a particular favorite set of tools for working remotely; from my perspective, working from my office or at home is mostly the same.

Gabi: What do you consider the most challenging part of programming?

Ovi: Starting to work on an already on-going project, where you have to catch up with everything that led to the project’s current state. Bonus points if you cannot actually run the project, but you have to understand it from reading the code.

Gabi: What sort of processes do you go through when you design or develop software? Do you think there’s a right way to write code?

Ovi: I like to think about what I want to achieve and how I want the final product to look like. I don’t like to mix things up, so I try, as much as possible, to keep the components of my project strictly separated. I’m a big fan of OOP, so I use its features as much as the programming language allows me. There is always a right way to write code, but that depends on the programming language, frameworks used, and community standards, so it’s not universally valid.

Build Something You’ll Be Proud Of

Gabi: What makes a programmer successful?

Ovi: Someone once told me that being a good developer is just a minimum. It’s essential to be able to blend with your team and be an excellent communicator. Also, don’t just build a product — build something you’ll be proud of.

Gabi: You’ve been a Telepat member for years now. How was your experience?

Ovi: It’s funny how you apply for a job but, in the end, you find yourself being part of some kind of family. That’s what happened to me here, at Telepat. I really appreciate being part of this team and, if I would have to choose the most valuable thing I learned here, that thing is the focus on ethics.

Gabi: Any tools or languages that you like to use or are excited about?

Ovi: I have to confess that I was really skeptical about Swift and it’s nullability thing, but now I find that to be invaluable. One of the most successful apps I’ve written has thousands of users and nearly zero crashes, and I find that to be incredible. Otherwise, I’m a big fan of Python and its support for working with strings — I would really like to see that kind of support in other languages (I’m looking at you, Java).

Gabi: What’s your overall favorite programming language?

Ovi: If it wasn’t already obvious, Swift.

Gabi: How do you see the future of that language?

Ovi: I’d like to see it where is Go right now — with a very effervescent community and in all kinds of places. I know that we have server-side Swift, for example, but it’s something more like a niche thing.

Gabi: How do you go about learning new programming languages?

Ovi: A long time ago, I wrote a social number generator. When I wanted to learn a new programming language, I tried to port that first because it involved working with numbers and strings and joining them together, giving me a good overview of what the language behaves like. I’m more like a practical guy; when I’m learning something new, I dive directly into it and try to solve the problems I encounter, instead of reading tons of paper. It’s not necessarily a good thing, though.

Gabi: How will the rise of automation impact the role of a programmer?

Ovi: I always wonder about that. AIs are getting better each year, and programming will be one of the first fields they’ll begin to affect. We’ll probably start to see more and more things being automated, but the details of implementations will still remain to be done by a human developer, at least for the following 20 years.

Gabi: What type of project do you enjoy working on the most?

Ovi: My favorite kind of project is the one that I get to start. I like it when I have something to say about the way a codebase grows, and it’s usually hard to rewind and try to catch up to the current state. I enjoy working on the front-end, even though I don’t really have a reason for this. Maybe I like it when my software interacts directly with the user, contrasting with the back-end when you have an ugly monster hidden behind a friendly UI.

Gabi: Who in the industry do you follow and read?

Ovi: I don’t like getting my information from a single source; this way, you’re quickly getting one-sided and subjective, and that’s not a good sign. Given that, I like getting my news from Reddit, especially r/technology and r/linux, which — by the way — I’m a big fan of.

With Programming, You’ll Never Stop Learning

Gabi: What do you do to make your life healthier?

Ovi: Before the COVID-19 fiasco, I liked traveling to my office on foot. Even if I’m living in a crowded city, those minutes outside before getting to work were valuable. Now that I’m working remotely from my house’s comfort, this is no longer possible, but I still try to keep that healthy behavior by walking to the store and back.

Gabi: How do you guard against burnout?

Ovi: I’m trying to switch between projects, when possible. Sometimes I find myself getting stuck on something, then I switch to something else, which, eventually, helps me think outside of the box and find a solution to my initial problem.

Gabi: What advice do you have for people who want to pursue a career in programming?

Ovi: Don’t be too harsh with yourself, and believe in yourself. I could have started a career in programming earlier, but I preferred to stay away from this industry because I was not confident that I could manage to keep to a high enough standard. Today, I’m a professional, and I often don’t really know what I’m doing — this is normal, so don’t let this overwhelm you. With programming, you’ll never stop learning.

If you enjoyed this article, press the “Follow” button below to get more content that will help you become a better technology professional. You can also subscribe to our YouTube channel.

Telepat North is an invitation-only club for outstanding coders, offering members free books, courses, learning resources, swag, and remote work opportunities! If you’re interested, you can learn more by visiting north.telepat.io.

--

--

Gabi Dobocan
North Code

Coder, Founder, Builder. Angelpad & Techstars Alumnus. Forbes 30 Under 30.