The journey of a self-taught developer

Nadia Zhuk shares how to build a career as a self-taught programmer successfully. She learned to program all by herself and changed her career from being an English teacher to a full-stack developer.

We also talk about:
  • teaching yourself programming
  • starting your developer career as a self-taught developer
  • getting your foot into tech
  • changing your career by teaching yourself how to program
  • moving countries and taking chances for a better life
  • how feature flags are used at Intercom
  • how mentoring, pair programming, code reviews, and also the concept of a buddy can help you ramp up your coding career.


Earn additional income by sharing your opinion on userinterviews.com!


Nadia Zhuk
About Nadia Zhuk
Nadia is a software engineer at Intercom, and was previously working at Zendesk. Before, Nadia was an English teacher, and journalist, until she decided to learn programming and enter the tech world.


Make code reviews your superpower at awesomecodereviews.com!


Read the whole episode "The journey of a self-taught developer" (Transcript)

[00:00:00] Michaela: Hello, and welcome to the Software Engineering Unlocked Podcast. I'm your host, Dr. Mikayla, and today I have the pleasure to talk to Nadia Zhuk.

But before I start, let me tell you about an amazing opportunity that allows you, yes, you, to earn additional income!

Do I have your attention? Yes? Great. So, User Interviews is a company that connects researchers with study participants. And they especially are looking for developers that share their feedback on products.

Share your opinion with top brands such as Spotify, Adobe, Amazon and many more, and get paid. Most studies take less than one hour to participate and pay over $60.

So, sign-up today - It’s free - apply to give feedback for products that interest you, and make a nice side income. Additionally, you help to shape the future of the tools we als use. What’s not to like, right? So, hop over to userinterviews.com

But now back to Nadia. Nadia is a software engineer at Intercom and was previously working at Zendesk.

But not long ago, Nadia was an English teacher, a translator and journalist, until she decided to learn to program and enter the tech industry. Today she shares with me all about he self thought journey and how to successfully build a career as a coder when you're just starting out. So Nadia, I'm really excited that you're here.

Welcome to the show.

[00:01:01] Nadia: Thank you so much. I'm really excited to be, uh, on.

[00:01:04] Michaela: So how long are you now in, in the tech industry? How long are you now a programmer

[00:01:09] Nadia: coder? Yeah. It's been just over four years. And, you know, time really flies . Yeah. So,

[00:01:17] Michaela: um, I, I looked a little bit into a book because you wrote a book about your, your journey into tech, right?

So what you learned on this self-taught, uh, developer journey and, um, it, it starts with, at 25, I decided to learn to program. So what's really behind this story? Why did you decide to, uh, you know, start to program instead of, you know, following your career as an journalist, uh, English teacher? Mm-hmm. And translator.

[00:01:43] Nadia: Yeah. So, um, in my book I talk a lot, a lot, a lot about my background and how I was really non-technical before I started teaching myself to code. And you know, when I say I was nontechnical, I'm not being honest. Uh, you know, modest, uh, I was non-technical. So I was one of those in line people who are afraid of.

Change in the setting on their computer, you know, because they're afraid of breaking their whole machine. So, uh, for me, this change from being a journalist to being a programmer was a really huge transformation. So, um, the decision to switch gears didn't come from a very positive place. So actually, I was working as an editor at an independent news magazine.

Uh, You know, by that time and while we decided to close down the magazine, I kind of was in a very dark place where I didn't really want to continue working as a journalist anymore. I didn't want to be involved in use or politics. I was very disappointed in the whole uh, world, in this whole sphere. So I wanted to do something new and also I was.

Still living back home in Belarus, and I decided to move from Belarus to Poland. So at the same time, I was thinking of what I could be doing once I moved to a new country. So I needed to do something that would be, uh, easily done in a new country where I didn't speak the language, where I didn't know the culture.

So I realized full very quickly that I didn't really have many transferable skills that I could just take with. Go into a country which was, uh, you know, where another language was being spoken. So, um, I thought about different options and honestly I had a lot of resistance, uh, towards the idea of being a programmer, even though it was becoming, uh, You know, pretty obvious to me that this was a career that was wide open to anybody who had the time and the, uh, you know, the energy to learn it.

And I knew that this was probably the best bet for me in terms of starting a new life in a new country. And still I was very reluctant. I had a lot of misconceptions and a lot of stereotypes about being a programmer and. Pretty sure that I would never be able to become a programmer. So, uh, finally I managed to break down my internal resistance.

I started teaching myself to code, uh, bit by bit. It was very difficult. Uh, overall, it took me nine months to go from being completely non-technical to finding my first job in Poland. And at the end of those nine months, I was able to move from Belarus to Poland to start my first developer job, kind of kick my, uh, kick off my new career.

