Techie Story

The latest stories from “Techie Story: The Untold”, featuring interviews with thousands of people in Tech industry, around the globe.

Techie Story

Latest Stories

“SRE can be considered as an implementation of DevOps, but the concept will be a bit different. We maintain and develop the infrastructure to involve every team to work base on a mutual mechanism. It's about setting up the working culture, internal tools, and environments so developers can operate the job themselves. For example, if the work happens in Flutter, we'll take care of the CI/CD, pipeline, or infrastructure preparation.

I've had more than 4 years working in software engineering, though I did come from another major - Computer engineering, embedded system. I spent the first two years in Telecom system at Ericsson, followed by almost one year as a DevOps engineer for a startup. Until I moved to Teko, where I helped set up the foundation for mutual tech stacks and operation processes. We currently bridge the gap between development and operations using GitOps - which supports a complete history of how our environment is changing over time. We manage almost everything under GitOps concept, from cloudflare, data migration, ACL, Gateway configuration, Kubernetes cluster and the workload in between.

From what I believe, if we collect a level of knowledge and experience, role switching isn't a big deal. People can still spend 3-5 years in a role, yet they never really understand its nature. You must genuinely work at every level it takes; otherwise, it's impossible to resolve the issue regarding infrastructure and scaling. This marks the linear line between DevOps/ SRE to other developers. It's not always about running code.

The process of releasing a product or moving it from development to production environment faces many difficulties. Your app can run perfectly on a local test and can still crash at the moment it reaches the production environment. The second obstacle is scaling. Scaling in an application describes its ability to handle a volume of traffic simultaneously, not how many features or code you're implying in an app. It requires a solid base in infrastructure and software design, which can be "scaled" through time and still perform at its best.

When it comes to startup, it's another direction. Startups will expect to launch their product in a short amount of time to pitch their idea for investment. To get that done, startups must ensure a fixed set of features to make sure their app runs flawlessly and meets the problem-solution fit. From the founder's perspective, development timing is the key. But for us developers, it's the risk of technical debt and the chance of rebuilding everything from scratch. But rebuilding a system in startups is inevitable; still, I think the solution for that underlying issue is still unanswered.

For me, adapting the team culture is the first action to be done before it comes to the company since most of the time is spent on teamwork & communication. But don't get me wrong, we still need to stay up-to-date on what other teams are planning on. It keeps everyone synced and make sure we run toward the same goal, and easier when the situation calls for resource reallocation. So yes, culture fit in a small team is essential, but only when that team spirit goes along with the company's vision in the long run.”

featured

“I never thought I would have immersed myself in IT. I was more tempted by mechanical engineering. But the two were my consideration because I wanted to prove that girls can be bold and work as hard as guys. It didn't happen easily. My mom refused to let me go for it. She even locked me up in the house just because I insisted on apply for Bach Khoa. We were having a bad time back then. Things only improved when I managed to succeed in the entrance test with the highest score in the scholarship application list.

I always have a thing for logical thinking subjects like AI or Machine Learning. My biggest hurdle was that there weren't many AI companies at the time, not even product companies. They were mostly outsourced firms for foreign companies. So either I spend time on science research and a master degree, or I stick my neck out the working world and start exploring.

I worked in my first company as a Java Developer for three or four months, after that I realized I couldn't fit in a place where people keep burying their heads in computers like robots. I need something more dynamic. And I decided to move forward, as a tester. Though I aimed for automation, this new role limited me at manual and shaped my workflow as a steady tester, writing test cases and report bug day in & day out, which is, again, rolled me with a question: "Should I change my job?”

My next place was a product company, where they do the work on all platforms. Win, macOS, Android & iOS. From web test to mobile test. I know. A whole new environment. But they have the downside, too. Not only tester wasn't taken seriously - as they tend to value developers more; they also fall for a prejudice: Girls can't take care of the work solid enough like guys do. It was a barrier, and I must put more effort into proving them wrong.

Working as a tester means you face the risk against developers almost every day. Sometimes, it takes arguments to debate on whether or not a bug is valid or invalid. I learned many lessons about teamwork and negotiation through this. It tells a lot about how you can explain and protect your point of view without getting offended and still make things work.

