When developing, how often do you think about starting over from scratch and redesigning the whole system?
“Developers buy into a familiar lie: ‘We can clean it up later; we just have to get to market first!’ Of course, things never do get cleaned up later, because market pressures never abate” — Clean Architecture: A Craftsman’s Guide to Software Structure and Design
There will always be new requirements to fulfill and new features to ship. If the code isn’t well designed in the first place, one day it will come down burning.
Developer’s nightmare scenarios:
As we are wrapping up in 2020, many companies are starting to have year-end talks and 2021 roadmap plans. Product managers have their schedules packed with planning and retrospective meetings to plan for the year ahead. How about our personal goals for 2021? How can we plan our personal 2021 roadmap as Product Managers would?
(Note: Some links in the following are affiliate links. If you choose to purchase the item through the link, it will help me earn some extra bucks at no cost to you. :) Thank you)
“If I had asked people what they wanted, they would have said faster horses” — Henry…
The inner turmoils when Slack went down while working from home
According to Slack’s status page (https://status.slack.com/2021-01-04), Slack was down from 9:14 AM CST to 1:28 PM CST on Jan. 04, 2021.
This was definitely not the first time that Slack went down (https://status.slack.com/calendar), but it is the first time that I have encountered Slack going down while our entire team is connecting remotely.
The following is a playback of the whole incident and the valuable lessons our team learned during the downtime.
I was in the middle of debugging when a Slack notification popped up on the bottom right of my computer. …
Pick and choose from the following tips as you see fit!
This all makes sense and is reasonable until deadlines approach. Chances are, you always have managers to report to or customers to respond to. A missed deadline would be a sour blemish on your performance report. Whenever I see newly hired developers still trying to understand the code base mere days away from the deadline, I have to fight the urge to ask them to push whatever they have and complete it myself.
Think back to the time when you started as a junior developer. How often were you assigned to work on a project only to be told to switch to another one while a senior took over your original project? …
Last month, my entire phone screen suddenly turned bright green. Of course, I promptly tried turning it on and off again to see if that would fix the problem. After several attempts, I had to reluctantly admit that rebooting is not always the ultimate solution and decided to take it to the repair shop. Turns out the whole screen needs a replacement and it would cost around $120 and two weeks to get it fixed.
Ugh. I was hesitant about fixing an old phone for $120. …
I’m an avid note-taker. I was initially doubtful about digital notes.
After testing out various digital handwritten note-taking apps out there in the market — Goodnotes, Notability, and Evernote — I have settled on Goodnotes. Goodnotes is an iOS note-taking app and its suite of nifty features makes note-taking a whole lot easier. While some of these features can seem obvious, they really add up to a smooth and efficient experience.
These are the ways I found to leverage the features of Goodnotes on the iPad for my work as a software engineer and student. …
There are lots of algorithms out there for image compression, but this article is going to focus on Rank-K approximation. The concepts covered in this article will serve as a foundation for other common machine learning problems such as PCA (principal component analysis), matrix completion, and noise reduction. (See the last paragraph for more details.)
It’s easier to understand Rank-K approximation through images. For simplicity, let’s assume we are only dealing with grayscaled images, so each data point lies within 0 and 1, with white as 0 and black as 1.
Personally, minimalism is never about limiting myself to own only X number of items and depriving myself of materialism. I have come across extreme minimalists who insisted on owning just one object of each functionality: One cup, one chair, one desk. No, thank you, I think I would like to drink my coffee from an actual coffee mug and not a glass jar.
The reason that I have chosen to live a minimalist life is not that I want to deprive myself of physical items, but I want to spend less time on objects that don’t matter and focus more on the people that I love and experience life. …
Teamwork behavioral interview questions are tricky to answer, mainly because people react differently in varying scenarios and it is difficult to figure out what the interviewer is looking for. Throughout the years, I have been on both sides of interviews for different teams and different positions, and I definitely sensed a pattern.
Disclaimer: Most of the people I interview are applying for either software engineering- or product manager-related positions. Other positions may have slightly different questions regarding team communication.
Question: How would you resolve a disagreement on implementation?
I’m quite surprised at how many “Do whatever the boss says,” “Do whatever the product manager says,” or “Do whatever <insert a higher position> says” answers I get from interviewees. …
When working with Git versioning, it is crucial to be able to visualize your Git branches.
Git commands can be long and tedious to type out. To save yourself some effort in the future, let’s set up one useful Git command that helps you visualize your Git branching history.
In the terminal:
And then in the
gitconfig file, add in the following snippet:
[alias] lola = log --graph --decorate --pretty=oneline --abbrev-commit --all --date=local
I just cloned a brand new project that only has the initial commit to it. …