and also my life in the new country. And from then it has just been a very quick progression of events, different jobs. And uh, eventually last year I moved from Poland to London to start my current job. And it is just been such, um, an amazing journey and it's interesting to think of how much changed since then and how many opportunities the technical skills really opened up.

Yeah. And it

[00:04:31] Michaela: sounds like a, an amazing journey. And, um, so what would be interesting to me is, was it all internally? So, um, did you think about like, one day while programming as a career that would allow me, you know, to live the life that I'm dreaming of, you know, like in Poland and with the skills that I have right now?

Um, or is it somebody that you know, that somebody from outside told you, you know, actually programming, you know, would, would make a good

[00:04:57] Nadia: career for. . Mm-hmm. . Yeah. Actually, my husband was the one that really encouraged me to learn to code because he, uh, was, he is also a self-taught programmer, so he encouraged me and he told me that this is something that you can actually learn, that anybody can learn to program if they, you know, put in their time and the effort.

And of course, I also heard a lot of stories from people online who taught themselves to code, and I saw. The skill transformed their lives. But finally enough, I think that I, before that time, I didn't ever consider learning computer science or coding, uh, even though my, um, My brother, uh, has, has been a program professional programmer for all of his life, so almost 20 years now.

And I never really asked him what he did for a living. Nobody really understood it because like my whole family's not non-technical. So, uh, we just knew that he was like, you know, Good with computers, and that's how we knew about him. Uh, so for me, and also I, of course I met people who were involved with computer science, but for me it was always something very foreign.

So I think that a combination of a couple of factors came in, uh, encouragement from my husband, me really being in a place where I didn't know what to do next, and I just wanted to do something that would give me some kind of direction on purpose. Uh, and also something that, Allow me to relocate to another country and start a new life with a job that would be relatively well paid.

And also I knew that there were a lot of opportunities in the world of tech, that those jobs were in demand. I also heard of people really, uh, enjoying the profession and the opportunities that it brings. So, um, there is a lot of different factors. I think that a lot of it was kind of external and.

internal motivation was there as well. Um, yeah. Yeah.

[00:06:40] Michaela: Cool. And so how did you start, like did you go to, um, a search engine and just said like, Programming tutorial , or,

[00:06:49] Nadia: you know, uh, it's, it's nice to remember like what was the first, like, uh, first Google search term, but, uh, I tried a couple of different things.

Uh, I tried, uh, so for the first thing that I tried, uh, was, uh, Website called, uh, try Ruby, which is like a 15 minute tutorial where you can try out the Ruby language. And in general, why did I start with Ruby? Uh, which is not the most popular language and it's not something that most people start with. So I had this friend who actually told me about Ruby, this great programming language.

He said that it does. Meta programming. Uh, I had no idea what it was, but he was like, it's really cool. Then there is also rub rails, which is a framework that is very easy to learn and to, that allows you to build websites very quickly. So I heard this and I was, uh, excited about it at that point, but also I, I think I did the Google search and I looked.

At what was the most popular programming language, right? And it was JavaScript like it is right now. So I actually tried learning JavaScript first before I properly learned Ruby. It was a complete disaster. I couldn't understand anything. Um, I. Went through some tutorials on YouTube, had no idea what they were talking about.

Almost gave up on coding. Uh, thought that maybe I was too stupid to do this. But then luckily I decided to try Ruby and to try this other language and other framework. And this was the moment when I found the tutorial that worked for me that, um, Showed me that there was some hope for me, you know, that I could understand something at least.

And this is when it started. And then I think from there it was easier for me because I, once I understood the basics of programming in rub rails, I was like, okay, now I understand that I need to, you know, also, I did like tutorials for HTML and css, um, on, uh, code Academy and website like this. So I was learning the basics of web development.

Um, and this is how it started. And afterwards, once I underst. There were, you know, there was such in success, there were some several languages. Uh, once I understood the basic words and terminology, I was able to search for more tutorials and for more books. I did a lot of my study actually through books.

Um, and that's how, that's how it went for a while. Then I went into the, you know, job search mode that I built, the type projects and portfolio. Uh, and that was kind of another story, but I don't, I can't say that I had. Organized, uh, curriculum because it was all done by me. I didn't really have like a teacher or somebody who would be guiding me all the time.

So it was mostly self-guided and I think that it worked very well for me, but it was also very difficult. Um, I'm going to lie. Um, but unfortunately I didn't really have any other options at that time. I couldn't afford to bootcamp. I didn't want to go to college, so that was the only option that I had.

And. glad that I kept pushing through . Yeah, it

[00:09:38] Michaela: turned out great. Right. So what's the first job that you then apply? Is it, um, a full, full developer job, or was it like an internship or, um, yeah. What, what kind of job do you, did you feel like you