A question that many people will bump into is why automation tester makes more than manual tester. I believe it's due to the lack of automation tester comparing to manual ones. Frankly, a manual tester can come from other fields than just IT only. That triggers an increase in the number of manual testers because the path is more accessible to embark on. I've met many manual testers whose background was economics, medical, or even gamers. But they can't switch into automation since they can't code. Automation testers, on the other hand, start their job as developers. And they only turn their role into tester if they want to spend time learning something new, or improve other skills.

Still, in Vietnam, there is an underlying notion that testers are for those who can't nail the job as a developer. Or worse, they assume it's a women's role because there's no challenge or stressful moment. That somehow refrains students from pursuing tester as a career. They're afraid it will be an affirmation of: "I can't code." But that doesn't true. Testers are way more than just test cases and bug reports. What you want to do as a career should be based on your interest, not what others think.”

_featured_

“I chose programming because I didn't want my life to be programmed.

People always think that programming is a piece of cake. Eight hours in the office and making big bucks. But that doesn't apply to my case. It took me nearly six months to postpone my schoolwork and throw myself into companies for internship and better my grasp for programming. It was a big call to abandon things and start from all over again because my former major was posts & telecommunications. It's like running to a big wall during your marathon. Either I pass it and unlock a new path, or I accept being left out.

I was lucky at the next starting point. One of my first projects was IoT Platform, where I got to work on many roles at once. Design, coding and other small parts. After that, VNPT started to expand on mobile, and I was assigned to take care of that also - particularly in React Native. It’s a challenge; I have to admit. But it also a change to define my position at the company. At first, it may seem like an obstacle, but then it'll become a milestone on my way to self-growth. I was so enthusiastic to handle such a big part of technology that I didn't notice it nearly eating me up. But though times, I also learn how to keep things organized, spend more effort for self-care and adapt the 'work-life balance' code. I used to manage a 30-ish team, and I was a hot-tempered cranky leader. I was struggling at first to find out the inner strength and core value of each member. So how to fix it? Create mini-projects, show them what self-discipline is, and let them surprise you. Gradually I understand how to keep things sane between the quality - the work progress and the connection amongst the teammate. It then came to my mind that a leader is someone who knows when to motivate and listen, someone who learns to explain and forgive.

In the first two months working with the client, the system was still having problems from its legacy code. It kept shutting down and we had no choice but to spend more time to fix the bugs. Many developers would have asked for an allowance or OT bonus, but I somehow didn't. I felt that it was my responsibility to make the thing work again. To build a solid trust with clients, first, you must let them know all of your capability. We have skills to offer and the will to back them up. To proactively react and treat the product as a real product owner also proves that we have the same vision with them. I figure it's likely to create better output and raise more useful ideas once you feel a connection between you and the product you're working on. “

“I started differently from others. More like reversing to what people are doing. I pick up and master the skillset first, then I turn back to figure what it really was. It's like starting things from the instinct, then validate it later. But thanks to that, I got to master things that other designers find it hard to. It's the mindset and the sense of what's right and wrong.

Designers tend to conduct stunning design, but it wasn't able to run. A product, at first, has to be a runnable one. It's called a business-oriented. It must serve and solve a specific phase or problem that benefit the business. Designing is about two main things: make it right and make it good.

A lifecycle of software begins from an idea to the market where it fits. A Product Designer will start from a more in-depth level from Business Owner to understand the business idea, using design techniques to define what action needs to be taken at every phase. Next, it's a process of setting a solution that matches the product idea and map along with the revenue stream. That's the definition of work - Monetize from the very first business idea. The biggest goal for designers is to draw users into the end of this funnel: Revenue Stream & Business Model. It's what called design things right. Before diving into the sketching part, designers will need to understand the requirement thoroughly. After that, it's time for making good design.

Most designers don't have a chance to get their hands on all the phases. They can only step in when all the information has been structured and defined. It's a big loss. In fact, even some Business Analysts can't do that. But to work as a product designer decently, it's vital to understand the product since it was only an incubated idea, follow it through the milestones and wrap it up once the product completes all the premised defined scope.

