Hello to everyone from Toronto, Canada 🙂
My name is Margaryta Chepiga; I’m 24 years old. Originally I’m from Kiev, Ukraine, but I have been living in Canada for almost 7 years now. I graduated from Seneca College from a Computer Programming and Analysis program.
Currently I am working at Loblaw Digital as Mobile Release Engineer. My passion for Swift was born after I started going through 100DaysOfSwift challenge by Paul Hudson, while I was working as a DevOps Engineer. Long story short, soon after I was layed off from my job I made a decision to focus on Swift and become an iOS developer. I ended up landing a new job in four months.
During my free time I co-organize the NSCoderTO meetup group, where I’m organizing Swift/iOS related events in Toronto.
You’re currently working as a mobile release engineer. In what part of the process from idea to App Store does a mobile release engineer work?
For the past year, I got involved in app idea creation, gathered user requirements, build an app that fulfills the requirements, wrote tests, created CI/CD pipeline, came up with the releasing strategy that would work specifically for that use case and eventually released the app itself. I also wrote some technical documentation, as well as user documentation.
Although this was an example of a single project, I believe Mobile Release Engineer can be involved in all parts of the app creation process. Essentially, Mobile Release Engineer have to be well-rounded. They must know app stuff as well as bash for tooling or server stuff.
If you want to learn more about release engineering:
What was your interview process like?
I think it was pretty straightforward and common for tech positions.
But let’s look at it step-by-step. My interview process included:
- Phone Interview
- Take Home Assignment
- On-site Interview
It was general, it’s that first interview call you have when the company wants to see who you are. No technical questions, it was more like a conversation. I learned about the company and the team, as well as they heard my story, who am I, what kinda culture I am looking for, past working experience and what do I want to do next.
During my interview call, I communicated my passion for open source, swift, community involvement. I feel like my community involvement added me a couple of points, and kinda differentiated me from other candidates.
During the phone call, I was told that they want to invite me to the second round of interviews.
They gave me three options from which I could choose how I want the second round to look like:
- Take home assignment
- I think it was a white board interview
- I honestly don’t even remember the third option haha
Of course I decided to go with the take home assignment! I don’t know about you, but I get very nervous when I need to code or solve a problem in front of other people. I was very happy that they let me choose the option I was most comfortable with.I was very happy with the outcome from the interview haha.
Take Home Assignment
For the take home assignment I was given a clear task with clear instructions. Basically, I had to create a working app, write tests to it, and create a CI/CD pipeline.
I spent one day writing an app and two-three days to learn how to do tests and CI/CD pipeline. I was not sure whether I would be able to make it, but eventually in those days I ended up writing some tests (there were terrible 🙈) and made my first CI/CD pipeline! Did I know how to do that? Hell, no! But, you don’t get the penalty for asking for help. I didn’t know how to write tests, so eventually when time started to running up, I asked for help:
It’s completely fine if you don’t know something. That’s part of our profession, we can’t possibly know everything. But you have to at least try, give it a shot, or two, do the best you can. My unit tests were terrible, but at least I spent time researching, figuring it out, and writing them. The bottom line, I had them written.
P.S I write much better unit tests now 😄
Finally, after submitting the take home assignment, I was invited for in-house interview!
One great tip that I received from the iOS community on Twitter was to ask how will the interview look like. So that you won’t end up in the situation where you were preparing for whiteboard interview, and they end up doing a pair programming one:
The on-site interview consisted of three parts:
- Interview with a Director of the department
- Techical Interview
- Bar Raiser
When I arrived to the office, I was very warmly welcomed and offered an office tour as well as a cup of coffee!
After that, I had my first interview with my future Director. To be honest, I am completely blank on what we have talked for an hour haha, I only remember how my hands were sweating, how nervous I felt, and the moment of me leaving that meeting room.
Right after that, I went to another meeting room where I was supposed to have an hour or so technical interview.
Technical interview included:
- Showing my take home assignment
- I was asked about certain code decisions I made and asked to explain them
This part is actually interesting. By that time, I was studying swift for like 4–5 months tops. I haven’t finished 100DaysOfSwift. I knew something, enough to complete the take home assignment. But I wasn’t a pro at swift. So when I was coming to the interview, I made a decision to be 100% honest about my knowledge level. I knew how to make an app they wanted, but my implementation was adequate to my knowledge at a time. I knew that were ways to make things better, but at the time I didn’t know how to make them myself. I could have copy pasted something fancy to show off, instead I was brutally honest.
The next part of the process, was as we call it “Bar Raiser”.
Bar Raiser is the type of interview where you get together with an employee from another department (to get neutral perspective) and that person asks questions that would show your values and personality. Basically the idea is to see whether we are a good fit for each other culturally speaking.
I personally loved that part, I felt like fish in the water. I still remember one of the questions. Do you prefer to mentor or be mentored? I will let you think about this one, if you want to can send me your answer afterwards!
You’re an aspiring iOS developer. What’s appealing to you from the iOS ecosystem? From the community?
When I started tweeting about my progress on 100DaysOfSwift, I was so surprised with how supportive and welcoming community is. I met a lot of amazing people through twitter. I was scared at first. Scared to look stupid, say something wrong, be misunderstood. The biggest was probably the fear of failure. I always was afraid of failure. On some level I still am. And of course I thought that I am the only one who feels this way.
If you want to be a part of community but you are scared, afraid, etc. I just want you to know that you are not alone. And yeah, it’s not a magical place with butterflies and unicorns, and you might run into some unpleasant people/conversations. Don’t let it stop you. Don’t let it turn you away from meeting kind, smart, supportive, encouraging people who are on the same journey with you.
While learning to code, everyone gets frustrated, what is one habit of yours that you can share that helps you manage your frustration?
Be kinder to yourself.
I know that when I have to figure something new out (almost every other day haha) and it doesn’t seem to click, or seems too complicated, I can get very frustrated and sometimes even angry at myself (why can’t I get this?!). So I start to panic, freak out. Did that ever help? Nope.
What did? Kindness. Don’t roll your eyes just yet, listen what I have to say first. When I feel the way I described above, I take a couple of deep breaths and I take a decision at this specific point of time to not think about the future/result/deadline/how complex this is I will never ever understand this. And I ask myself to think about the task/topic/whatever it is, from the curiosity perspective. There is no “I have to”, instead it’s “wow, this seems so interesting, let’s see how to do this” or “this looks like a complex topic, what if I read that article and then share the way I understand it on twitter? In that case, some people might actually share some helpful information and different point of views on the same topic”. Also, keep in mind that it’s all about the progress NOT perfection.
Do you have a mentor? How did you end up meeting them? How often do you stay in touch?
I don’t have a mentor. But I feel like I was very lucky to meet amazing people in my life who would give me an advice when I ask them for one.
I have a couple of friends that I’ve met when I was studying in college for example. I feel very grateful for having them as my friends. But even if you didn’t attend university or college, you can always find people from your industry on social media/events.
How did you know you were ready for a junior iOS job?
I honestly don’t think that you will ever feel ready. Maybe when you are overqualified? But that’s how I felt.
When I was looking for my first iOS position, I definitely did not feel ready. Maybe because of the impostor syndrome, maybe because my personal standards are really high. But I remember that at that times I had a talk with a friend of mine, and shared with him my concern. I told him that I don’t feel ready, prepared enough and I still remember his response, he told me that I will never feel ready. No matter how much I prepare and how much I know, I would keep feeling this way. And I agree with him, the realization that I might never feel ready pushed me to start applying for jobs.
You can find Margaryta on Twitter. Do follow her and help the community stay active and welcoming!
If you liked this article, please consider subscribing! I write a weekly newsletter with a 15-minute coding exercise, and additional sections like interviews from members of our community.