[00:09:50] Nadia: could handle? Uh, yeah, so I think that like many people, when I was just learning to code, I felt that I wasn't really ready to apply for jobs because objectively I didn't really know that much.

And I'm saying this now because I now know how little I knew at that point. But at that point I didn't really know how, you know, , how poor my knowledge was . And also I was living in Valis and I was kind of, um, I was feeling that, you know, I really need to move, you know, quickly. And there was this. Pressure that I felt, um, that I need to do something quickly and I need to get moving.

And I think that this kind of pressure really motivated me to ignore my imposter syndrome a little bit and become more confident. So I felt that I wasn't ready to apply, but I also know that nobody feels ready to start applying for their first job. So I just started applying. At first I had those ideas about like a dream job, a dream city in Poland where I wanted to leave.

I quickly saw that this was a little bit delusional because nobody would even talk to me. Um, yeah. Cause I was a foreigner. I didn't have, uh, any experience. I didn't really know much. So people were just, uh, replying very politely that I should first get commercial experience and then go back to them.

Yeah. Which was like, okay. But how, how can I do that? . Oh yeah, . But then I changed my strategy. I decided that I need to be creative. I need to start a plan to places where nobody wanted to work instead of places where everybody wanted to work . So I, I started looking for no, like, no name, job boards, and. Like cheaper job boards, not fancy ones.

Uh, for companies that were smaller, they didn't really have much of a website, like small web development studios, uh, located in small towns in Poland. And uh, those jobs were really much more open, uh, to outsiders, I would say. And there was less competition. People started replying back to me. Some employers were very interested in me.

Some were like, we will help you with your visa process and all of it. So it. Change of sim. Um, and then eventually I talked to a couple of companies. I sometimes people ask me like, what was their first interview process like? But there wasn't much of a process because not that many companies were interested to interview me at that point.

So, and then eventually I found a company, they were looking for an intern. In Warsaw, and they said that I passed the interview and they said, okay, you can come over for a one month in, uh, internship. There were no promises made. They weren't like a formal like job offer or anything like that. So it was very, uh, you know, uh, It was, in a way, it was a little bit risky because I was moving to another country for just one month internship without any guarantees.

But for me, I felt that my intuition was that it's right move. So I decided to take, uh, to take this offer, came to Warsaw past the internship, and then I was offered kind of a full-time position and it was a full stack development and rub rails and uh, JavaScript. So that's how it started. Uh, yeah.

[00:12:42] Michaela: Yeah. So sometimes you have to take your chances, right?

[00:12:46] Nadia: Yeah, cool. Yeah, exactly. I remember that. Sorry. Yeah. No, no, go ahead. Yeah, yeah. I remember that afterwards, one of my colleagues who is a Polish, uh, native, they asked me, why weren't you scared to take this offer without any guarantees? There was no like relocation package or anything like that. I just. Took my bags and took the train

So, um, I said that, I was like, I didn't know. I didn't feel that it was that risky. But I think that to a lot of people, it seems like a future risk. But I would say that if you are just starting out, you, sometimes you need to take the risk. And if you are getting an offer to work, maybe you should take the risk because you never know when next offer will come you.

[00:13:23] Michaela: Yeah. Yeah. Yeah. And I mean, I think you also drop up properly a little bit, and now you are in London, right? Working for Intercoms. Yeah. And now you are working for one of the companies where people want to work, right? . So, yes. Um, was that, was that your plan where you're like secretly syncing, like, oh yeah.

So this is the entry level job and then I have some experience and then I'm obviously improving my chances for the next time I'm applying and people will be more interested in working. .

[00:13:51] Nadia: Mm-hmm. , I, I can say that I was like planning that far ahead. I, at that point, I was still interested in getting the experience, the professional experience, working as a developer.

I wanted to see what it was like to be a developer and also to learn to code properly. I still felt that I wasn't really a coder because it was just, Doing my own thing, uh, at home without any cooperation. Yeah. So I was just interested in doing the job. I can't say that I had like any grand plan that, okay, I now have this experience and then I will go work in Google.

I was kind of taking it, uh, one day at a time, really, and I spent quite a lot of time working in my first job for around like nine months I think. Uh, and then, uh, I got gained a lot of experience. I think I learned so much at my first job, like really grateful, uh, for the people who. Took the chance to hire me and, uh, who taught me so much, my colleagues, and it was just an amazing experience in terms of how much you can learn, you know, while you are start working with other developers.

It's, it's just a whole other level. And then afterwards, when I saw that it was kind of time for me to take on another challenge, I started looking for another job, and then it was a very different process, as you said there I had. More interviews to go to than I could, uh, have time to go to. So it, it was a completely different story.

