Experience

My Internship at Mekari as A Self-Taught Mobile Engineer

Addin Satria
Life at Mekari
Published in
8 min readSep 19, 2022

--

My Background

A self-taught IT guy, I am. Learn something that got technology in it is my passion. Built my first personal computer when I was 14, and print my first “Hello World!” at 15. And keep growing after that, learn new programming languages, explore new technologies, and stay updated. My name is Addin, and I’m 18 years old.

Experienced in computer hardware, software programming, networking, 3D design and other techie stuff. 🆒

Experience before joining Mekari

My previous education was done in IDN Boarding School, a vocational high school. I took the software engineering path. In IDN, I’ve learn basics of programming and do some internship program.

You can look for knowledge everywhere. And I search mine (mostly) in the internet. The source of knowledge in the internet is a infinite. In fact, when I become an iOS developer, my school haven’t teach me anything about iOS development yet. I usually learn something from website, youtube or even courses on Udemy.

How I joined Mekari

When I graduated from my vocational high school, I knew that the holiday is going to be very long and boring. So I have to look for some activities that can fill my holiday with. Then I started to announce my open position on LinkedIn so HRDs could contact me and make an offer for me to join their company, either as an intern or full-time.

Why Mekari?

Mekari is a company that have a good name and is known by many people in many industry. Their products is what most people daily use and it is really making a big impact to the industries.

Before I decide to join Mekari, I did some research too and from all the information I got, most of the people that worked in Mekari was giving the company a good reviews. They said that the working environment is really something else there. One of my friends told me that his brother is a Mekarian, he said that Mekari is a really good company. My teacher was suprised that I joined Mekari and I feel like I just made the right choice, and it is. Plus Mekari is using WFA type of work, so I don’t have to go to the office because I can do my task at home.

Mekari is implementing hybrid work model so Mekarian can work from home or go to the office, but it’s depending on their own team. My team loves to work from home, so am I. Though, sometimes we go to the office together depending on our discussions.

Mekari environment

One of the keys to develop a good working vibes is to create a healthy working environment. In Mekari we have that healthy environment, where Mekarians socializing each other with positivity. And there’s some habit in Mekari that I thought is kinda cool, there is one-on-one session every month for Mekarians to share things about their previous month to their team leader. There is also a sharing session event every 2 weeks about technical stuff that will make our knowledge fresh. And of course there is weekly updates for the team to report their work to the team leader. Not forget to mention that every quarter, there is division gathering event in Mekari, so Mekarians can get more closer relation to their coworkers.

My first task was actually a product team’s task, but because I finish the task, the product team’s tasks is less complicated than before, and the team could’ve just move on to the more serious and demanding tasks. In Mekari, helping others is very important and considered as a serious contribution, that’s why it is considered as #BiggestImpact behavior.

BiggestImpact is an action that can make a good impact / changes in the environment which can benefit the others. In Mekari, we do this by holding on to our three key behaviors: #BukaJalan, #BikinBangga, dan #BarengBareng.

My #BukaJalan moment was when Rahmah, an Android intern, wanted to do the task that was given to me before, but I’ve finished it in iOS platform. She was asked to do the task in Android platform. Because the concept is actually the same, I explained the concept to her and then she understood the assignment.

Server Side Swift with Vapor sharing session

Me and my senior, Rehan, was asked to do a sharing session the mobile developer group in Mekari. We were bringing Vapor as the topic for the event. During the preparation stage, me and Rehan were researching together about the topic and we were planning about how to deliver the information, either when it’s at the meeting, the docs, and the sample project. We did a great teamwork which is a part of embodying #BarengBareng in Mekari. It was truly a cool experience.

When working at Mekari, I still got the same freedom for exploring things as my relatives. But still I can do the other stuff that I like or I wanted to explore. There’s a work life balance in Mekari, so I can refresh myself by doing what I wanted to do and not always get stuck with all the work that I have to do on my mind.

I like to explore new stuff and something different. Though my title is an iOS developer, it doesn’t mean that I cant explore other tech. Few months ago I did a woodworking training, and I learn how to create a wood craft. That’s a day and night difference from my profession, but that doesn’t really matter. I did a networking training too a while ago and got some MiktoTik’s certificates.

How I impacted Mekari

Common UI and Common Model Modularization