Tips to nail the job as a Product Designer? Read, observe, research & practice. Train yourself to proactively react to things. Stay abreast of the latest trend. The grasp you collect from the outside world is much more helpful than those you get from the theories. And most importantly, don't ever let yourself become low-tech. Software changes every day, and so should design.”

_featured_

"There was some change at my university orientation back then. Also, when I work on a product, although I know there is something wrong with it, I didn't know how to fix it in a UI-oriented way. So I thought Front-end would best fit my will. It's related to UI anyway, isn't it?

I've looked up about Dwarves Foundation on both their website and GitHub, while Dwarves was still a small office with very few people. I was impressed, to be honest, seeing the photos of them and the clients. Back at that time, my goal was to be a part of a small gang, to learn more, and to know my idea matters.

Income and benefits are sorts of bonuses, I believe. I expect more on what the team is up to and how their pursuits can fit mine. As long as their goal and mine are the same, we're good to go. As long as there are still things to learn, we're down to keep striving. It's more than just making a living. It's how they make us want to grow more."

“I first realized my interest in computing since high school. We were learning Pascal at the time. Next thing I know, I was chosen to compete in an IT contest and for my very first prize in life. Da Nang University of Science and Technology was my choice to pursue further in this field. But the truth? I didn't have much chance for hands-on experience in the first two years of uni. I was eager to seek more real things, such as Robocon, with the whole competition and teamwork collaboration. My university specifically asked for both graduation thesis and internship certification, so I started to go for an internship from my 3rd year. Diving in a working environment when you're still a student brings many advantages if you're proactive enough. Because you’re allowed to make mistake. Ask, learn, practice, and repeat. Usually, once our probation performance is outstanding, people are likely to offer a full-time position because they take you as a good asset for the team. That opportunity happened to me. However, the study schedule was quite overloaded. I must postpone the internship to finish the schoolwork. 2 years later, I stepped out of university and got my first job as a fresher developer based in Da Nang.

My first project was a drag & drop application to resolve a problem in file transfer. I do realize it was my first official year of working, so I did my best to collect every piece of knowledge. From backend, frontend to foundation knowledge and soft skills. Each of them is still used until now. Then I got a project which required a relocation to Saigon, where I spent the next few months living as a local. There were too many open doors gradually showed up, enough for me to consider moving to SG to settle. I mean, if we don't try and challenge ourselves when we're still young, how can we surpass our limit and grow beyond it. Those first days in Saigon was really struggling. I just started to rearrange my whole life from step one. It's a process of growing up from real experience, and worth all the way.

Somehow, I believe programming engineers should challenge themselves and deal with more than one programming language. It generates an overall view of how its advantages can be utilized on a certain problem. Hence, it helps us to come up with a solution more flexible and meticulously. Still, switching from one language to a new one means you have to accept an adjustment in income since you've started from a beginner level. That's what happened when I switched from NodeJS and React to Golang. But it's a good move, in fact, an opportunity cost to invest in what we truly want to master.”

featured

“When I was in high school, information technology has already been famous. Surrounded by too many alumni that chose to go for IT and me myself had developed a passion toward the field. Hence, it was a great motivation to pursue IT.

My starting point bumped into many obstacles. First, the accent. Growing up in the middle of Vietnam makes it hard to pronounce words accurately. That weighed me down. I found it hesitate to communicate. Second, I wasn't much of a social butterfly. I refused to raise questions about the knowledge gap, and school just went by as I didn’t pay much attention to the foundation knowledge. In fact, I got lacked.

I did try to work with PHP, Java and .NET. But none of them triggered my curiosity as React Native did. I approached and learnt to code it at a beginner level with some basic apps. Then I met Luan, my first mentor, who managed to fill up my knowledge gap and pushed me to go further, literally in anything. Short courses. Theory. Pair practice. I even dived in React JS, Redux, UI & UX to support the work because we didn't have tester back then. Three months of internship and two more for probation weren't enough as I insisted on learning more from him. And it was worthy. I was so grateful to follow his lead.

We all know that COVID affected a lot, including the tech industry. My company was one of those to receive the hit. Investors figured that it was too risky for an F&B startup during this pandemic as they decided to withdraw their investment fund. We had no choice but to be insolvent. It was a hard time, indeed. We only had a one day notice. Beside the living cost, I also had to take care of my daughter's tuition fee. Working in programming means the laptop is an irreplaceable device. My current laptop was provided by the company. I had to buy myself a new one, or I'll have nothing to work on. And since I worked in React Native, a Macbook is a must. Can you imagine the frustration?