Like I was a completely different person, uh, just a few months after I started working. So, you know, for everybody who's listening to this and who just wants to break into tech, it won't be like, if you're just looking for a first job, it might feel that it's. A very hard process, but afterwards it becomes so much easy, so much easier to change jobs, and this is why you will see a lot of engineers actually change jobs pretty often, uh, because there are a lot of options and people can afford to look for a place that suits them best, I would say.

Yeah.

[00:15:35] Michaela: And so you were talking about it, you learned so much. So how did you learn? Did, did they do code reviews, for example, in your first job? Or how did you, did you do mm-hmm. care programming or how, how did their learning take place in that first

[00:15:46] Nadia: job? Yeah. . So yeah, it was a small company, so we didn't have like a formal concept of a body as we have right now, like in bigger companies where there is somebody who is like attached to you for your first few weeks and who is responsible for helping you on board.

So there was a person who was helping me, uh, but I would say that it wasn't like as formal roles as, uh, it is in bigger companies. Startups and smaller companies are much more agile in this respect. But there was somebody who was helping me, so we did a lot of para programming together. Uh, we also did code review, so I was learning, so this was the first time when I learned about what code review was like, how, um, GitHub collaboration looks like.

So there was a lot of learning, uh, in that respect, I would say so. So this was the first time when. Like seeing like merge conflicts and things like that. So that was pretty, um, incredible. But yeah, I think that in all of the companies where I've worked, code reviews have been a part of the development process.

Like, um, yeah, at Wish Place, like you could only merge something if it has been through code review. Uh, so I think that from the very beginning I had become used to. You know, sound engineering practices and, uh, knowledge sharing within, you know, uh, within the group of engineers. So, um, yeah, I think that you can learn quite a lot while prep programming and code reviews.

This is such great, uh, processes. And also I was doing a lot of self-study, so after work mm-hmm. , I would, I would watch tutorials, I would. Continual reading books. So the first five months, I would say of my first job, it was just learning nonstop. So weekends I would also code and afterwards I would code like all the time.

So it was very intense. Um, and, uh, yeah, but like I could feel that my knowledge was expanding every day, especially I think things like testing. Uh, I, I would say that I'll learn much more about tests while working on a real, uh, production app than I would at. . Yeah. Kind of understanding the value of task, I think, uh, was brought very, was made very clear to me while I started working as a professional programmer.

Mm-hmm. .

[00:17:50] Michaela: And so, uh, you touched a little bit on, um, engineering practices. So what about Intercom? What are the engineering practices there? And, um, they are probably, you know, what's the philosophy? Is it like mm-hmm. , um, High quality or, um, is it moving fast and breaking things a little bit more like Facebook?

So, so what's the philosophy there? Mm-hmm. . And what are the engineering practices that you, that you have at

[00:18:14] Nadia: Intercom? . Yeah. I would say that Intercom has very interesting engineering practices and something that, um, I needed to kind of get used to a little bit. So the philosophy is a lot about shipping fast, but also shipping safe.

Mm-hmm. . So, um, a lot of work has been done on building this culture of everybody trying to ship fast to learn. So the idea that we have is that the only place where your. Meets the infrastructure and meets the real customers is production. So there is only so much that you can learn with, uh, tests and like pre-production environments like staging.

So production is the place where the real stuff happens and the. Goal here is to ship as often and as fast as possible so that we can learn as fast as possible and we can iterate on the feedback from customers. And then if something is wrong, we can roll back and, um, fix it or improve it. So this is something, so a lot of work has been done so that this it, it works very organically and very quickly.

You get used to this and then you don't really notice. Fast you actually ship and how fast the value comes from your code to the customers. So, um, but as I said, a lot of work from different teams is being done so that this happens so organically and without any friction. I would say that a lot of work is done on the infrastructure so that it's very easy and quick to ship.

So it takes around like 12 or 15 minutes, I think 12 minutes to ship your code to production, uh, depending on, you know, various specs, but it's very. Then there is also a lot of instrumentation around how you can roll back the changes if you know if something goes wrong. There is culture of being responsible for what you ship.

So like if you need to ship something and you need to, you know, live work in five minutes, you just don't do it. You wait until next morning because you don't really want somebody who doesn't know anything about your code to be responsible to decide whether this needs to be rolled back or not. So things like that.

And also I would say that one of the most, um, amazing things that we use at Intercom is the concept of feature flex. So, which is this feature that allows you to. , um, release something to a production, for instance, like a new feature, and then, um, make it available to only a subset of customers, uh, who have this feature flag turned on.

Then you can learn from the customers what's working for them, what's not working for them, and then you can change it or fix it or, you know. , roll it back completely. And then once you are sure that this is what you want to happen for all the users, you can just flip on the feature flag for all the users.

