A good programmer knows things. A better programmer shares the things they know

Foosball table
Foosball table
Photo by Pascal Swier on Unsplash

To secure your programming job, write unreadable code that only you can understand. The uglier, the better. Don’t share your knowledge with anyone. Keep everything you know to yourself. The projects you did will be crumbled when you’re gone. If you are irreplaceable, you will never be fired.

You know I’m just kidding, right?

A good programmer knows things. A better programmer shares the things they know. In the information technology (IT) industry, information is meant to be shared. The more people learn about the information, the faster the organization grows.

Thinking from the system design perspective, a single point…

If today were your last working day in your current company, what kind of code would you write?

Photo by Md Mahdi on Unsplash

In a software development life-cycle, a team of engineers works in different parts of a complex system. No one knows every single detail of the architecture and implementation.

When someone decides to leave the project or the company, another person, or the rest of the team, has to take over. The one-month notice period is where the knowledge transfer happens. However, if the engineer has been with the company for a few years, it’s practically impossible to squeeze those years of knowledge into a few sessions of knowledge transfer.

As a responsible software engineer, you want to leave a good…

Human conflict isn’t all glitter and gold

two boxers fighting
two boxers fighting
Photo by Hermes Rivera on Unsplash

Pull requests often have two kinds of conflicts: code conflict and human conflict.

Code conflict happens when the source branch doesn’t have the commits of the destination branch. You can solve a code conflict by merge or rebase. Either way is right. However, human conflict is not always so straightforward.

Human conflict occurs when two developers, usually the author and the reviewer, have different perspectives on a piece of code. Sometimes one perspective is obviously better than the other. Sometimes both seem correct.

If you were one of the parties or a third party, how would you handle this situation…

9 hacks to make your whiteboard coding process easier

Two women next to a whiteboard
Two women next to a whiteboard
Photo by ThisisEngineering RAEng on Unsplash.

The interview process for software engineering positions usually involves one 45-minute round of whiteboard coding. Before the COVID-19 pandemic, whiteboard coding literally happened in front of a whiteboard if you were applying to local companies. Nowadays, coding interviews take place over an interactive coding web application such as CoderPad.

Even if you’re a mid-to-senior-level developer, a coding interview is always a big challenge. It doesn’t really test your day-to-day job in dealing with frameworks and architectures, but it’s the test of your fundamental knowledge in data structures and algorithms.

If you can’t solve a question during a coding interview, there…

4. Prioritize what really matters

Image of plant growing in a window
Image of plant growing in a window
Photo by Luke Porter on Unsplash

Personal side projects are the works you do on your own time, for your own growth, and for your portfolio. For example, building your portfolio website, creating a piece of digital art, writing a Medium story, etc.

Freelancing is not considered a personal side project because it’s not personal. Personal side projects are not necessarily profitable. If they are, it could be a great motivation for you to keep doing it.

Apart from your eight hours of daily work and quality family time, you should invest the remaining few hours of your day in personal side projects. They give you…

JWT, EpochConverter, freepik, and more

Tons of camera tools
Tons of camera tools
Photo by Jeff Hopper on Unsplash

In this internet era, almost any free tools can be found online to solve common problems developers face every day. You name it, someone has already built it.

In this story, I’m going to share my top 12 favorite web tools that make your life as a developer easier. I focus on websites only because those are ready to use without installation. My preferences are the ones that:

  • Appear among the top of Google search results.
  • Have a clean and intuitive user interface.
  • Provide useful information.

1. Regex

Expo managed workflow and Firebase for React Native App
Expo managed workflow and Firebase for React Native App
Expo managed workflow and Firebase for React Native App

Out of the working hours, I like doing personal side projects. The benefit of building side projects is to learn new stacks of technologies that are not commonly used in the workplace.

For the past year, I’ve been working on Trexy, a React Native app that allows users to track expenses and debts. The app is live and available for download on App Store and Play Store. You can find out more about Trexy here.

There are many valuable lessons I learn during this process. In this story, I would like to share my humble opinions and tips on Expo…

Trexy means track expenses easily

Trexy is an expense tracker app. You can record your own expenses and debts between other spenders and yourself. Like most expense tracker apps, Trexy allows you to record your spending with date, note, and category. Unlike most expense tracker apps, Trexy support:

  • Shared expenses and transactions between different Trexy users.
  • Bill splitting among all the spenders within the same transaction.
  • Debt records between the payer (who paid) and spenders (for whom).
  • More than 100 worldwide currencies with the updated daily exchange rate.
  • Offline operation and online storage that sync your data across all devices.
  • More and more upcoming features.

Why Do You Need Trexy?

8 External Factors Related to The Management

Photo by Kelly Sikkema on Unsplash

In the tech industry, developers join and leave an organization due to various reasons, such as stagnant career progression, poor project management, toxic work environment, no sense of belonging, etc. These are slippery slopes that lead to the most fundamental problem for developers — unhappiness.

Developer unhappiness is usually overlooked by bosses and managers. They focus on delivering the products to meet their KPIs (Key Performance Indicator) and neglect the importance of developer mental state. Developer unhappiness cannot be simply compensated by higher pay, bonus, or additional benefits.

No one is happy all the time. There are ups and downs…

Photo by Simon Migaj on Unsplash

Are you looking for your first or second job as a software engineer? Have you ever considered the contract position on the job listings? The term contract makes it less sexy than the permanent role because there are certain things you will lose out. However, some of its perks still draw your attention. This could be a crucial decision in your career, so you must know the pros and cons of the contract position for your consideration.

I’m going to share my personal experience of working as a contract software engineer in a travel-centric company. You can use it as…

Meng Taing

Fullstack developer. When life gives you a lemon, write a script to turn it into lemonade so that you don’t have to deal with it again.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store