After many ups & downs, and many help from the former co-workers, I got a new job, which is also my current place. By this milestone, I got to learn so much on APIs and other related tasks. It's a small team, and my workload gets swamped sometimes. But I'm happy because that means my quality is valued. Thought I understand that people get better if they're willing to learn, but I know the training I got from my previous mentor plays the most significant part. If there's a note for those fresher, I believe it's vital to choose your first mentor than your first paycheck. Trust me. It's their guidance that worths all the way.”

"Moving the title from Back-end to Front-end was pretty a struggle. I started my career at the point where those frameworks like Angular or React JS were still under the radar. Heuristic approach is challenging. Everything is new and you don't know where to take the first step. Plus, the trade-off. I've decided to reduce the income in exchange for training. Besides a whole new surrounding, embarking on the Front-end journey faces some specific hurdles. UI Style is one of them. I didn't have a sense of art back then. So whenever I finished making one, I gave it to the seniors and asked for their comment. I did it repeatedly until things got better. Another point which I found very lucky is even I was working with many youngsters, never have I seen there was a single conflict between us. They were supportive and opened to back up, which is why I've been so grateful.

Outsource companies usually have many projects at once. Though the knowledge might be wide and in-depth; but it'll be gone after 3-6 months when the project comes to an end. We don't have enough time to master it. Meanwhile, product companies tend to aim for one project consistently. It's a chance to dive more on the domain knowledge, maintain the code, fix & hone them to an upper level. Given that, I personally prefer to work in a product company. So depends on the current need, developers can choose which type of company suits them more. Before stepping in a place, try to research more about their current tech stacks, and see if their core values match the vision you're pursuing. Freshers and juniors can hardly bring experience to the table, so the best they can use is the attitude they have for the work. And don't ever forget to communicate. Communicate makes the job better. I did have times when I took the wrong message due to a lack of communication, and that led to fault in the process just because I managed to discuss them personally. Bring the talk external makes people feel more obligated to participate, follow up and confirm the issue. It reduces the ratio of misunderstanding while opening a better chance for help & advice"

_featured_

"Back in college, I had 2 options. One was to follow Chemistry, and the other was IT. But after full consideration, IT seemed to bring more chances to earn a better living. But there's one thing I always tell the juniors, chasing after money is not a wrong choice. It's a solid motivation. But other than that, I hope they can find other targets to make the job more meaningful. It doesn't have to be a huge one, but it should be inspiring enough to push them to grow. At this moment, I'm happy with what I do. Build useful tools that bring impact to others. Of course, I still make money out of it, but it'll be more fun once you know your work matters to people.

For me, Software Engineer means more than just a mundane programming service. Once you develop a product, it should come with long-term value. It’s our job to advise the best solution and must be customer-oriented, rather than being a short-term service provider."

"I’ll be lying if I say there is no pressure working with people who are older than me. There is. Sometimes it’s hard to give feedback and judgment. But people are very open to receiving feedback since they know that it makes things better. I value their ideas and vice versa. All decisions will be made out of data and working processes with no bias of external factors. I find it lucky that every team in this company lives by that code.

We do have conflicts, but we try our best not to make it a problem. Conflicts of ideas happen all the time, we don't keep score or let it bother us much. Even after a harsh meeting, we can still sit back, have lunch, and shoot the breeze like usual."

featured

"Let's just say my major and what I do has nothing in common. I graduated as an import-export bachelor, spent the next 6 months in an international school as an Academic Assistant, then nailed at Coinhako as a Customer Service. Weird, I know. I wondered what it would like to experience a startup model, and I found Coinhako amongst the zone. Coinhako was a whole different industry, a tech company for bitcoin and cryptocurrency. Coinhako was a small team by the time I came, which allowed me to touch my hands on many roles and define what I do best. I developed a strong passion for IT because I admire how software engineers can turn any idea into tech products. It's what truly amazed me. I used to try getting on the IT major when I was in university, but I couldn't. And Coinhako was a chance for me to step in this field as another role.

