September 7, 2024 Career, Opinion, Success, Uncategorized No comments
September 7, 2024 Career, Opinion, Success, Uncategorized No comments
Somehow I became a generalist software engineer with a diverse domain experience. I started career with C# and moved to Javascript and then to Java and now C++. I worked for healthcare, online entertainment, nuclear energy, e-commerce, and advertising industries. In this blog post I want to share some of the details of these experiences and conclude on whether being a generalist is better than being a niche engineer.
The very first program I ever wrote was in QuickBasic in grade 6 (1999). The school computer I wrote this was only capable of running some version of DOS. Computers at university ran Windows and I learned to code in C/C++/C# + some more obscure languages (Prolog, Algol, Pascal). In my first job I wrote desktop and mobile solutions using MS technologies, mostly written in C# with WPF & WCF. My next gig was all about performant backend services with a mixed technology stack backing a multi-million user website. At my next job I found myself translating nuclear material accounting code from the 70/80s written in PL/I that ran on mainframe into Javascript or C#. Most engineers who wrote the original PL/I code either retired or died. This job taught me that I can love a dynamic programming language. Then I moved to work for Amazon, it was all about launching new business workflows and scaling it with Java services backed by AWS and ReactJS frontend. Now at Google I mainly write in C++, but from another perspective for me there was a big shift from working on products towards working on infrastructure that supports traffic for billions of users.
Now I want to have a look at all of the same jobs but from a different perspective. The first projects I worked on were for healthcare providers. Honestly, I didn’t give myself much thought about the morbidity of the things, the fact that much of the software was for hospices didn’t bother me as I was operating on the level of tasks. It was only later when I was working on a mobile app for nurses to visit patients at their homes did I internalize what this all was for. Next job probably wasn’t that noble – it was in online entertainment, more specifically sports betting. I even had an account with a competitor and placed small bets on sport events to understand how they do things compared to us. Saving the world from making more atomic bombs? Yep – that was my next job, kind of. On the ground what I was doing was merely software for IAEA (UN) and its agents who went to nuclear facilities and collected nuclear material data, performed different checks and recorded them in the app for later analysis. I got a chance to visit a nuclear reactor and learn how it works. Next gig was about enabling small companies to sell more stuff at Amazon. This was about enabling an entire channel of dropshipping for the India marketplace: loading inventory into Amazon systems, processing customer orders, invoicing, etc. This allowed me to have a good view on how e-commerce works. These days I work on supporting online advertisement from inside by working on infrastructure and tooling that allows other engineers at Google to deliver solutions to show you relevant Ads. I know ads may sound like a bad thing, but the free internet exists thanks to ads. Ads pay for those transatlantic underwater internet cables and all the other things that power today’s internet.
All of the companies I worked for were very different culturally. First job was a very homogeneous environment, all of us were Ukrainians, fairly young and we worked for our American customers who on their side were also culturally similar among themselves. I think communication gaps existed due to time zone differences and English language skills on our side. Next job was maybe half Austrians and another half of East europeans. The product we worked on was our own so I think we cared about its success a lot. I am actually not sure if I fit into this environment culturally, but I thrived on the technical front and delivering results. At the same time this was when I made many new friends who remain friends until now and I even stayed at their home on my recent trip to Europe. The United Nations is definitely a culturally most unusual environment I had to work in, mainly because of the diversity of nationalities and backgrounds. Any day at the UN premises there were people from over 100 different countries, my team alone had people from all of the continents. Something that was a bit less diverse was age, as many of the people who work for the UN are accomplished individuals with some years behind their backs. This was the place of internalizing that not everybody has the same life views on it and it’s all ok. It was extremely fascinating to learn from my colleagues. I would say that on a macro level both Amazon and Google are culturally similar – we are ambitious technically savvy individuals striving to make an impact. Though on another level Amazon is a fast paced, high intensity, customer centric, and deadline driven company whereis Google is more mission driven, long-term oriented, with more emphasis on innovation.
I can probably wear many other lenses to look at my past experiences, such as, Impact, Scale, Learning, Personal Fulfillment, WLB, Collaboration, Communication, etc. But even with the 3 lenses above it is clear that the diversity of technologies, domains, and cultures pushed me to become a generalist software engineer. Arguably, this isn’t necessarily a good thing, being extremely deep into one technology and domain can land you a ludicrously high paying job. I saw people sticking around and climbing corporate ladder rapidly, something that I couldn’t do with all the switched I did, and at the same time I saw directors being laid off just because there is no need for their role any longer. In today’s economies of scale the winner takes all. If you are at the right place and time and win the game – it is all yours. On the other hand, if you are not that “winner”, adaptability gives you an advantage of switching when needed and grabbing at least some piece of the pie or, maybe, a chance to win another game next time. I don’t know what is right, the above was my journey and it continues. What are your thoughts on going broad vs deep in your software engineering career?
September 1, 2024 Opinion, Success No comments
“They reproduce – that’s how you know!”
During one of my business trips, I had an interesting encounter with a person responsible for maintenance of the fish tanks in the office. As we chatted about his work, he shared an insightful moment. His employer wanted to measure the results of his work and had once asked him, “How do we know you’re doing a good job?” He pointed to the fish tank and proudly said: “See those little fish? Fish in this tank reproduce in captivity and that’s how you know I’m doing a great job.”
In this post I would like to go over my experiences with measuring success and work results in the context of different jobs I had. I want to highlight some personal learnings from each of these experiences.
In my first role I didn’t care about the business metrics or showing the results of my work, I was a grinding machine – I had a job and I had it done. Did my management care about the work I did? I bet they did, otherwise they wouldn’t put me through two promos. With my first experiences of leading a team I started looking at things like tasks completed, sprint burndowns, etc. In retrospect I was very focused on tracking “work completion” for myself and my team that I might have overlooked connecting this work to actual business impact. I was lucky someone did this for me and our work delivered results but if I was there now I would have spent more time understanding the business.
At my next job, my team owned multiple backend services where performance metrics were critical. “We need to handle 7TPS on a single node, how many nodes do we need to handle the entire traffic?” “This API is slow and has weird behavior of being very slow for some of the requests. Can we figure out the bottleneck and get P99 of requests <150ms?” I think this was the job when I truly understood how technical solutions connect to business success. I found the performance bottleneck and this allowed for a “bet from autocomplete” feature launch which improved user engagement by xx%. (Btw, the bottleneck was a forceful garbage collection as a way of reducing memory, instead I got rid of this memory optimization and instead asked for more memory on servers hosting the service).
Things were somewhat strange at my next job. At first I worked on an app for IAEA agents to use to record their activities during their visits to nuclear facilities around the world. I didn’t know exactly how they measured their success even though I was curious. But later I had a chance to work on a scientific/statistical tool that would take raw nuclear material accounting data and perform all kinds of analysis of the data, come up with reports and KPIs. In a way this was a measurement product by itself.
Amazon is famous for being data driven and measuring everything. When I worked there everything had to be backed by data. And this wasn’t just for engineers. Same standard applied throughout the entire company. My promo had to be backed by the list of all the projects I completed, impact they had, stats on code, etc, etc. Dates mattered a lot as well. Market is ruthless and requires things to be completed before the deadline (think Prime Day, Re:Invent).
Google is another example of an extremely data driven company and I have had a chance to work on things related to how Google makes decisions based on data. Effect of any smallest change is measured on a small percentage of traffic in order to make an informed decision. There is an experiment almost behind any code change. Google taught me to always add a section “Landed Impact” at the end of every design doc and then populate it post launching the document with specific realized impact. Google had so much impact on my life that I’m setting my personal goals using OKR methodology. If you want some related reading, consider reading the book “Measure what matters”.
Understanding the success of a project is about aligning technical results with business outcomes. For example, if you’re optimizing code for faster processing, link this improvement to reduced server costs or increase in revenue, and then measure all of these components. And from a career perspective, you always want to be able to say what you did and what impact it had. The impact has to be stated in numbers and should have some meaning behind it. People should care about your numbers. If no one cares about your numbers, think again if what you are doing is worth doing.
August 24, 2024 Opinion, Success No comments
This is original content by Andriy Buday.
One of my observations both in myself and in others is that being consistent is hard, especially in starting something new or in high effort activities. Think about when you get inspired to go to the gym every other day only to discover it is hard to find time, or think about when people talk about yet another self-help book that promises success if you just follow some simple morning ritual and “x rules of success” only to realize following those rules is unrealistic, or think about someone who fell in love and puts effort into looking and behaving exemplary only to revert to the baseline after some time.
Arguably, it is in human nature to have waves of inspiration, attempting something, and abandoning it if it doesn’t pay off instantly or after it has paid off. Lack of time, competing priorities, procrastination, laziness, waiting for a better time, just not feeling like it.
In this post I would like to document for myself and to share some of the instances of things that worked for me and didn’t work for me. I will try to analyze my own behavior to see if any of this can be generalized and if there is a way to figure out a way to make things work.
Let’s start with some scenarios where I had success but then consistency faded away in a very long run:
Now let’s look at some of the cyclic scenarios when I returned to the old consistency for some periods of time:
And now I want to examine two cases where I consistently improve consistency if that makes sense.
It is great to get inspired and I recommend deliberately looking for sources of inspiration: read books, look for mentors, create plans for yourself. With that having said, inspiration lacks durability and this is where work to build and maintain habits starts, it is hard and often results in failure. In my experience, starting something and then failing is OK as long as you start the cycle again and again, pushing the time of a failure further and further away in any given cycle. It is critical to ensure that your cycles are the right ones (another topic), but eventually your cycles will connect into one uninterrupted wavy line that takes you to your goals. Don’t give up!
February 12, 2024 Leadership, Opinion No comments
Hopefully a short post. As always opinions are mine.
I always figured dealing with conflict was something you just…did. You know, no need for fancy theories or structured approaches. Recently I was asked what my conflict resolution style is and how it matches to style of other people. So I did a bit of research, I mean, in a lazy way:
Andriy: > Give brief list of conflict resolution styles as bullet points:
Gemini: > Absolutely! Here’s a brief list of the most common conflict resolution styles:
Andriy: > What’s the origin of these conflict resolution styles?
Gemini: > The primary origin of the framework for these conflict resolution styles comes from the work of Kenneth Thomas and Ralph Kilmann in the 1970s.
Ok. That kind of makes sense and I have a hunch I have read about those at some point in my life. Now I have an exercise for you, which I’m doing myself along the way as well. I promise it will get more interesting:
Andriy: > Add one pro, one con, and one recommendation under each conflict resolution style bullet point.
Gemini: > Absolutely! Here’s the list expanded with a pro, con, and recommendation for each style:
This self-invented exercise helped me realize I need to be more mindful of the situation when handling conflict. I should explore styles that feel less natural, like strategically using avoidance when emotions are high – as long as I remember to revisit the issue later or that occasionally I need to compromize less in favor of achieveing better quality.
What are your thoughts?
October 4, 2023 Leadership, Opinion, Personal 2 comments
Ever watched a martial arts movie? There is always a Sensei behind the main character – usually a much more experienced, older, and wiser person willing to share their knowledge. Career, life, or software engineering isn’t exactly the same (maybe metaphorically?), but in the very same way, it is always a great idea to be inspired by and learn things from someone who has already been through the journey you are embarking on.
I don’t think I can give justice to the topic of mentorship holistically (go search the internet for that or ask Bard to generate bullet points for you), though I can share my own experiences. In part this is what mentorship is all about, see if there is anything for you below:
In my early career back in Ukraine I was lucky to get direct exposure to our clients from the USA as this helped with my English but I was also lucky to work with talented and highly energetic technical leader and a Microsoft MVP (most-valuable-professional). He was a lot of inspiration for me and probably was the reason for starting this blog and effectively jump-starting my career (tech blogging was very popular back in ~2010). Moving through my career I met many engineers who were highly skilled, had diverse technical backgrounds (think software for Ferrary F1, or for British military, or high frequency trading, or nuclear energy, etc). So I tried to challenge myself to learn from them. Very specifically, one of the annual goals I had in 2016 was “Learn 12 simple skills from other people. To achieve this goal I will first identify 12 people from the community and those surrounding me and chose some characteristic I admire.” I might not have been exceptionally successful in achieving that particular goal but at least I learned to appreciate that others know cool things I don’t. Once I moved to work for big tech (Amazon & now Google) I normally tried to maintain “official” mentorship relationship(s) via internal mentorship programs/platforms.
My experience with “official” mentors so far has been mixed. As always, it all depends on the person and how two of us connect, but in all of the cases mentors have always provided something of a value to me. It was never-ever time wasted. At the very least, a mentor will help you get an outsider perspective on you situation and answer your questions from different perspective other than your manager might. There is no guarantee that you will agree to what they say or that their recommendations will be ideally applicable to you but it is your job to work through those and figure out the best you can get out additional point of view.
I worked with few of my mentors on my promotions. It is always great to get a mentor one or two levels higher as they have a lot more understanding of what it takes to get promoted to the next level and they might actually be part of promo review process for that level. In fact, I feel like I got a lot of information from one of my mentors I otherwise wouldn’t be able to get from my manager.
Other than promotions, the other area I worked on with my mentors was understanding of my next career moves. For instance, one good advise I got was to always get most out of any situation before making any radical decisions. At the same time, I also got “never moving fish is a dead fish” and other types of advise, all of which have had their impact on me.
Third area of engagmeent with my mentors was in building vision/strategy and presenting it to leadership. A very specific advise (and, maybe, a bit weird) was to actually visualize that I’m that leader I’m going to present the strategy to and try to understand what would that leader pay attention to when listening to the presentation. I was actually asked to role play during mentorship discussion, which felt really weird, but I wouldn’t have tried this if I didn’t have this “weird” mentor.
I know that I’ve been a bit of an inspiration for some engineers in the past and this realization was a great source of energy for myself as well as a motivation to self-improve further. Regretfully I’ve lost a lot of drive to be an example or an inspiration to others. I’ve also find it more difficult to be inspired by someone. Don’t take me wrong, not that there are not enough great people around (if anything, my collegues are one of the best and truly remarkable people), it is probably just me getting older and grumpy. In a way I miss those times but on a higher note writing this blog post helped me recall good times I had and motivate myself to be a more active individual in this regard. I currently have a mentee and keep in touch with few former collegues which whom I exchange career advise.
Looking back at my past mentorship relationships I can confidently say that they helped me. Go ahead and get yourself a mentor and if you have the opportunity, don’t hesitate and take a moment to teach someone something you know, chances are you might benefit in the process as well.
August 31, 2023 Personal No comments
Sport, but especially rock climbing, turned out to be my way to cope with things that are or were happening: war in my home country, COVID, work stress, personal experiences. Climbing showed me how much I have missed out growing up and but also that there is still hope and room to have a healthy life all despite approaching midlife milestone (and its crisis I guess).
Last few years I’ve been doing more sports than ever before in my life and my body is probably in the best physical shape than ever before and is getting better. In high school, university and early in my career I saw nothing other than my computer or studies. I didn’t take any care of myself nor did I consider it something I had to do. I didn’t give this enough consideration. I started to build my self-esteem via achievements at work and neglected many of other aspects of life, which I regret now. Since then some things have changed. In 2016 I started to run, not much but over time it became quite regular. In 2021 I haven’t missed a single day to a sports activity. As I write this, my usual week includes 1-3 days of rock climbing, 1-2 kickboxing days, 1-2 strength trainings, 1-2 runs and occassional one-off activity (hiking, biking, skiiing, etc…) and I would do more if I could get more days in a week.
Occassionally I get asked why I like climbing and I don’t normally have a good anwer to shoot back right away. It kind of does seem somewhat silly for a fully grown adult to go and try to get up the wall. It may seem absolutely purposeless to climb a steep rock only to get back down later on. But if you think what it takes you could see that one has to go through a process of challanging themselves. They have to fight fear of falling, they have to apply strength up to their limit, and they have to be aware of their body (much like in meditation). So, in a way, climbing can be seen as a spiritual experience. I think over time climbing does more to your mind than to you body.
Climbing is quite social activity. You would normally see a bunch of people cheering someone from their group trying to send a bouldering problem. If you are new, at the beginning you might feel intimidated by all the strong people climbing crazy stuff but you quickly realize that the environment is very inclusive. I don’t know the exact reason, probably, because we, climbers, realize that everyone came here to push themselves over own comfort zone and we want to celebrate as if it was part of our own achievement. Or, maybe, it is our ancestory genes from back when we climbed trees.
I personally maintained a strong friendship over climbing, have met multiple new people, and used climbing as means to invite non-climber friends to hang-out with, and, maybe, learned something new about life from these people. Today I’m going to drive a couple hours to climb with 5 strangers I have never met before.
I’m looking forward to what climbing holds for me. I envision sending harder problems, meeting more of new people, being in places hardly reachable by many, but most of all building self-esteem, chasing that sense of achievement, and feeling of being alive.
Everyone finds their own way, what’s your way?
July 30, 2023 Book Reviews No comments
Disclaimer: I works for Google. Opinions expressed in this post are my own and do not represent opinions of my employer.
NOTE: Most of this was written in Sep 2020 (month after joining Google). I’m not too sure why I didn’t publish it back then.
I picked the book called “Software Engineering at Google” by a recommendation by one of my colleagues. Because the book is written for outsiders for me, as a Noogler, it bridges the gap between my prior external experience and knowledge and internals of Google that I start experiencing.
Some criticism? Or course. Personally I think the book is way too long for the content it contains. Style changes with each chapter. Some are written like they were someone’s life story, some are written like publications, yet some are written like promotions of a software product. I’m not telling someone did a bad job, it is just a natural outcome of multiple people writing a book.
Do I recommend the book? Yes! Though, you would gain most from reading it provided you: 1) are a software engineer AND 2) (started working at Google OR are interested in Google OR are working for another big tech company). I would say to hold reading the book till later if you have little to none industry experience and if are not working for a big software company. I think it would be hard to relate to many problems described in the book without prior experience. For example, the book would talk about source control systems and compares between distributed and centralized ones and provides an explanation why a monorepo works well at Google.
The book is not a software engineering manual, although it covers many software engineering topics. Things are mostly covered from Google’s point of view. This means that some problems might not be applicable to you and even for those problems that are applicable, solutions might not be feasible or reasonable. Most software companies hardly ever need to solve for scale of software engineers working for them, but at Google there are 10th of thousandths of SWEs, so this becomes important.
The book’s thesis is that Software Engineering extends over programming to include maintenance of software solutions.
The below is not so much book review, but rather me taking notes. Some of the below are quotes. Some of them are small comments and thoughts. Skim through it to get an idea of what’s in the book.
Thesis
Culture
Knowledge Sharing
Engineering for Equity
How to Lead a Team
A really great chapter.
Leading at Scale
Measuring Engineering Productivity
Style Guides and Rules
Code Review
Documentation
Testing Overview
Unit Testing
Test Doubles
Larger Testing
Deprecation
Version Control and Branch management
Static Analysis
Dependency Management
Large Scale Changes
Continuous Integration
Continious Delivery
Compute as a Service
January 1, 2022 YearPlanReport 12 comments
2021 was the year we had high hopes for. It was also the year when so many of these hopes have been crushed. Other than COVID, just here in BC, Canada where I live, we had the record high temperatures burning entire towns to ashes and floods of the century cutting us from the rest of Canada. I believe the year like that raised awareness of so many critical issues of the contemporary world, like climate change, politicization, mental health, etc, but most of all it forced us to reevaluate life priorities and think twice about what is important in our lives.
In the year 2021 I spent more time with my family, focused on health and tried to live a good life despite things getting hard mentally at times.
I worked out 365 days last year, including 148 rock climbing gym visits (my climbing stuff), 78 runs, 87 hours of weight training, and many other activies, averaging 55 hours a month; set some new personal records like 20 pullups and sub-50min 10k, briefly reached 56 VO2max and 68kg of weight but retreated on the last two; read 20+ books, many of which are technical but also included all 7 Harry Potter books I read with my daughter. Learned some C++ and subjectively did well at work. I straightened my teeth, tried real rock climbing and pole calisthenics. Invested 20% more money in 2021 than I did in 2020 and my early retierement aspirations at age 41 are now more realistic than ever. I failed to quit coffee but successfully reduced it consumption. I also failed to write enough on this blog and failed to inspire people as I might have done years ago.
Last year taught me that seemingly “impossible” things are possible as long as you are truly focused on them (by the example of having a physical activity every day), and at the same time many possible things are left undone because they lacked dedication, proper tracking and habit forming aspects to it or were just wishful thinking.
I’ve been writing new year resolutions since 2010 and my success rate has increased progressively.
Quantify. Wishful untracked resolutions don’t work. Instead of creating a resolution like “improve financial situation”, which is a good idea, try to understand why you want it, what you are willing to sacrifice to achieve it and then crunch the numbers and compile a list of quantifiable, prioritized and trackable results you want to see by the end of the year (ie. “max out pension plan”, “buy asset G”, “invest % into Y”, “get salary hike by doing X”).
Track your list. I am thankful to my friends who kept tabs on me (AnAustrian :) ) because this allowed me to be accountable. I propose a monthly routine when you go back to your plan, update the status and re-review the validity of the goals. I personally do this via google sheets.
Another modification I’ve made to my resolutions is that I set success criteria which usually is 50% of the list, and believe me it is enough to keep myself sweating for the entire year.
For the year 2022 I have a list of 70+ items. I know, I know, having too many items doesn’t sound like a smart idea, but there is merit to it. The list I created is categorized into health, family, career, life quality, etc and then each of the items was given a priority on a scale 0-4 (0 = highest; 4 = lowest). I ended up with just 10 items I think are truly important. Success criteria is to complete highest priority items but have a possibility to replace some of them with multiple lower priority items. (More exactly, I want to collect 10 points, where P0=1point, P1=1/2, P2=1/3, P3=1/4, P4=1/5)
This year my private goals are mixed with career and all other goals into a single spreadsheet, but in order to share the list I masked some of the items that I’m not comfortable sharing. The below list is not set in stone, but it will be my go-to list any time of the year, any time of the day.
1 | Prio | Area | Key Result |
---|---|---|---|
2 | 0 | Career | 7B9CBA2A-A29F-48AA-A633-10C4C58CBDB3 |
3 | 0 | Discipline | Get up out of bed immediately after waking up no daydreaming in bed (move that to night) |
4 | 0 | Health | Maintain 8.5 sleep time |
5 | 0 | Health | Train every day for 30+ minutes (for once a week rest day stretching and rolling is ok) |
6 | 0 | Health | Eat balanced 3 times a day with 1-2 times protein shake in between |
7 | 0 | Socioeconomic | 10168043-A42B-464F-AB08-5A255EBE7B30 |
8 | 0 | Relationships | Train not to dwelve on the past 2D763C64-D1C4-4C38-9EF9-E6CF2D6846E7 |
9 | 0 | Family | Travel to Ukraine |
10 | 0 | Family | Increase family time by doing one fun activity or playing board games at least 2 times a month |
11 | 0 | Intellect | Distill best remembered ideas from all the books I have ever read and compile them into a memo |
12 | 1 | Climbing | Have more fun by fixing mental constraints: fear of judjement, not trying enough, grade fixing |
13 | 1 | Career | 3E54870A-D001-4C17-964F-4EA0BD8E4394 |
14 | 1 | Career | Read paper book “Designing Data-Intensive Applications” aloud while listening to its audio in order to improve accent |
15 | 1 | Career | 6EA04241-F23B-4AAF-B217-D734486B05F3 |
16 | 1 | Career | 3E8721D5-7220-4A2D-ADC2-0CEA82940C26 |
17 | 1 | Career | 14508A37-2C76-40B5-934D-DC13BAB9317B 2023 |
18 | 1 | Climbing | Can do all HEX-4, and approx half HEX-5 (consistency) |
19 | 1 | Family | Sign up son for martial arts classes |
20 | 1 | Family | Teach daughter basics of financial literacy |
21 | 1 | Family | Ensure daughter enjoys Taekwoondo or change her activity |
22 | 1 | Family | Add 1-2 short term activity for daughter (camps) |
23 | 1 | Family | Teach kids some programming in a fun way |
24 | 1 | Fun | Try out 5 new activities or experiences |
25 | 1 | Health | Engage in “positive thinking” sessions as part of the bed hygene procedure and tell spouse something nice |
26 | 1 | Health | Lower coffein intake to 1/2 shot Jan-Mar |
27 | 1 | Health | Maintain body fat of <12% |
28 | 1 | Health | 150+ min of active minutes a week (running avg. 2 times a week) |
29 | 1 | Intellect | Read 5 new books |
30 | 1 | Socioeconomic | 27CBCCC7-ECAC-48E8-84AC-70C80D45FFD2 |
31 | 1 | Socioeconomic | 71AE4608-B769-47D7-8B22-5D5A93118E4D |
32 | 1 | Relationships | 158573E6-8598-49E1-9949-F9D29DA5B5FA |
33 | 1 | Self-esteem | Be able to hold handstand for 5 sec |
34 | 1 | Travel | Travel to Namibia |
35 | 1 | Self-esteem | Whiten teeth |
36 | 2 | Discipline | Lower coffein intake to meetings with friends only Apr-Jun |
37 | 2 | Career | Solve 100 medium leet code problems by May |
38 | 2 | Career | Find 1-2 best system design youtube channels and compile 10 common system design approaches post |
39 | 2 | Climbing | Climb outdoors 5+ times |
40 | 2 | Discipline | Quit coffee Jul-Dec |
41 | 2 | Discipline | Maintain near 0 usage of Facebook |
42 | 2 | Discipline | Instagram only enough to suffice climbing goal and opened only when making a new post |
43 | 2 | Socioeconomic | Max out RRSP |
44 | 2 | Socioeconomic | Max out TFSA for myself and spouse |
45 | 2 | Relationships | Get to know at least 5 other climbers (name + casual chat) |
46 | 2 | Relationships | Cheer up 1+ person during each climbing session (“nice job”, “well done”, “sick drop knee”, etc) |
47 | 2 | Relationships | Train not wasting time in fantazies (deferred to night only) |
48 | 2 | Relationships | 0F2AD72D-13C1-4014-A96B-2DFA5C907ADF |
49 | 2 | Relationships | C5CEA567-DAB5-4466-8CF3-3BCC4E423120 |
50 | 2 | Self-esteem | Lower body fat to 8%-10% by Jun |
51 | 2 | Self-esteem | Increase chest chircumference to 100cm from 95cm |
52 | 2 | Self-esteem | Add body weight to suffice curcumference goals but not more than 72kg |
53 | 2 | Self-esteem | Be able to hold front lever for 5 sec |
54 | 2 | Travel | Travel to Austria |
55 | 3 | Career | Fill-in L5->L6 gap analysis by end of Jan |
56 | 3 | Climbing | Climb at least one 5.12+ top rope in a gym |
57 | 3 | Climbing | Read “Training for Climbing” (TFC) completely |
58 | 3 | Climbing | Incorporate TFC intermediate course into training |
59 | 3 | Climbing | Get lead-climb certificate |
60 | 3 | Discipline | Improve sleep preparation hygene by 0 screen time ~1 hour before bed and everyday foam rolling |
61 | 3 | Family | Go skiing together as a family once |
62 | 3 | Relationships | 686B09E4-9238-4E91-AF08-31E27C5B4A83 |
63 | 3 | Self-esteem | Increase shoulder circumference to 120cm from 112cm |
64 | 3 | Self-esteem | Maintain waist circumference of 78cm |
65 | 3 | Travel | Camping trip in Canada |
66 | 3 | Travel | Short US trip |
67 | 4 | Climbing | Create climbing specific instagram account and reach 1K followers |
68 | 4 | Fun | Fun does not mandatory involve planning like this, so do more fun for the sake of fun |
69 | 4 | Self-esteem | Achieve semi-visual abs |
70 | 4 | Self-esteem | Improve posture by going to massage therapy and doing antagonistic exercises |
71 | 4 | Career | Write 5 blog posts |
72 | 4 | Self-esteem | Try out a new haircut |
Now the above maniacally long list doesn’t tell the whole story. “The why” is often much more important than what or how. Each of the categories has its intent and it is a fairly simple long term directional objective:
Area | Objective |
Health | Maintain and improve health in order to keep the energy and live longer |
Family | Work towards healthier family dynamics and setup kids for success later in life |
Career | Prepare advancement in career or other meaningful career change for better compensation and self-realization |
Socioeconomic | Improve socioeconomic situation to improve quality of life |
Climbing | Climb harder to gain sense of sport achievement and improve life satisfaction |
Discipline | Improve discipline in time management and funnel extra time into personal development |
Intellect | Increase knowlege for greater leverage in life |
Travel | Travel more in order to improve satisfaction with life |
Relationships | Improve relationships with friends to minimize regrets later in life |
Fun | Have more fun for the sake of fun |
Self-esteem | Improve physical attractiveness and physique to feel better |
May the new 2022 year be the year of great achievements for you!
Share your goals and let’s keep each other accountable.
January 1, 2021 Success, YearPlanReport 13 comments
My life in 2020 continued to be boring. With notable career changes (SDE3 promotion at Amazon; move to Google) the year was mostly uneventful. It was not an easy ride emotionally though externally for the most part I lived the life of a fisherman from the “Business and the Fisherman” parable.
I’ve been making new year resolutions and publishing them online since 2010 and learning the hard way what you might have guessed: I failed miserably so many times I should have already given up on them :) but no, this is yet another one. Oh… and wait… this is the first time I succeeded in my new year’s resolution.
If you are skeptical of the new year resolutions I accept your point of view as resolutions don’t generally work (90% of people fail) and I admire you if you manage to succeed in your aspirations despite not having a plan. Someone said that you have to be inspired or desperate in life. If you are neither at the moment, creating a plan and following through might be the best option until your enlightenment.
TL;DR: promoted to SDE3 at Amazon; moved to Google; ran, skied, climbed much more than planned; still on a gradual trajectory of healthy and early retirement; didn’t read or learn as much as I wanted; traveled locally.
My last year’s resolution was to complete 12 of all 24 of the items on the list I had. Succeeded in 14 of them and if I add up percentages completion goes all the way to 94%. Here is the list:
TL;DR: more quality time with family; more sport; more health; more of professional focus and learning; some travel; less reading; more passive money.
So what’s on the cards for the year 2021? I already have a good life so it is reasonable to maintain the things I learned to do, slowly improve the things I would like to. The complete list is below:
Updated: 26-Dec-2021
Same as last year, I will consider succeeding if I complete at least half of the items on this list.
To make sure I succeed this year again I will be tracking my progress each month in a spreadsheet (already prepared it) and posting occasional comments below this post, much like I did last year. I’m also tracking a couple personal goals I’m not too comfortable posting publicly.
Dear reader, what’s your plan for the year 2021? Do you have one? Share your plan and keep on! If any of you wants to run occasional challenges with me, just ping me. I’ve ran them in the past with few folks and though we failed to stick the outcome was noticeable progress for participants.
Happy New Year!
October 18, 2020 Opinion, Personal, RandomThoughts 11 comments
First things first, this is not a “how-to” post explaining you the “one right way” of setting up your home office. I am a Software Engineer (you are likely to be one as well) and like yours, my home office setup is probably somewhere in between coding on sofa and science-fiction command center. In this post I’m just sharing what I’ve done to improve my home office situation and what I’m thinking might be worth to improve it even further. I will be glad to hear any feedback or advice you might have on this.
Reducing noises, keeping kids from fighting for your immediate and undivided attention, avoiding kitchen temptations, dog barking or whatever else is applicable to you, might be one of the most important factors for your home office, yet it might be the one you have the least control of. I do not pretend to have a batcave for work from home either. In fact, I started working on sofa when COVID first hit in March and then quickly realized this wasn’t a good idea. Step by step I improved my WFH situation and currently have something reminiscent of an office. I’m renting a relatively large apartment, though it obviously wasn’t designed with a workspace in mind, so I’m using a bedroom. Yeah, a bedroom! I have rearranged the furniture in a way logically separating the room into office and non-office halves. In this post, I am going to show pictures of my office half. (Not too eager to post photos of my bed, especially when it is not made up :)).
I’m in favor of simplicity and minimalism when it comes to my desk. Even when I was going to the office I would usually keep it empty from anything non-essential. So here is my arrangement:
On the left you see my work laptop with two cables. First cable goes to a docking station serving as a power source and connecting the laptop to 300 Mbps internet (seems to be enough ¯\_(ツ)_/¯) as well as to external camera which you can see on the top of the laptop (I will touch on this again later on). Docking station has enough ports to add more peripherals. Second cable connects my work laptop to KVM. If you see, there is a small button in front of the keyboard – that’s KVM switch allowing me to share 34″ monitor and keyboard between laptops on the left and right. Laptop on the right is my personal laptop. I intentionally don’t login with my personal account on my work laptop for multiple reasons (will touch on this later as well). There is also a desk lamp and desk power source located in the right corner mostly for charging devices (2 USB-C, mini-USB, Garmin). I might keep few different sets of headphones on the desk, but usually prefer to keep them in the back of my “office”.
Except of work laptop and few small things, all equipment is something I bought with my own money before I knew my new employer is so generous to give 1000$ to its employees to improve WFH situation [public info]. Below is the list of the equipment I’m using with links to Amazon for reference only – those are not referral links (I’m not trying to make money on your clicks, and this post is not written for that purpose).
Monitor: Dell UltraSharp U3415W 34-Inch Curved LED-Lit Monitor (Older Model) It is a nice wide curved 34″ monitor I can easily use as if I had two with tools like Spectacle on mac or built-in shortcuts on chomebook. The only regret I have is I should have probably went for newer version with more aggressive curve and USB-C support.
Monitor Stand: AmazonBasics Premium Single Monitor Stand This allows me to bring the monitor forward/backward, up/down or change the angle. This is so much better than having monitor placed stationary. It also allows to free up some space on the desk.
Keyboard: Filco Majestouch 2 Ninja Cherry MX Blue Switch 87 Key Mechanical Keyboard Black This is compact super-loud faceless mechanical keyboard. I love this keyboard and find it to be beautiful. It might be too loud to use if you are sharing space with others, so keep this in mind.
Mouse: Logitech® MX Anywhere 2S Wireless Mouse A nice precise mouse, though I often don’t like how it behaves on Chomebook. Not sure if this is an issue with the mouse itself or ChromeOS (and yes I tried to play with the settings).
Logitech MX Master 3. This is a full size and precise mouse. I am glad I replaced the old small one with this one.
Docking station: Dell WD15 Monitor Dock 4K with 130W Adapter, USB-C While docking station is definitely something to have I do NOT recommend this particular one as it is not fully compatible with newer Macs. My monitor flickers when I connect it via this docking station. Here is DELL’s support page on this. I’m using this station for power, internet connection, web-camera, and any further peripherals I will need to add to my work laptop.
KVM: Sabrent 2-Port USB Type-C KVM Switch with 60 Watt Power Delivery After much of extensive search I gave up looking for a docking station that has TWO usb-c power delivery outputs and also works as a KVM. This seems to be non-existent device. So instead, I bought myself a dedicated KVM. It is simple and it works. Power delivery is not always detected on my Pixelbook, so I skip PD option and use another cable to power my personal laptop on the right.
Power: BESTEK Power Strip with USB for charging devices, powering lamp, and occasional plug-in of things at top of my desk. I also use conventional power extender for low-power things under my desk and directly plug into the wall outlet more power demanding devices (monitor, docking station).
Desk Lamp: Swing Arm Lamp, LED Desk Lamp with Clamp, 9W Eye-Care Dimmable Light, Timer, Memory, 6 Color Modes, JolyJoy Modern Architect Table Lamp for Task Study Reading Working Home Dorm Office (Black) Super happy with this lamp – it can be bent in so many ways. I can recommend this one.
Vertical Laptop Stand: OMOTON Adjustable Something to hold my personal laptop vertically and save even more space. Anyway it is so much more pleasant to work on a large monitor (something I’m doing right now).
External Web Camera: Logitech C920S HD Pro Webcam with Privacy Shutter External webcam has its advantages of providing higher quality image with active focus. Unfortunately I probably need to add some swinging arm or a holder to it as right now I’m placing it exactly where laptop’s camera is and don’t think that my coworkers have even noticed a difference. I’m yet to test if mic is better on it in comparison to built-in one. Some people use dedicated external mics and their sound quality is noticeably better.
Backup power and internet connection: I also have two 20K+ mAh external power banks (one of which is enough to jump-start my car) and 20Gb of mobile internet plan. Based on my 4 hour testing this should take me through a full day of power outage. I know this is not ideal, but I’m also not running a data-center at home nor I have a detached house to buy myself generator or a similar solution. In fact, I do not remember unplanned power outage in my building since I live here and a planned one only lasted 4 hours.
Cables: Well… Everyone is ought to have some wire spaghetti under their desk. Right? I didn’t do anything special about the cables. Just tied some of them together so I don’t hit them with my feet.
Desk and chair: Those are cheap IKEA ones. I’m considering to change the legs of my desk to make it height-adjustable standing desk. As of chair, I don’t think mine is great for 8+ hours of sitting in it.
As of 2021 replaced the chair with Autonomous ErgoChairPro.
To complete the picture of my office here is what I have just behind myself:
It is another IKEA chair for mental breaks and a bookshelf which has few books but mostly serves for accessing things I would use time-to-time, like keyboard palm-rest, other headphones, cables and few toys (no, I didn’t reassemble and then assemble the Rubik’s Cube – I can actually solve it). I’m also using the most expensive alarm I ever had which supposedly should help me wake up more naturally during winter months but doesn’t.
Last but not least, pull-up bar (BODYROX Premium Pull up/Chin up Bar) which I occasionally use during breaks. I consider it to be part of my home office as I wouldn’t buy it if I didn’t have to work from home.
As mentioned above, I’m not logged in with my personal account on my work laptop – this means I cannot open personal gmail, facebook, instagram, twitter, favorite news site, whatever. When I actually need to do something personal I have to specifically log-in into my personal laptop, which means pressing KVM button. This small physical constraint and a clear separation not only helps to be fully compliant with whatever policies there are on the use of work laptop, but also helps to be totally focused on work. I find myself almost not switching to my personal laptop at all during working day (I take breaks, though). Additionally I blocked myself out of all of those distracting social media apps on my phone for working hours and limited their use to 15min/day/app with digital wellbing tools on my phone. I’m super happy about this (thank you, Google). In fact, this also helps me close item #23 on my new year’s resolution.
I would be enormously happy to receive any advice from you on what I might be missing in my home office setup and what you would recommend. I understand our situations might be different but we are all in this together and if you have something to share please do so!