But then you can always, uh, turn it off and it's done with just one click, which is something that I think really helps people to make decisions very quickly. And it kind of creates this, it removes the sphere, you know, from shipping to production, you know that there is always this FALive mechanism. If something's wrong, you can just throw it back or you can just turn it off.

Mm-hmm. and. . I think that this is one of the secrets to how we are able to ship so quickly, but also ship safe. .

[00:21:23] Michaela: And so, uh, one, one thing is feature flags, right? So it rollbacks feature flags, which help you undo or test out something for maybe couple of people and so on. But, um, do you have also monitoring in place what kind of software?

And is it, is this something that, uh, developer also goes and, you know, has, is it your, Responsibility to go and look at the monitoring software and maybe you have some observability software also in place. Um, and, and are you, you know, are you responsible for looking at that?

[00:21:54] Nadia: Uh, yeah, I would say that, uh, there is quite a lot of the, you know, uh, engineers whose, uh, primary focus is actually to improve the state of observability that we have at the company.

So the, so that the instrumentation observability is always kind of top of mind, but also it's the responsibility of each engineer to observe, um, metrics and dashboards. Uh, and those tools, you know, there are various tools I think that, um, that. every company has has their own, and also they change sometimes when needs change.

But I think the tools are changed. But the idea here is that if you ship something, it's your responsibility to monitor dashboards and to make sure that your change didn't really break something really seriously. Um, so this is definitely something that is important, but also there is, uh, you know, there is on call, um, and um, a lot of, I think that the culture is also very important that people understand.

incidents happen and things can break, and there is a lot of alarms been done to remove the fear, uh, from shipping to production. And I think that generally it's, uh, . It's a great way to encourage engineers to ship fast and kind of to ship value, especially if there is, you know, if there is a bug, for instance, and the customer submits a buck report.

If you know that there is a culture of shipping very fast and it's very easy, you can just go open your editor. You can. find a, you can make a fix to this box and you can just ship it in auto production. And then like 30 minutes later, you message the customer saying that it's been fixed. And it just creates such an amazing experience for the customers, uh, in, in contrast to some other, you know, uh, companies where it might take you days, for instance, three months to fix Yeah.

Three months. Yeah. So, and it, it creates a very different, um, yeah. Environment, I think for engineers, but also, clients as well. Yeah. Yeah,

[00:23:46] Michaela: that's true. So you mentioned the body concept. Is that something that you have at Intercom? Do you have some peer programming going on? Do you have code reviews? Mm-hmm.

how does collaboration look like?

[00:23:57] Nadia: Uh, yeah. We do have a concept of a buddy. So if you join as an engineer, you will have a buddy like your mentor attached to you for your first. However many week settings will come. So the buddy is somebody who will guide you through your onboarding project. So we kind of want to help people feel as comfortable as possible, as quickly as possible, and to start shipping value to production also very quickly.

So, um, it's, I like this concept so much because the goal of the body is actually for. Uh, few weeks is their primary goal is actually to support you. And this makes such a huge difference because if you don't have somebody who is kind of attached to you, then you might feel uncomfortable asking somebody questions because you know that your questions, they, uh, take this person away from their goals and their junior work.

But in the case of having a buddy, this person is there to help you. So it, it shifts your mindset so much. And, um, I have been a buddy as well for new engineers and I had a buddy when I joined as well. And, uh, for me personally, when I was a buddy myself, uh, I made it super clear that, you know, I told my mentee that, you know, I am there for you.

I'm available. Please message me whenever you need any kind of help. And we did a lot of, uh, pair programming together. Uh, we always do code review. So I think that code reviews is also a big part of learning, um, for engineers to observe how others do things, and we don't really have any. Um, so basically everybody is encouraged to code review, to do code reviews for other engineers and to review open pool requests.

So a lot of collaboration happens there. So for me, code reviews are something that is very natural and a great part of learning, uh, about the company, but also learning about engineering. . Cool. Yeah.

[00:25:48] Michaela: So, when you talked about, um, you know, programming, being a buddy and, uh, reaching out to each other, are you doing that all remotely or is it, do you have the culture of going into the office?

Are people coming from different places? Are you distributed or how does that work?

[00:26:06] Nadia: Um, yeah, so initially when I joined, I think it was mostly, yeah, it was mostly remotely. Um, then the office kind of opened up more and I started coming into the office to, um, Just trying to think what it was like. Yeah. I actually started coming to the office pretty often to pair program with my buddy back then.

Uh, and it made a huge difference. I would say that we, at first we tried pair programing remotely, but. because, um, intranet speeds in London aren't always, uh, great amazingly enough. So the upload speeds, they aren't always, uh, up to the standards. So the screen sharing and para programing remotely wasn't really working.

And I think that not everybody enjoys doing it remotely. So, uh, sometimes you can feel that there is like this weird, like, I don't know, tension and it's just not very productive. And there is frustration, you know, when you're trying to explain something and you see that you're not able to do it remotely.