Customer service (CS) supports and handles the user's problem. There are two types of issues. One that can be resolved by CS staff and one that needs to be redirected for developers to work on. In the past 2 years, besides working as a CS, I've immersed myself in other scopes such as tester, PO assistant, and even Business Analyst. For someone who doesn't have IT as a background, I found it pretty tricky communicating with developers when it comes to programming languages. For instance, describe an issue that users are facing or comment on the development process.

As time goes by, things got better. I feel lucky to be mentored and partnered with people who are always down to help. Still, working in too many roles can sometimes leave you with confusion since you can't determine a straightforward career path. At first, I thought it felt great enough to participate as a tester, you know, to walk in the customer's shoes and to give feedback to improve the product. But now I've realized I want more than that. It will feel way better to actually learn a programming language and code a product yourself."

_featured_

“I soon realize that English is only a tool to succeed, so I took a 6-month certificate in administration then heading straight to companies for internships, without the help from my university. I got accepted into an export-import agent of Germany - where I learnt how to set up the paperwork, meeting booking & other administrative tasks. I spent the next five years working for a startup in online marketing until I fully got the hang of how to operate that field. Then I switched to an event startup and started to build up things as a supervisor. After many ups and downs, I moved to a Singapore Tech company as an HRM.

It irritates me to recall the first day at work. I got bullied and disrespected just because I was a fresher. My first impression of my boss wasn't that good. The more I got to work with her, the more I realized it wasn't that simple. I suffered a lot from the errands because I felt like that wasn't my responsibility. I didn't apply to do those kinds of stuff. Then my boss spent a few times talk me through it. She showed me the experience I was lacked and why I should stand behind the scene until my knowledge and expertise got leveled up. I learnt at her the work ethic, and I understand the reason that she put me up with those errands because the work was too overloaded back then. I remember one thing she said: "Try your best to organize your priority". That comes with me until now.

My ambition was to work at a non-tech firm in the first 10 years and move to the tech world 10 years later. I got a chance to talk with an IT help desk. It's a shame, to be honest, because I couldn't be able to distinguish IT help desk and programmer. Moving from a non-tech place to become an HR manager in a tech company takes time to earn trust. Most of the employees didn't believe I could get the work done. Because my background in technology was zero. I heard many rumours behind my back. That somehow hurt my ego. So I strived to let my power be the noise. I set up the essential foundation to meet the need of employees. Setting a cool office. Making sure the payday is stable. Annual health check-up. Building the performance review. Insurance package. Gradually they notice the things I brought to the table and take my value seriously.

Being an HR means to deal with people problems. All-day long. Usually, I will get to know their personality at first and develop a method to soften their mood when a crisis happens. Once you get to know them well enough, it's easier to resolve the conflict or performance review. Plus, knowing your employee means you get a higher chance to have them engaged in the long run. The startup environment did give me many precious lessons. It allows me to perfect things and widen the grasp all at once. For me, working at a startup means to take one step backwards, then take three steps forward. The resilient spirit is fantastic.”

“By the time I got out of university, all of my peers decide to step into the big playgrounds, such as FPT software or other big firms based in Quang Trung Software City. After I contacted to a senior for advice, he suggested me to re-consider my competence and to assure whether or not should I join a big company. It could be a vast ocean where I find it hard to find a stable orientation. I could be struggling there. Working for a small team can be a better idea. Although the income and benefit might not be appealing as first; I might get to work in different fields. So I decided to drop myself in a Vietnam-based company which their main focus in React Native. React Native was only opened-source from Facebook about a year at the time. And it was a real breaking change for me.

I got no one to mentor. I studied and formed up everything from scratch. New environment, new technology. I got nothing but a piece of Android grasp, zero experience in Javascript or iOS. And 'MacBook' was never on my to-buy list. The real struggle started with the technical setup. It's ironic to call yourself a React Native developer, yet my laptop only supported for Android. That means whenever the client requires an iOS-support, I got no choice but to borrow a MacBook from my CEO. Every time bug happened on the production, it was a nightmare. So I managed to enhance the foundation of Javascript, through books & researches. I even saved up to purchase myself a 2015 version Macbook, and that was one of the decisions I never regret.

