Categories
401k and Personal Finance advice and tips Life Life Tips Software development

When should I retire

Reading Time: 4 minutes

The best time is now; the second-best time is tomorrow. –anonymous

After 25 years career I finally got an office with windows

Career

Per my age and typical stereotype, I think I am expected to wind down my career in the software field now (my LinkedIn profile here). I understand career is more than a LinkedIn profile or a resume, but here in the USA IT IS one of those things that MATTER, in addition to title, experience and compensation history. Useless or but fun fact: I started my LinkedIn profile in 2008, about 17 years ago.

US companies are mostly snobs, in my not too humble opinions. I mean CEOs or the higher ups, not the average Jane and Joe. Doesn’t matter whatever they say publicly – their mission is making money for the owners, not for employees. This is quite obvious from the recent high-profile layoffs such as Amazon laying off 14,000 back-office people/white collar workers last week.

And I have my favorite quote related to that topic too. When questions by reporters why he took $55 million exit package in 2002, when he was forced out, former CEO of EDS, Electronic Data Systems, Dick Brown famously said: I have an expensive wife. I know I know, I don’t have expensive wife. But I also have two daughters who like to buy things. Or should I ass that they have good taste? 🙂

Sorry a bit off topic 🙂 Last month (Oct 2025) I passed 25 years’ work anniversary in the USA. I started working here on Oct 2nd, 2000. A lot has changed since I started working here. I have seen quite a bit of industry underwent paradigm shift. From the Internet bubble (web 1.0) burst to web 2.0 (remember delicious, Flickr and digg.com?). And now we have web 3.0 and more. My career wise, I changed from working in the CAD software to mostly enterprise web applications, with a bit of consulting and iOS dev in between.

I don’t want to be forced out

I have seen coworkers who are about 50 years old, being laid off, at multiple places. Some of them were caught off guard. I was much younger or a bit younger then. Now I am at that age. And I don’t want to be in their shoes. I have literally seen grownups crying when they got laid off.

Also, right now I felt I can still do some meaningful work. If the time comes that I feel I cannot contribute in a meaningful way, I will just quit.

Re: AI, we all know the AI is causing a lot of disruptions and anxiety among IT/software workers nowadays. But I also believe at least for now, my job is not impacted. And if I can learn those AI tools and they can actually help me doing my job.

How much money is enough

One problem is most of us don’t know the answer to “how much money is enough?”. Or my favorite answer is “a little bit more” (it’s both a joke and also has some truth to it).

But seriously I need to think about this question as the date of retirement is approaching, either I want to face it or not. Some of the things I am thinking about regarding this topic.