Doesn't make it for a good experience. So I started going to the office and I started pair programming with my body in person. And I would say that this was, um, a game changer because we were able to pair program on the same computer, just like we had, you know, each of us had, I think our own keyboard and mouse, or maybe we shared one, I don't remember.

But there was one screen and we were together. So it was much easier, easier. And then afterwards, uh, there was a combination of that. Uh, lately we've mostly been. doing para programming remotely. Um, we have this, uh, I think it's, it's kind of a hybrid approach so that for most of the week people are remote and then, uh, they come to the office in London for, uh, like one or two times a week.

Um, most people are, people are based in London, so, um, it's, uh, , it's relatively easy, although commute in London is never easy. . Yeah. Um, but yeah, um, that's the how we try to do like team days when, uh, all of us gather in the office and work together and it's good. It's very good for collaboration and team bonding.

So yeah, that's how we approach it. Yeah.

[00:28:11] Michaela: Cool. And so do you work, um, as a peer developer team or do you have like squads where, you know, pro uh, product manager is there as well? A product owner maybe? Mm-hmm. , you know, a tester QA people. How is, you know, what, what's the setup of your team? .

[00:28:27] Nadia: Yeah, so our team is, uh, consists of software engineers who, like everybody on the team is full stack, so we don't have the distinction into front end or back end.

So everybody's expected to be able to kind of do the backend work and front end work on the same day. Uh, and then we also have a product designer who is on our team, uh, product manager attached to our team and an engineering manager. So our team kind of delivers features. Together, we don't have a dedicated uh, QA engineer.

Programmers are expected to QA their own code and write automated tests for all of the code. I think there is a lot of like a strong culture of testing. Like you can't really ship anything to production without writing tests. Mm-hmm. , for instance, you know, if, if there is a bug and you ship a bug fix, you do need to write tests that would catch that back because otherwise it doesn't really make much of a.

uh, my sense because mm-hmm. , this is just a quick, quick fix and we kind of want to encourage more tests that would potentially. Catch those box in the future. That's how, that's how it works. And yeah, having a dedicated pro product manager and dedicated product designer makes working very easy. I think that also the different thing about, uh, Intercom is that the title that engineers have is actually not software engineer, but product engineer.

And I think that, uh, the emphasis here is that as an engineer you should be also involved in discussions with product managers and designers. And there is a. Uh, autonomy when it comes to building features. Uh, so it's not, it's, it's not, you know, the process where like the designer says that's the way it has to be and the product manager says, you have to do it this way.

There is still kind of, we are also asked our opinion and we are also expected to bring. Forth ideas to, you know, when it comes to building products, uh, because we also interact with customers through being on call and we observe how, um, not directly with customers, but through customer support, uh, agents, we see which problems people have, uh, using the product and what works for them, what doesn't work for them.

I think this also informs our thinking in a way so that software engineers also. some input. So, um, it's, it's a role that is, I think, a little bit different than software engineering roles can be at other companies.

[00:30:48] Michaela: Yeah. And so what about metrics and measurements? So I would like to know, do you know, are you aware of some metrics that, you know, um, measure, for example, performance?

Or do you have like performance reviews? Do you have like KPIs that you have to achieve? Mm-hmm. ? How, how does that all look like? What is successful? When are your successful engineer at inter.

[00:31:11] Nadia: Yeah. Uh, I think that it's a, it's a pretty similar standard process to a lot of companies of a bigger size. So we have Proformer reviews, uh, twice a year, every six month.

And they're, uh, um, since this is a bigger company, they're a very. Specific requirements and expectations at each engineering level. So there are different competencies around which you are measured. So there are competencies around like execution, uh, meaning how fast you can ship code, how efficient you are, and how much value you can bring.

But also there are other things like communication, uh, leadership strategy. And so how you are able to teach others, help others. Also, how you're able to, um, kind of participate in plannings. Um, bringing forth business value. So it's a very, so there are a lot of requirements around different parts of the job, not just, uh, writing code, but also communication, uh, strategy, partnerships and things like that.

So you're measured along all of those different, um, eh, Competences. And in order to be promoted and to go to the next level, you need to, uh, be exceeding expectations of your current level for a certain time. And then once it's clear that you have done it, you can be promoted to the next level. But of course, since, uh, this is a bigger company, all of this has to be documented.

So there is a whole process where you need to show what you have actually achieved during the previous six months. Uh, so that. , it's possible to make sure that everybody is being evaluated fairly and there are no biases and kind of favoritism involved so that you know when somebody from the outside can look at.