Motivation is the first reason once I embark on something new. Like "What do I need that for?". Then I break down the thing into 2 aspects: Why and How. Why was that created? Does it mean to solve a problem? How it manages to do that? How can it turn those theories into practice? Given that method, I realize we people can truly grab the first notion of everything. It's not detailed and specific, but it's a foundation to start.

Then I switched to a Singapore company. It faced many obstacles, but technology was no longer one of them. It's communication and teamwork. It took me nearly 6 months to get things on track. But on top of that, what distresses me the most is I can't be able to use my product as a real user since it was made for Singaporean only. There is a massive disconnection between the programmer and the actual end-user. I didn't have the chance to fully understand the demand from an end-user's point of view. It's a sad thing, somehow. You know what they say about seeing people using your product.

Having 4 years of seniority doesn't make it easier when it comes to decision making. Everything must be going through the client's approval. And it's quite hard sometimes. We can consult them on the technical aspect, but the execution is totally based on their call to make. So the top tip is to build the trust is to follow the team process. You know, the workflow. Which stages and whose decision. You get the hang of that, you know precisely what time to bring up an idea that can raise as many eyebrows as you want. Take a closer look at the workflow and the communication channels. Comment on the task, be professional and detail in every document/message. Communicate about your activity, your performance, or the value you create. Anything that helps people can remotely understand your trait. Once others see your insight, that's when they begin to notice. So make a good one.

But make sure everything that is said and shown is reasonable and informative. Self-promote can be a double-edged sword. People are willing to receive anything you bring to the table once there is something to benefit from. Otherwise it's just a waste of their time and yours.”

"My first job landed in a Vietnam company, of which the client was from Australia. My PM was an Indian, and he led me through the Mobile platform. After that, I stepped in FPT Software as a Java Web Developer. Due to the market demand, FPT decided to launch their Mobile team in Da Nang. They sought for the key members with a solid foundation in Mobile, and I was one of the lucky selectees. That's how my path with Mobile began. Software changes fast, really. But I specifically don't care much on which technology is "better". I approach things with an opened mind, which means to research the news and update on the current one constantly. That's also the motto I prefer my team to follow."

"When I choose a teammate for a project, I tend to select those who have worked with me before. If their attitude and experience match my expectation, and their commitment is solid, it's safe to move forward. In case there are many projects at once, I'll arrange for them to start with the small one first. Once they have created a good outcome, they'll be ready to handle the bigger responsibility One specific trait of communication is how people get along and understand the mutual goal. Although we launched it as a freelance team, it has been 3 years already. I love to create opportunities for the team, let them focus on their core strength. It doesn't matter if they used to be a manager or a freshman; I'm more interested in their competency. Flexibility is also a key. I can still interfere and support them by all means, but it feels great to empower them to be autonomous, as long as they keep up the good pace and strive toward the company mission.

I think the biggest problem that fresher & junior are facing these days is their ability of self-learning, and the urge to build up a network. I can help add up the knowledge, but attitude is an attribute that needs self-development. The seniors are willing to orientate and guide them on the right path. All you have to do is ask."

Techie Story

About Us

It begins as a community project where we put one story at a time, about the untold story of all the techies who work in the technology industry.

While others usually notice the superiors, the geeks and 10x engineers, people who made significant contributions and likely to stand in front of the success; there are more who involved in the product development lifecycle.

They are the engineers, the designers who make every pixel perfect, the makers who come up with an idea, the university assistants who train the apprentices how to code, the HR staffs who help companies find talents, and so on. There are different aspects of work & life in this industry that not everyone knows about.

We want to honor all of them, people who don't take the reward for themselves, who stay behind all the digital products that we are using. We also want to make "Techies Story: The Untold" a place where those single bits can be proud of what they have contributed.

If you'd like to say “hello": team@techiestory.co
Speaking requests, media and pitches: press@techiestory.co

Sponsors

  • Dwarves Foundation - The home of Dwarves, a growing team of expert craftsmen in software development industry.
  • WeBuild Community - Vietnam Alliance hub of Developers & Makers.
  • CirCO - provides private office & collaborative workspace for individual, startup and business.
More Techie Stories