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…
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…
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…
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…
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…
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:
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 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:
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…
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…
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.