Each engineer who is at the same engineering level and be like, okay, it makes sense that they're all at the same level because they are working on approximately the same tasks and the same complexity of tasks. So, um, yeah, that's kind of, that's the process. Uh, it is, uh, well documented. There is a lot of information about what is expected at each level, and once you join your engineering manager, Has a couple of discussions with you where you talk through the documents around engineering levels, what it would take you to be promoted, you create a plan for you for the next six months, um, what you need to do to be promoted, what you need to do to stay at the current level.

And then you check in with this document, uh, every once in a while preparing for the performance interview. Mm-hmm. and yeah, that's, that's how it works. More or less. So. So have you

[00:33:42] Michaela: been through that process again and have you been promoted? , how did that

[00:33:46] Nadia: work? Um, yeah, for me, I've been through one of the process, um, haven't been promoted yet, uh, but yeah, uh, the process was pretty straightforward.

I would say. I was, uh, I'm kind of used to this process from my previous job as well. Um, yeah, it's just, uh, you prepare a document, basically talking about your achievements and um, kind of what others about the growth.

[00:34:09] Michaela: Do other people like your colleagues also, is it like this 3, 360. Uh, degree or however it's called

We,

[00:34:18] Nadia: we, we do, we do feedbacks for each other. So before performance review, you uh, get feedbacks from your colleagues and you also write feedbacks for them. So the concept is kind of called they always on feedback so that you are always encouraged to ask for feedback and to give feedback. So for instance, if you see somebody doing really well at, you know, in some project you are encouraged to just drop.

Feedback. You don't need to wait until the next performance of cycle to do that. And then all this feedback is gathered in a special, you know, uh, feedback system. And then once you're preparing for your primary to, you pull that, um, feedback from that system to your performance of your document. And it kind of creates this.

Um, so the idea here is that there is a story, uh, of you. So for instance, you joined the company and. Um, you need to tell the story of like what happened since you joined, so how you onboarded, then the project that you delivered, what you learned, how you grew, and things like that. And there is a story from where you came from and kind of where you are right now and also what you plan to do in the common, uh, six months or so.

So, uh, yeah, this document is kind of your story. looking at it, you should be able to see whether you are measure your meeting expectations at your current level. Maybe you are not meeting some of them, maybe you are exceeding some of them. And then, um, you know, there are decisions that are made like who's promoted, who is not promoted, but the they, those are kind of complex and also not something that I'm involved with.

Um, but yeah, that's more or less how it works. . Yeah.

[00:35:47] Michaela: And so how do you like, like London? So you have been now, uh, you have been moving to Poland, now you're in London. So you have seen different countries, different cities. Yeah. Um, how do you like

[00:35:57] Nadia: it so far? Um, I was a little bit scared of moving here because I had never been to London before I moved here, which sounds pretty crazy, but, um, I just never really got a chance to come here for various reasons.

First, the Visa was very hard to get. Then there was the pandemic and then, um, and then basically I decided to relocate and that chose London. So, um, I was scared that I. I would hate it. Uh, but basically enough, like I'd never had a day where I was regretting the decision to come here. So, so far it was difficult at first to get used to it because it's such a huge city and I had never lived, you know, in a huge city like this.

The distances and the whole rhythm of life, I think, um, Is very different from what I used to, but mostly the scale of the city I think was pretty shocking. Like when you think that, and the joke in London is that no matter where you are and no matter where you need to go, it always takes at least 45 minutes.

And it's, it's true. Like even if you are in the city center and you need to get to another place in the city center, somehow it takes 45 minutes. It's. It's magic. So it is difficult, but also I think that the energy that you feel here is really great. So for anybody who has never experienced life in the big city, I would, I really recommend coming to leaving a place like London because there is so much opportunities in terms of work, entertainment, people that you can meet.

Uh, there are so many different cultures here. So for instance, me being from Eastern Europe, I don't really feel like. Foreigner or somebody who's like super different from everybody else because everybody here is an immigrant. You don't feel, um, like the other, you know, like you do some countries where there are not that many immigrants.

Um, and it's very easy to feel at home and comfortable here. Um, it also is fairly, it's much safer. I feel much safer here than I thought I would. So, so far I really enjoyed and also the experience of working in a very international. For me has been very transformative. It has been challenging, um, working with people from all over the world.

Like my team has people from all over the world, from Argentina to China, to France, to Sweden, and it's all involved. One team. We have a couple of British people to be fair. Uh, so , it has been, you know, a learning experience for me, uh, getting to know cultures and how they interact in work settings. It has been one of the most, I think, eye-opening things so far.

[00:38:26] Michaela: Yeah. I think this would be a, a complete, uh, other episode that we could have just on, uh, cultural experience. Maybe we should do that. Uh, and really dig, dig a little bit deeper into, into what you think about it. And I don't know if you are aware of, um, the book, the Cultural Map from, uh,

[00:38:43] Nadia: from Mayer? Yes.