1. My retirement is probably going to be different from my parents’ retirement. They have a more traditional retirement. My dad has a pension, and I don’t. And they stopped working completely when they retire. I think I will likely do some work (not too strenuous), for example, I will manage my 401k and IRAs, as well as doing other things I like to do (music, walking outside, does that include swimming??? 🙂 And some social life too (not drinking at the bar, I mean probably I am good enough, I can play music at the bar, again just for fun, not for money 🙂

Do I continue to mow my lawns? If I am health enough and feel like it. If not, I can either outsource it or sell the house and move to a townhouse or condo. Note selling the house will be a joint decision not solely mine.

2. I will probably have some hobbies and some travel. But probably equally important, I need to manage my 401k and IRAs, making sure they have decent return and will last. This is also something my parents don’t do. Sorry I am getting repetitive here – signs of my age and the need to retire 🙂

Still TBD as of 11-03-2025 (JIRA board doesn’t look good in terms of velocity 🙂

I need to calculate how much my 401k and IRAs were earning in last 3 5 or 10 years or so. If the total earnings (capital gain + dividend) are approaching my take home pay of my day job, that will be a good sign. Obviously, I need to fact into my financial obligations: the big-ticket item will be my kid’s college costs, and it will also be a big unknown because the US higher education industry is very similar to the US healthcare industry in terms of price transparency 🙂 You may read more about the college cost here as I learned last year. Note that’s applicable for the American students only (I assume US citizens and permanent residents, not sure about the children of visa holders), and not for the international students. Consult an expert on this topic, if applicable.

3. When applicable, I am thinking some side hustles including but not limiting to Uber or eBay to make some money and have something to do.

Cannot counting on that for meaningful amount of money though – ideally main income stream should come from investments, as said in this old saying “if you don’t make money when you sleep, you will work until you die.” I for one definitely don’t want to work until I die.

PS:

(YT 油管)75-Year-Olds Share Their Biggest Regret at 55

(YT 油管)Ayen何璟昕 – 時間不等你【粵語新歌】 [Official Music Video]

(Old blog post from yours truly, originally written about 20 years ago) Monday is not my favorite day

YT Shorts: Early retirees shares truth about early retirement

Categories
Fun Life Software development

Production release, perform and high stake exams

Reading Time: 3 minutes

I did a production release last week, by that I mean I was the release tech lead for the web app production releases for my current employer. It’s mostly uneventful, but like most other production releases, there is usually some learning opportunities. This time the opportunities lies in couple small areas: 1) Validation of database insert statements, make sure the spelling of the select statement is exact; 2) Staging the artifact for production, via GitHub action. I was a bit new to both “staging artifact” and GitHub Action, this time I learned on the spot, with help from a colleague.

Friendly crowd

This reminds me of another thing, that is for artist, for example a musician or a singer to perform. There is pressure on live performance too. Similar to production deployment, if we have a friendly crowd (customers in the case of websites) and a collaborative team, things will be a bit easier.

Saturday night all-nighter

Some more tips on production deployment. I did do a few at my current job, and I did some at Mastercard (MC), my previous employer. The deployment was usually more stressful at MC. The main problem there is the production release usually happens on Saturday night, and it could be an all-nighter because the expectation is there, also it’s not easy to find all the right people quickly during the night. I recall once, I had to page my colleague, and he came on quickly, but we waited hours for the person to generate a new key (the old key expired, and the server would not start during restart). So basically, I could not completely go to bed, I laid down in the couch with headphone on, and I imagine my colleague did the same. Btw, the reason I asked help from my colleague was it’s the first time I encountered something like this (he has much more experience).

Lesson learned

At my current place, I did almost make a big mistake last year during production deployment. The issue was the UNIX engineer didn’t fully understand my instruction. Although one can argue my instruction was not very clear. But the end results was the engineer deleted much more arguments in the J2EE server configuration and the server would not start because of that. Luckily earlier I took my PM (project manager) colleague’s advice, and did a backup or save of the “before” arguments. So at least we have some references for the arguments as the UNIX engineer already deleted a bunch. Also the engineer called his senior engineer and he was able to bail out both of us. From that small incident I learned “don’t assume other people will always understand or follow the instructions”. Try to write good instructions, and also back up things as needed. Talking about backups, I usually do some DB backups when I delete something. That saved me once as I was trying to fix an issue at Mastercard. Basically when I realized my earlier fix didn’t work, I restore the data from my backup, and tried another approach. The second time it worked.

Performance

Back to artistic performance. I haven’t performed or competed for a long time. But I can see my older daughter got nervous before this sort of thing. And for my younger daughter: she tries to avoid those sorts of things, as much as practical, from junior tennis tournament to violin federation(performance) at UMSL, to string/music ensembles at Community Music School at Webster University. I can understand though. Because as I said in my other posts, I got nervous before Gaokao and other important exams too. The trick is, balance the nervousness with other important things such as preparing for the exam or the performances.

Btw, if you are in Yueyang, Hunan and surrounding areas, please note this – (Update 07-24-2025, from 何璟昕的微博) 听民谣,来岳阳🎶 我会参加7月25号、26号的湖畔音乐节演出,地点在岳阳港工业遗址公园,这次准备了3~4首从来没有在现场演出过的新歌曲,欢迎大家来玩!

Categories
Software development

A coworker just passed away

Reading Time: 4 minutes

I worked in the USA for almost 25 years. This is actually the 2nd time a coworker or a colleague died while on the job. We (software engineers) all work from home at my current place, and I did see him once at a company function (probably Diwali?). And although we were not on the same team for the most part of my 4-year tenure here, we did have some interactions mostly around the app dev env setup, and so on. Recently due to re-org we are getting on the same team, and under the same manager. Because the new manager is basically a micro-manager, and we even briefly chatted about his management style. I did notice something a bit off because he seems quite weak, and slim on the video meetings (compared to last time I saw him in person, maybe 9 months ago). But I didn’t speculate much. The news came on 7/9/25. He died from cancer. This colleague is originally from India. And I am guessing he is probably a few years older than me.

Last time something like this happened, it was almost 20 years ago, when I was working for UGS/Siemens PLM software. It was an American colleague, and he worked for a special project for our company in Japan (more specifically Toyota’s main part supplier Denso) for a few years (maybe 5 years). And just got back. And he was diagnosed with liver cancer. He did smoke and I assume he drunk a bit when he was in Japan. He is a fun-loving American guy (probably my current age at the time he came back). And I believe he was not married or didn’t have kids. His mom was in 70s. Some of my female colleagues (a Japanese colleague come to mind, later she switched career form language localization to nurse) made some special comfort food when my colleague is gravely ill. So that was very nice of them (her). We used to be lunch buddies, and I recall riding on the gentleman’s GM Tahoe. I attended his visitation too. My former boss (also an American guy, probably in his early 50s), joked we can probably have a drinking party at the funeral home (because the mentioned colleague likes to drink or hangout with people). Note his joke was in good taste (per American standards).

Both colleagues died from cancer. I am going to the visitation for my colleague today, if nothing urgent happens. (Update 07-10-2025) I went. The visitation is a bit different from American ones (for obvious reasons), but I did like the music and so on. I was likely the only Chinese person there, there are a lot of Indian friends including a few I know, and a few Americans.

Other deaths or close call

Technically there was another young colleague died unexpectedly recently too: but I only knew his name before that and never knew him or worked with him in the past. While they didn’t explicitly say, I was under impression that the younger colleague died from suicide: probably related to PTSD from the military service. My impression is he was deployed in the war zone(s). And he worked for police department in St. Louis area, before joining my workplace (we are a veteran friendly place) as a software engineer (he attended code academy before the job). Now I remember his mom and stepdad’s sadness when we were there. Because he was probably in his early 30s or late 20s. His parents are probably my age 🙁

Couple years after I left UGS/Siemens, probably in holiday season of year 2010, I bumped into my former boss at Macys’, and he told me one of my colleagues (he was a few years younger than me) died suddenly (after I left the company in fall 2008). It made me quite sad, because I had quite a bit overlap with colleague and he is from India btw. To made things worse, in the company benefits annual enrollment, somehow, he didn’t indicate that he wanted the company provided life insurance. I believe his wife didn’t work and that’s just adding salt to injury.

A few years later at Mercy Health, I met a very nice colleague who was fighting the breast cancer. I don’t know how she did eventually. But I really liked the atmosphere my Mercy coworkers (that’s also the place call colleagues as coworkers) created to support her. She is wonderful too. She has some hens, and from time to time, she would bring eggs to the office, and colleagues can have the eggs (free will donation to a sort of colleague coffee/snack fund). The comradeship (we are in this together) is something I felt is solely missed in this post pandemic (work from home) work place.

Chinese colleague’s husband

About 20 years ago, I think it was year 2005, my Chinese colleague’s husband, who was 41, passed away due to cancer. I remember that because I was about 34, and he is about 7 years old. His wife and I worked at the same company then. I also attended the “celebration of life” at the time, at the request of my colleague (his wife). He seems like a nice very guy. I also recall one of his Chinese friend, a good friend, tries to come up with some humor or fun stories to cheer up the crowd. Note this was a bit unusual for Chinese people because from Chinese culture perspective, funeral is usually associated with a lot of tears. And I saw some of that today (7/10/25) at my India colleague’s visitation too.

PS:

I recall one of my AVP (Assistant Vice President, he is more like a VP if we are at a different organization, my current place is a bit thrift to hand out VP title to IT people), recently said (he actually said it in the visitation for the young colleague I mentioned above), one of the most important jobs for the leaders is showing up in occasions like this. I tend to agree. Note he said “leader” not “manager”. Everyone can be a leader at workplace. I recall also many years ago, while at UGS/Siemens, I drove to Illinois to attend a visitation for a colleague. And he was pleasantly surprised to say the least. So, there is that.

For those of us that are still in this world, I encourage us to be happy and healthy. And music is a great diversion or hobby to have, in my humble opinion.

Categories
Software development

Protected: Typical daily working hours for Software Engineers

Reading Time: < 1 minute

This content is password-protected. To view it, please enter the password below.

Categories
Career Software development

Imposter syndrome

Reading Time: 2 minutes

I recall in year 1999, probably in that fall, once I met a gentleman who is the founder and president of a small IT outsourcing shop based in Peoria, IL. He was coming to Rolla to interview students for potential positions at his company. His questions are more interesting, I vaguely recall both he and I attended pretty good engineering schools in India and China respectively, but we didn’t attend most prestigious engineering schools such as IIT or Tsinghua University. He asked: do you feel you are inferior to the Stanford graduates? I said no and he agreed. He emphasized this point a bit: and the usual external perception and internal confidence comes with a degree from a prestigious university.

I have seen this phenomenon many times over the years. For example, in the IT/software industry, many people didn’t have formal education in computer science or computer engineering, and some of them will feel they are imposters or feel they are not qualified or confident. In fact my wife will joke with me re: this a lot. My degree is in mechanical engineering. I recall that gentleman I mentioned above majored in ME in college too. But we don’t need to feel that way. Formal college education is nice. At the same time we can leverage what we learned in our formal education, some overlaps with computer science and engineering; plus we pick up or learn from work, in the end we can do our job well and gain new knowledge and experience too.

This is applicable to other fields too. For example, I noticed a girl who didn’t take the traditional route of a singer or musician, in the end got a master’s degree in composition and in my opinion did quite well in her music (and creator) career. She also joked she is 野路子。That’s also one reason I wrote this post. In my opinion everyone is 野路子 – even those who went through all the so-called formal training. Because in today’s day and age, one has to learn or pick up whatever needed and not necessarily taught at school. Improvise. Adapt. Somewhat like the improvisation in jazz. It’s not easy as I observe last year my old daughter was so nervous when she was told she needs to improvise on vibraphone in suburban jazz band concert. In the end she did okay.

PS:

I wrote the above fairly quickly in early morning, on my phone. I just realized that my better half (my wife), though sometimes she jokes that I am not Comp Sci major, has similar doubts about herself in terms of career. She is a quite shy and self-conscious person, so I won’t dig deep in it if I could.

Reference:

Is Impostor Syndrome Holding You Back From Living Your Best Life? (VeryWellMind)

Categories
advice and tips Software development Technology Windows

Before return the company PC or mac

Reading Time: < 1 minute

Mainly double check PC and mac to see if there are any personal info left behind

Delete chrome/safari/IE browser history

Chrome=>setting, clear browsing data, check saved password/forms, delete user, delete cookies/Content settings

Safari=>delete history, privacy=>delete website data; reset safari

IE=>Internet options=>Browsing history

Delete files and folders

check myDocuments/my pictures on PC

check Downloads/Documents/Key Chain folder on Mac

check myNotes, or notes.txt on Mac and PC (applicable to me only)

Some notes for new Mac Users

short cuts, and things different from windows
command + s, command + c, command + v

delete is backspace, fn + delete for delete

Categories
Software development

Two observations on software engineering

Reading Time: 3 minutes

For a guy with a hammer, everything is a nail

Use SQL for everything

At Mastercard, I used to have a colleague who is great at SQL. And once I realized he used PL/SQL for quite complex business logic for a “promotion build” and it backfired. The customer noticed there were some inconsistencies and notified us. Upon further examination from yours truly, it appears the code has some logic flaw. Note the flaws in the PL/SQL is hard to detect, compared to code/app written in a more general purpose programming language such as Java and following proper testing procedure. The cost of that mistake is we end up sent about $40 k to the business customer (a bank). I can understand why PL/SQL is being used there, because that’s the main skill my former colleague had, and in other words, he has this hammer (SQL), and he was using it at every place possible. A second reason is my manager was probably under pressure to deliver that functionality, and he probably was not willing to or getting help from the dev team: and I knew we have quite a few Java developers there, and some of them are pretty good.

Performance Testing went too far

This applies to performance testing (JMeter is a popular tool). When I worked at Ascension, my boss likes running performance testing via JMeter. Also at the time, we have an engineer who knows the tool. And once we ran performance testing without realizing that we sent emails in our testing, and our testing brought the company outlook server down to its knees 🙁 In hindsight, I felt this kind of testing is not really necessary. You can read some of the examples I listed in my blog post too. The lesson here again is: someone fell in love with the performance testing, or performance of the system. I am not saying it’s a bad thing, but the approach they were taking to me is very amateurish. And as you can read from my blog post, that’s one main factor a multi millions dollars project failed. Somehow the recent DOGE efforts in finding fraud and waste in the US government reminded me of that failed project.

Layoff to cut cost

Now Elon’s DOGE team seems got obsessed with cutting staff (hammer) in the federal government: which was first used during the Elon’s Twitter takeover. He is using that hammer again from his previous experience. In short term, if you cut staff, you may get some more productivity from the remaining staff, because the remaining people will be scared and have to work harder to make up the slack etc. But there will be longer term consequence. I don’t think it’s as straightforward as cutting staff at Twitter (X). But again Elon only knows hammer. He really doesn’t have other tools in his toolbox.

I am pretty sure this “hammer/nail” mentality applies to other fields as well. For example I saw quite a few Asian parents pushing kids to work harder (the main reason is those Asian parents mostly worked hard to get here), without realizing “work smarter” is actually way more important.

How to measure the productivity of software engineers

My short answer is you cannot. But for managers they cannot take this answer, especially at the places they have mandatory quota based layoffs, in America I recall Jack Welch is the one who started it: refer to Jack Welch: how he justified his famous ‘fire the bottom 10%” and Short-term profits and long-term consequences — did Jack Welch break capitalism?

And at Mastercard, in early 2019, yours truly was hit by that too. I was Lead Software Engineer at the team, but unfortunately I got into some “grunt” work, not necessarily code related, thus my GitHub stats was not great.

What are the grunt work? You may ask. And since you ask me: I would ask google. Here are the answers from Google’s Search Labs | AI Overview

======

“Grunt work” in software development refers to the repetitive, often tedious, and basic tasks that are necessary to complete a project, like data entry, basic code cleaning, configuration management, or setting up initial infrastructure, essentially the foundational work that needs to be done before moving on to more complex features or design elements. Key points about “grunt work”:

Example of grunt work in software development:

======

So my lesson learned from there, along with a similar lesson I learned from Ascension Health, is: coding more, and do less of the grunt work.

At least, when a manager who only cares about those stats come by (aka, someone like Elon Musk), I can point to the source code repository, and show her/him the stats.

In reality though, layoff is more than just the stats.

PS: came across this YT video – Aging Software Dev – Can You Still Compete After 40?

Categories
advice and tips Career Life Tips Software development

Layoff and other forms of rejections in life are not the end of the world

Reading Time: < 1 minute

What doesn’t kill us can only made us stronger — German philosopher Friedrich Nietzsche — his original words are: “Out of life’s school of war—what doesn’t kill me, makes me stronger.”

Five years ago today, 01-23-2019, Wednesday, I was laid off from the company I worked for about 3 and half years. I saved the below email in my Gmail account.

Hi Minjie,

You mentioned to me this morning that you had a work computer at your home. I wanted to let you know we’ll be sending you a pre-paid box for you to send it back in.

Please let me know if you have any other questions.

Thanks!

…………

That being said, if you were working for the federal government and recently got laid off because of Elon Musk’s DOGE’s purge, and if you like to talk to someone – I am available.

Potentially I can provide some advice re: how to get back to your feet quick. I can buy you coffee, do mock interview during lunch (I will pay), and pay your Uber ride fee, if you have an onsite interview and need Uber/Lyft.

In my career, I navigated layoff situations a few times, and I was able to find something relatively quick mainly in the area of software development. I understand right now it’s a very tough job market in the USA. But it’s still possible to find something. I am a strong believer of 树挪死人挪活。I believe layoffs are usually blessings disguised in curses. Somewhat like divorce during a truly horrendous marriage.

Reference: I talked about more about layoffs here in my 2023 blog post.

Categories
advice and tips Fun kids Life Software development

Reflections and moments in year 2024

Reading Time: 3 minutes

Travel Mishaps

One of the most memorable moments in 2024, for me at least, we already checked out the hotel in HK and got on the taxi to the airport, then our 14-year-old said, “I left my hoodie in the closet”. We already checked out thus cannot go back to the room directly. Had to use a concierge service. It seems took forever when we waited there. The real time is probably 20 to 30 minutes. We tipped the house clean staff who retrieve the hoodie 100 HKD. Same for the taxi driver. Adding them up it’s probably $20: I think we paid that hoodie a bit over $20 at the Plato’s Closet. But it’s not about money. I remember this because my wife was furious (more than anxious) when she and our 10-year-old waited in the taxi. The younger taxi driver drove fast to the airport (we did make sure we have enough time even with this mishap).

Presidential Volunteer Service Award (PVSA)

One of the proud moments as a dad: our 14 year old Serenity received the Presidential Volunteer Service Award 🥇 on December 31, 2024. Pictured below: she is receiving the certificate, the congrats letter from President Biden, and the Gold award pin from Rick Skinner, who represents the United Way of Greater St. Louis, the verifying org for this award. We (my wife and I) are thankful for all her teachers, from toddler program and pre-schools (pre-K), from Kindergarten to high school at the Ladue School District, her coaches and teachers who helped her in her extra curriculum activities: for teaching her the right things. I know sometimes I didn’t teach her or show her the right thing 🙁 . Her friends over the years too. Thank you all! And we hope she keeps up the attitude and efforts 🙂

My Panic Moment

I had my share of moment at work. One evening, I was acting as the technical lead representing the development team during our production deployment (rollout). I noticed an issue after the system engineer made the server configuration changes and restart. I quickly realized why: instead of adding a few parameters in the middle of the server start configuration, the system engineer did a replacement – in other words, he removed all the parameters from the location where we intend to replace until the end. And he repeated for multiple nodes/servers without confirming any node/server change with me 🙁

This could potentially cause longer outage as we planned, and could drag out our change windows from 2 hours to 4 hours or more. Luckily, the junior system engineer called his colleague who is much more experienced, and he came out and fixed the issue in under 20 to 30 minutes and saved the evening 🙂

The lesson for me here is making sure always backup the server configurations – earlier I did make some backups (not all) after my project manager suggested. Always be open minded and listen to colleagues even when I think it’s probably not necessary at the time – because we never know it could be handy down the road!

Categories
Fun kids Life Software development

Summer Break 2024 – little moments

Reading Time: < 1 minute

Below moment is likely not isolated to summer. Sometime between March and July this year (year 2024). One day I took MacBook on sofa, and sit about 6 ft from my 14 year old. We were at the two ends of the sofa (couch). Her response: dad, you are not going to sitting here for good, right? She was on her computer and wanted privacy. My sweet 9 year old said: dad, I want to sit with you 🙂

This morning (early June): while I was driving to my 14 year old to Clayton HS, and I got distracted, passed Ladue road while driving on Warson south bound. Basically I went to the Ladue Middle School – made turn at Price & past JBS, and my 14 year old said: it’s 1st time I saw JBS 🙂

Since this summer, I started to play some board game with my 10 year old (was 9 year old before this past July), almost everyday. This continued even when she was in the Children’s Hospital for a few days in September. We played “spot it” during those days. Our most recent favorite game is Montessori Trinomial Cube (we played a ton lately, I am pretty sure she outgrew it. There goes my original plan to sell it on eBay 🙂 “Trash Panda” is probably the most complicated game for me. And I am glad some days we got to play table tennis in the basement.

PS: for anyone reading, please don’t share this with your teen kids – I am worry about the I may have the Bruce Springsteen show/tickets moments as shown in one of the Growing Pains series 🙂