My first task in Mekari was really challenging, I was asked to modularize the user interface and model for the iOS Talenta application. Not gonna lie, I was surprised. How come this company gives me, an intern, a “serious” task? I’ve never modularize an app before.

The goal is to modularize the UI & Model components of Talenta application so we can reduce the duplication of codes. They gave me a big list of View & Model related objects and I had to verify that the file in the list is actually modularizable. After that, I started to create a module and fill it with the verified files. But it is not that simple, the complex part is when one of the files have a dependency to another file that is not modularizable. This type of problem is the most brain consuming part of modularization in my case.

Honestly, I didn’t know what to expect, but this is a different level of complexity. I thought my tasks were going to be simple, but no. Unlike most of the companies that give easy, repetitive and boring task to an intern. Mekari is different. They gave me tasks that is related to the production, and they are variative, so I have to put more effort to do what I am supposed to do and explore new things that I’ve never heard of before. So I did that.

Now I understand that Mekari wants the interns to be growing and leveling up too, not just stuck on the bottom floor. The fact that they courage the interns to upgrade theirselves is already making me comfortable with this company.

Tweak Engine

The second task is to create an engine library that generate a micro app for every module of the Talenta application. It was created for every module of domain in Talenta main app so they can have their own micro apps and people can test every module easily. Because the main application is still using UIKit, I was kinda afraid to do the project, I wasn’t used to make an application based on UIKit. But because the previous task was an UIKit project, now I understands the basics. With a little bit too much of googling and much help from the team, I finished the task with no major problems. Thanks guys.

Domain Modularization

My next task is to modularize a domain from the Talenta application, the main application is using monolith architecture and I had to separate the dependency so I can take one domain out of the structure and make it run with no dependency from the main app. It was surely a big task. I’ve learn new things from the previous modularization task but this one is a whole lot complicated. There’s so many problem when I’m working on it, but it is okay because my team helped me.

Creating Backend for Application Delivery Interface

Creating backend with Vapor framework is my fourth task, Vapor is a server side swift framework and it is pretty cool. Because as an iOS developer that quite familiar with swift, we didn’t have to learn a new language to create a backend application. My task was to explore how to implement Vapor in production with best practices with my senior, Rehan.

When we just finished exploring Vapor, we were asked to having a sharing session about it. So we did it, Rehan was doing the presentation, I was doing the live coding. There was a little technical problem when doing the live coding but overall it went smoothly. Now we are (technically) a full-stack Apple developer 😎.

After doing some research and presenting our knowledges, we initialize the task. Doing this task is really something new and fun, yeah we got some problems in the way, but it is normal when we are doing something new and it is fun.

Side Quests

Beside from my main task, I got my own particular targets, one of them is to learn CI/CD. I have some experience with Github Action, TravisCI and Heroku, but I noticed that most company used Fastlane. So currently I’m still learning about Fastlane and Jenkins as an addition. So I know how to deliver an app to App Store, because I’ve never release one, but surely I’ll have one in the future.

How Mekari Powers My Growth

My mind was opened up when I’m working at Mekari. The socials specially, I’ve never experienced this type of working vibes before, all of my team are supportive and really respected me. The Mekarians habit is really helping to create a healthy environment where people can comfortably do what they have to do, like asking questions to the team leader, asking other coworker to help and talk about everything. That type of social vibes really helped me to making a solid connection with other people. The way of Mekari runs is really the one that impressed me the most. Many things that I’ve received and learned from Mekari. New connections, valuable technical lessons, being professional at work, how to work as a team, how to develop a healthy environment with other coworkers and many others.

I’ll list what I’ve achieve from Mekari

  • Whole lot of industry and technical knowledge. I don’t even know what I’ll achieve if I’m not in Mekari
  • Family that always support each other
  • Explored a new type of working environment
  • Increased my speaking skill and be more interactive with other people
  • New efficient way of doing a task

Everything an intern needs has been full filled by Mekari. Special thanks to my senior brothers, bro Rehan and bro Ahmad, and every Mekarians for helping me during my internship period. Big thanks to Mr. Hedy for being my leader, teacher and a friend. And gave me a chance to work at Mekari, it is truly a priceless journey ✨

I’m the one wearing blue shirt.
Online Gathering with Mobile Platform team.

--

--