Yeah. If you, if you

[00:38:45] Michaela: see, yeah, you wrote it. Uh, you read it and, um, yeah. Yeah. Did you recognize

[00:38:50] Nadia: some of the. Oh, yes. So actually I also have a YouTube channel. So I actually recorded the video while after I read the book, this book that just blew my mind. When I read it, I started talking to everybody about it.

Like I just annoyed people, uh, with it. Cool. Because I saw, I saw so much truth in it. Yeah.

[00:39:07] Michaela: Yeah. Cool. So I will link, uh, the YouTube channel of yours as well in this episode. Very cool. Thanks. So cool. So my last question that I have for you, which, uh, because I also traveled a lot, um, um, throughout the world, uh, but for me it was.

Hard, the, the, the two people problem. Right? Like you have, you, you said something about the husband, so is your husband mm-hmm. in London. Has he been in Russia? How do you, how do you, you know, um, make it happen that you have, you know, that you're at the same place at the same time with the same visa and both having a job, which I think is not always that easy.

[00:39:41] Nadia: Yeah. Yeah. So, uh, we've been pretty flexible in terms of that and we've been kind of moving together everywhere. I think that once, you know, if you're married, getting the visa sorted is fairly easy. And the UK for instance, is, uh, a country where if you have a visa, then your spouse also gets a visa, which gives them full rights, uh, as you do to work, uh, as well.

So, yeah. It's been kind of mostly, you know, uh, getting adjusted to various circumstances, but I think we are both working from, you know, mostly from home as software engineers kind of doing our own different site projects. So, um, for us I think it, it helps that we're both very, um, Flexible. And also we both had this idea that it would be very cool to live in various places.

You know, that we live in certain location for a couple of years, then we moved to some someplace else. And I think if my husband actually had this idea kind of before, you know, before, um, before I had it, uh, so we are just aligned on this, but I think that it's not. Possible, especially if people have jobs that aren't in software, right?

Yeah, yeah. Software makes it easier. It's true. Yeah. Yeah. I think that like if you're a software engineer, it's easier to find ways to make money online and kind of arrange your life that is not attached to a certain location. But also it helps to be very, um, kind of flexible and being able to get used to new environments quickly.

Not being attached too much to. Location where you grew up? Um, yeah. Um, but it's been, I think, fairly smooth for us. Yeah. Cool,

[00:41:17] Michaela: cool, cool. That sounds super inspiring from a non coder, non-technical person to, you know, a rising stories intercom, uh, I would say, and, um, YouTube and everything. So I think you definitely inspire a lot of people.

So I hope that many, many people listen to this show and, uh, realize that they can also start, you know, their coding career or I think a lot of people that listen to my show are already programmers, but maybe at the beginning of. Their career. So, um, is there something that you can, um, tell, you know, my audience can tell my listeners, um mm-hmm.

something that you learned and that you think would be valuable to, to

[00:41:54] Nadia: them. Yeah, sure. So I think that for somebody who is just, uh, thinking of getting into tech, I would say that uh, it's possible, it might seem that it's too hard and that you are not smart enough, that you are too old. It's not true. Uh, this sphere is so, is permissionless, like anybody can join it.

Uh, provided that you have time and energy to learn it. For people who are already in the industry and just starting out, um, I would say that it might seem, again, overwhelming and challenging. It might seem that it would never get. I can say that it does get easier with time. Um, and uh, it's just that the challenges change.

Like as you grow as a software engineer, you're faced with other challenges, but it still becomes easier once we get more experience. And then, uh, another team that I can share with, Somebody who is either beginning their career in tech or maybe already experienced is that it always helps to find some support and find a mentor.

This is the advice that I now share. So I wish that I found a mentor in tech, uh, in early in my journey. Having somebody who can help you and guide you is just so incredibly helpful. And in general, having support from somebody who's doing the same thing as you are is always valuable and it. Completely transform your whole experience in tech.

Although tech is a challenging place, uh, and can be lonely, but I think that it doesn't really have to be that lonely.

[00:43:13] Michaela: Yeah. Yeah. Cool, cool. Thank you Nadia, so much for being on my show, sharing everything with me. It was very interesting to talk to you and um, yeah. Have a good day.

[00:43:23] Nadia: Thank you so much. Have a good day too.

Bye bye-Bye bye.

[00:43:28] Michaela: This was another episode of the Software Engineering Unlocked Podcast. If you enjoyed the episode, please help me spread the word about the podcast. Send the episode to a friend via email, Twitter, LinkedIn. Well, whatever messaging system you use, or give it a positive review on your favorite podcasting platform such as Spotify or iTunes, this would mean really a lot to me.

So thank you for listening. Don't forget to subscribe and I will talk to you in two weeks. Bye.

Copyright 2022 Doctor McKayla