software bug that made me cry
Over the last 10-plus years, I have been responsible for and fixed many bugs in the software I have helped build. Bugs are never intentional. They are a by-product of an edge case you did not consider the user would do or an input parameter you did not think of but was passed as an input. Bugs take away from a good user experience, and I do my best to ship software with fewer bugs.
I don’t remember a lot of bugs I have fixed, but out of the many that I have fixed, one I remember recently is the one that made me cry.
We had a “Time” feature that helped employees record time for their assigned tasks. Freelancers working for the company would get paid based on the time recorded. Someone from the company’s accounting department sent us an angry email. Many people were underpaid the last two months due to an error in the software they told us. They were angry, and I had tears while I read that email. People have plans with money. Getting a few hundred dollars less and being in the position of that accountant to explain why, due to an external software mistake, a software I had helped build made me sad.
Going through the code, I saw the mistake. Rounding off error. I shipped the fix so that, in the future, time was recorded/reported correctly. I also went through logs, found the time entries for that client’s last two months, and sent them the details. Writing that email was difficult, and the reply also had me in tears. They appreciated the extra effort to help them and are still a paying client.
Social Interactions and Bias
After a fascinating meeting this morning, I could not help but think about different tones/ways of interacting with people most of us have. For example, when speaking with friends, you behave and talk a certain way, but you act and talk differently when around work friends.
If your work friends were to meet your school friends, would they notice the difference in how you interact? Would they have a different opinion of you then?
It is sometimes challenging to read/understand people, from what you hear about them to how they behave when interacting with you. It is difficult to ignore what you hear about them to form a bias towards future interactions with the person.
we crashed
we crashed has been on my watch list since the first time I heard about the tv show. Being down with cold and cough the whole week, I have been catching up on all the TV shows that have long been on my watch list.
We crashed was good. I usually take my time with tv shows, but this time I binge-watched. It was thrilling and entertaining, and knowing it was true made it all that interesting.
I like learning about companies and the people who started it—learning about the motivation, the struggles, the grandeur, and the thoughts of conquering the world. These things inspire me. When WeWork launched in India, I quickly signed up to try their co-working space. WeWork did not disappoint. I tried a few locations, and they were all equally good. One thing that always stayed in the back of my mind is their deal to rent a whole building in Bandra, Mumbai as their first co-working space. we crashed, confirmed a few doubts I had about WeWork being able to expand so quickly. VC money is fun to burn.
I don’t associate with entrepreneurs like Adam Neumann. Grow quick, burn that midnight oil and expand at all costs is not the style I associate with. I associate more with companies like Bare Bones Software - BBEdit. Continue to build, maintain and improve one or two things for 30 years. Sign me up.
bookmarking is hard
I enjoy visiting new websites. Twitter, Reddit, and Blog posts have supplied me with websites I can visit. I come across new tools, software, design, fonts, colour pallets and writing styles that inspire me daily. The first few hours of me sitting down to work is spent absorbing all the awesome things the internet offers.
I have tried out a few bookmarking tools over the years. I started with using Mozilla Firebird bookmarks and then moved to more web-based tools, starting with del.icio.us, then moving on to a few others over the years. Some free and some paid. I have spent a lot of dollars trying to make sure that I get to remember all the things I come across, but I don’t stick with any.
It is not difficult to build a bookmarking site. I need the following features.
- Title, comment box, being able to add tags and the URL field.
- a way to search through bookmarks
- list all the bookmarks
Thats it. That’s all I need from a bookmarking site. Almost every bookmarking service does this. Yet, the user interface / being able to add the website I discover is where I struggle with sticking with the tool.
Updating my resume
I want to get back to writing here, but other things on the list always take priority over writing here.
I spoke to my sister yesterday, and she asked me to share my resume. It had been a while since I updated my resume. A few things had changed since I last worked on my resume. An hour later, I had the resume updated and learned a new system called “LaTeX.”
LaTeX is a high-quality typesetting system; it includes features designed for the production of technical and scientific documentation. LaTeX is the de facto standard for the communication and publication of scientific documents. LaTeX
I thought the resume looked beautiful. It was straightforward to read and had all the information I wanted it to have. I shared it with a few friends, and one of them had an honest opinion.
“Owns a Macbook but has zero creativity” …
My initial reaction was, “But look at it. It’s so nice and clear”. He said it was missing colours and design.I agreed.
It made me go back to the drawing board. After a few hours of choosing the right font, the right colours, a good layout, the same resume looked so much different. I liked this version too.
I love design. It helps the same information be communicated/consumed in different ways. Each iteration makes it better or worse, depending on whom you ask.
Overall, quite a fulfilling day. My resume has been updated and shared.
scratch that itch
You can plan all you want. You can fill out excel sheets or any other accounting software to budget your finances, but nothing can prepare you for when you finally decide to take action. The motivation to do that has to be strong and something you can no longer ignore. After you commit and take that call, your days/months/years are on the line, along with your planning around finances. Of course, others will be around to support you, but it’s your journey from now on.
There can always be more money in the bank. The date to commit to the decision can permanently be moved. One more week will not hurt. One more month will not hurt, but the longer you delay it, the more the thought stays in your mind and leaves you not at peace.
You are not doing justice to your current work if all you want to do is scratch that itch and would spend the days and weeks doing something else.
Are you ready, though, to commit and start the journey? Is today the day you decide to scratch that itch?
(draft)
There has been one post in my draft folder for six years now. The day I had the thought was the day I wrote the blog post. The post itself only makes sense if a picture occupies it.
“six pack abs” are a craze in the fitness industry, from good biceps to six-pack abs to focusing on overall good health. The conversations in the fitness industry have changed. Six-pack abs, though, is something people will not stop talking about.
I remember reading about six-pack and telling myself, “one day,” and since then, I have been working on and off to get that one picture. Unfortunately, getting to that picture has been difficult based on my food habits. It will be challenging to maintain even if I did get to have six-pack abs. But thinking about that one picture makes me never want to give up on the dream.
I need to have more (draft) blog posts. They motivate me.
three seven
“we’re all alone. that’s why we have friends and family. so that loneliness is easier to take”
Modified quote from Mr. Mercedes
There have been times this year where I thought I was already thirty-seven, so as I write this post I don’t feel like I have turned thirty-seven.
Have I mentioned how much I enjoy writing these posts? I love it. A day to look back on and reflect on being part of this world and this ride, and as I write this post, I feel incredibly grateful. I am grateful to experience all that I experienced last year and for what I will experience in the weeks/months ahead.
It would not be fair to move ahead without saying thank you to this suburb I had been spending most of my time in 2022. I thought living at home alone and working from home would be quite a boring and lonely experience, but Manly has made the experience quite the opposite. Never a dull day. Living closer to the beach has been nothing but fantastic. It costs me a lot of money but money well spent.
I write a lot here about how the last year went by, but I want to change that up this year and move to a shorter format. Make it easier to read.
Few personal highlights for the last year:
- More than 110 days at the gym. BFT
- More than 200 swims in the ocean.
- No longer being scared of writing tests and working on large-scale applications.
- Travelling to
- Dubai
- New Zealand - Thrice.
- India
- Started to ride share when I had time.
- Participating in 26/11/22 - BONDI BEACH - SUNRISE event.
- Building more apps and writing better code than I did last year.
- Swimming with the fishes at the Great Barrier Reef.
- Meeting a lot of new people. Eating good food and drinking good alchol with them.
- Friends from India coming over to visit and stay. I wish this never stops.
2023
Instead of writing down lists, I want to switch to living 2023 around three themes.
My three themes for 2023:
- Create
- Dance
- Travel
I hope you all have an excellent 2023. 🙌🏻🤗
senior engineer
I have never been into titles. I know why they exist, but I have never actively chased them. But on the other hand, I have seen people chase titles, and I only got why last year. A colleague told me that titles came with more opportunities to learn, the chance to contribute to the product roadmap, and more money.
I have ensured that I put my point across regardless of my title. But that’s not how it works in large corporations. You have the right title to be invited to forums and meetings where decisions are made.
At my last job and my current job, my title is a senior software engineer. The pay rise has been good, and I get to work on things that would scare me before. I now participate in meetings involving roadmap items for the next quarter. It feels good to contribute to the product roadmap.
Looking back, I should have tried to get a title bump much earlier. There were things I wanted to change to make the software better at previous companies that I worked at.
micropayments
For $25 you can buy a content passport. It’s available for purchase on any website that is part of the content network, and you need one to read the content on their site. The site that sells it to you gets $10 in commission for selling it to you.
I like this idea of how we look at payments for content. Instead of paying for content each time and at different sites, we get a content passport that pays content creators.
Medium tried this, but they wanted to control the user experience, which did not end well. I like this idea because content creators get to maintain control over their websites. Content creators also get to make money in other ways cause they have control over their website and disable ads / other monetization methods when a user shows up with a content passport.
Can someone please implement this? I have also been looking at working on something on the side. Could this be that idea?
This week has been fun in the Twitterverse, with Elon Musk now taking charge at Twitter. He fired many people, and a few who worked for Twitter quit, including a few Heads of departments.
I read a tweet about how the developers were now required to sign off on compliance-related features because heads of those departments had quit. I can’t begin to imagine what that must have felt like, being made responsible for things outside of your domain expertise.
I don’t know what the future of Twitter is. It feels like Twitter has always been there. But it’s only been sixteen years. Sixteen years feels like a lifetime. I have learnt so much from everyone I follow on Twitter, and I can’t thank the team at Twitter for building the platform and continuing to work on improving it every day. I hope Elon does not cause the platform to not exist in a few months/years.
I am sure someone out there is building a Twitter alternative. There are a few which exist already, but none which has convinced the masses to shift. I hope the next platform has a good business model behind it. Free hardly scales, and we have seen it time and time again.
learning never stops. I never want to stop learning.
Computers have always interested me since I first used them in 8th grade, from learning that computers talk in binary to learning DOS, Windows 3.1, FoxPro, and Visual Basic to now building web and mobile applications. I have come a long way. There are so many things to learn, and I am happy each time I pick up a new skill/language/tool.
Last two weeks, I have been thinking about all things associated with this field that are of interest to me, and I made a list below so that I can come back to it each time I think about where I should spend my time.
Building backend for web applications Spend a lot of time doing this now and enjoy it. I want to get better at using step functions and abstracting code.
Building mobile apps Don’t spend as much time doing this right now. I would love to spend more time building mobile apps. Want to develop an app that uses AR.
Application Security Working with web application firewalls and OS applications that protect the app—adding hooks to the software, so it processes data securely. There is so much to learn in the field of security.
Usability Engineering The first time I came across this subject, I instantly fell in love. I want to spend more time doing this.
Testing Unit, Feature and End to End Testing. I recently started spending time writing unit and end-to-end tests and quite enjoy it.
Games I have built API for mobile games. However, I would love to make / program a game.
Mac apps I always wanted to build a Mac app. Someday soon, hopefully.
Sketching/wire framing software
IoT I have wanted to work with Bluetooth Low Energy for a long time.
Application performance monitoring I enjoy this so much, monitoring application performance and improving endpoints / UI, which hamper the user experience. Always sad that I don’t spend more time doing this.
Serverless Tech I have written a couple of AWS Lambda scripts. Serverless tech has been growing quite a lot, and spending more time learning tools around this is something I would like to do.
Reading release notes I need a day dedicated to reading release notes once a month. I enjoy reading software release notes.
measure twice. cut once
I am not sure why this title was the first thing I thought about when I started writing about software testing.
I have been working on making tweaks to our product’s test suite this week. It’s been good working on a product with many tests written. Tests that cover unit, feature and end to end scenarios. I have written tests before, but nothing like what I currently work with. The tests I wrote were mainly end-to-end to test a few happy paths.
While working on making tweaks to the test suite, I realised how important it is for software to have tests. It helps improve confidence during deploys, helps when upgrading server packages, when upgrading the framework and generally checking that things are working how you expect them to work.
Being relatively new to feature and unit testing, I am learning quite a lot at my new workplace. But there is so much more to learn. So much more to consider when I work on my latest project/product. I don’t think I can go back to building software that doesn’t have enough test coverage.
moonlighting
This topic has been on my mind for a few weeks. It was either Wipro or TCS who first spoke up about this. A quick google led me to this article.
TCS on moonlighting: It is an ethical issue and against company’s core values and culture
As per a report from Moneycontrol, TCS Chief Human Resources Officer Milind Lakkad during a recent media interaction, said that the companys thoughts on moonlighting have been communicated to employees. Lakkad also said that no action has been taken so far against someone involved in such practice.
Furthermore, Chief Executive Officer Rajesh Gopinathan said that all employment contracts include that employees arent allowed to work for any other organization.
While working on this post, my friend Lokesh asked what moonlighting meant.
Moonlighting refers to the practice of working a second job outside normal business hours. Therefore, an employee may work a normal 9-to-5 job as a primary source of income but work nights at a different job in order to earn extra money. Employees who work for private businesses may be subject to any policies the company has in place regarding moonlighting. Certain organizations may not want employees to work additional jobs while others will not care.
I have always wondered why an employer would mind if someone wanted to bring more money to the table to support their family or their dreams. If one is being truthful about the work they are putting in at the regular 9-to-5 job and not accomplishing other employers, work while being on the clock at one place, having another gig would not be a concern.
However, working for a direct competitor could be of concern and is a boundary I am ok to consider. It’s tough not to have one employer’s knowledge/roadmap influence decisions at your other place.
I follow “ankur warikoo” on linkedin and he posted this two weeks ago
“I have always encouraged my team members to work at different places, pursue multiple gigs, and also take up different kinds of projects.
Better yet, I have offered them roles that my acquaintances had openings for!”
“Magic happens when one starts with trust.”
If I were ever to start a company, I would be on ankur’s side regarding how I would react to someone working with me moonlighting.
road trips
I just returned from a road trip, and if someone asked me what the best way to travel around is, I would say rent a car and drive around. Road trips with friends and family are the best.
Pit stops along the way, random conversations, stopping in once unknown towns and cafes and catching a glimpse of sunrise and sunset. Google maps has been immensely helpful in navigating me through the road trip. There has never been a diversion from a path that google recommend. I have never thought about going off track and finding an alternate route to the same destination. It was always about the quickest way to get from one place to the other. However, after I returned, I made this mental note to sometimes go off track and take that alternate route.
I recently read this “values” page written by one of my favourite software to use these days. Arc. Josh has the browser company values page around road trips. I thought I had an attention span disorder, but I could not stop reading the page. Please give it a read. I hope you enjoy it as much as I did.
imposter syndrome
A friend and I spoke at length about this feeling of being an imposter this week. We both have been in this industry for too long, yet we feel like imposters. Somehow this feeling of not belonging in this industry while surrounded by excellent people at the same work we do.
This feeling we realised is not good. I know I have anxiety knowing this about myself, and it’s not a good feeling.
Do we not enjoy our work? We do. We feel like we get by doing the bare minimum while everyone has been doing much more to move the needle. Maybe we are doing a lot, but it does not feel like that.
I have read a lot about imposter syndrome, and this article was the first article I remembered when writing this post.
conversations which go everywhere
Those have been my favourite type of conversations. First, you start chatting about how the day went and, by the end of the conversation, are talking about car repair tips and tricks.
How did those topics connect? After I disconnect the call, I often think about how we ended up discussing the last thing we spoke about, and I have no idea.
You don’t have these types of conversations with everyone, though. A select few bring this trait out. So hold on to these people.
I miss writing
I miss writing. I do. I keep saying this to myself, yet I don’t tend to take any action toward fixing it.
I have been listening to a lot of podcasts these days. The Minimalists Podcast is one of the podcasts I have been listening to. I was either in one of their podcast episodes or some other podcast that said that the only way to improve something is to do more of it regularly.
I have been exercising six days a week for over a few months. At first, it was a struggle to wake up at 5:30 AM. Now it has become a habit. My body automatically wakes up at 5:30 AM. I know what to do next until I arrive at the gym for the group fitness session.
I need a writing routine—A routine that makes writing a habit. Write four days a week till Dec 18th. There you go—a target to work towards. Maybe after 18th of December, I will miss it so much that I will continue writing.
last I checked
Last I checked, it was January.
Last I checked, I was curious.
Last I checked, I had plans for things I wanted to do in 2022.
Last I checked, I wanted to start driving more.
Last I checked, I wanted to create more.
Last I checked, I wanted to spend more time eating cakes and travelling to different suburbs around Sydney.
Last I checked, I wanted to write more here.
Last I checked, I wanted to design more and spend time doing UI / UX
It’s been a while since I last checked on these things.
three six
Wow! The counter does tick at a faster pace after thirty. I was going through my Timehop memories two days ago, and it reminded me of my trip to New Zealand six years ago to celebrate my thirtieth birthday. I remember crying on my thirtieth birthday. Coming to terms with growing older was not something I was ready to accept back then but is indeed a blessing, I realise now.
A year full of learnings.
If I were to give this year a theme, it would be this. Twenty twenty-one has been a great teacher, and even in the last few days of the year, it continues to share its wisdom with me, for that I would be forever grateful.
2020 was all about COVID-19, and part of twenty twenty-one was also spent dealing with the after-effects of the virus. This year was much better than the last one though, cafes were open and so were the gyms and swimming pool. New South Wales was in lockdown for about four months. Not leaving the 5 km radius boundary set by the government got the mind overthinking almost everything.
The lockdown also got me to change quite a lot. From being rarely at home on most days to now being home all the time. From a difficult first few days to slowly adapting to the new way of living. There was no choice, but there was light at the end of the tunnel this time. To all the people who directly and indirectly worked on the vaccine. Thank you and a big hug 🤗
Goals I had set for 2021
I had a 33% success ratio for my goals for 2021. The only two that I succeeded at were being in touch with family and friends, and thanks to the lockdown, I also managed to write more often here.
All other goals for 2021 took a backseat, partly due to the lockdown and partly due to the mind not being motivated enough to do any of these things as an effect of the lockdown.
Personal
Writing more often here and exercising more often has to be the overall theme for this year. I did get into the best shape of my life, thanks to spending a lot of time at the gym and watching what I eat.
I don’t remember much of what happened from January to April, but I remember going to two gyms regularly and being too tired to do anything at the end of the day.
I recently ticked the “live closer to the beach” goal off my bucket list. It’s only been five weeks living here, and I have been enjoying the stay so far. It has been great waking up to the sound of waves crashing.
I am looking forward to regular swims in the ocean and more time lying on the beach, doing nothing in the following year. Unfortunately, I have forgotten how to do nothing.
The lockdown made me also realise how much I enjoy random conversations with people. So much so that I enrolled in driving with Uber and completed the required documentation. I am yet to start a trip, though. Something I aim to start from Feb next year.
As I write this, I am also looking forward to my trip to India in five days and meeting family and friends after two and half years.
Work
I had a great time working at ELMO Software this year. From working full remote for four months due to lockdown to being back in the office for a few days in a week after the lockdown was over, I realised I prefer the office/home mix rather than being fully remote.
I still enjoy working with the team and all the conversations. However, I tried my hand at being a scrum master this year and realised that being a scrum master is not something I particularly enjoy. Due to not enjoying the role, I did not do my best, compared to how much I enjoy building software.
I still enjoy maintaining software. I thought I would miss building new things, but maintaining software used by many people still gives me immense joy.
I read this tweet a few days ago and could not agree more. “Everybody is hiring Software Developers, nobody is hiring Software Maintainers. You know, just an observation“
Things I want to get better at in 2022
- Swift
- Terraform
- Cypress.
- PHPUnit
- Jest
- Rails
- React
Travel
This year again it’s been easy, filling out the travel part of the post, from a few hours to spending a few minutes going through Google Maps. Thanks again to COVID-19.
Places visited this year:
- New Zealand ( Wellington and Auckland )
- Coffs Harbour
- Nelson Bay
- Jervis Bay
Goals for 2022
- Start to learn Hip Hop or Salsa or some other dance routine. It has been a long term goal of learning how to dance—2022 is the year.
- Learn and get better at surfing 🏄🏻♂️
- Continue with early morning ocean swims.
- Spend more time exploring neighbouring pubs.
- Get better at beach volleyball.
- Build and maintain at least two apps on iOS and Mac OS. Side projects 2022.
I hope you all have an excellent 2022. 🙌🏻🤗