More About Code Reviews, Impostor Syndrome, and Growing from Code Reviews

Following on from my last post, I saw a co-worker gracefully apply the principles of sound code reviews. It was comforting to see someone else on the same path as me. I observed myself while reading his comments. I didn’t feel attacked or questioned. His tone was curious and thoughtful.

I’ve observed this week that seeing code reviews as a part of engineering work, equal in value to coding and delivery, is starting to influence me. My thinking used to be upon submitting pull requests:

This meets the requirements.
This is as elegant and succinct as I am aware.
This passes tests.

Then, I would feel ashamed when comments come in about did you consider this? Why did you choose that? My internal dialogue became, I should have known this.

But the truth is that I often don’t have the full picture in my head of the entire codebase, or more experience, or the unique insights of another engineer. I only know what I’m operating on right now… if I’m not growing.

It got me thinking about a recent newsletter by The Hybrid Hacker entitled Dealing with Impostor Syndrome in the Engineering World. It was a uncomfortable, unsettling read in that it hit home deeply. I put exceedingly high expectations and requirements on myself to have thought of everything before a code review. And that’s simply impossible.

However, I can start to learn what my coworkers pick up on and ask questions about. Mining that can make me more thoughtful and compel me to improve. Learn more. Explore more. Skill up.

My wish with my new role was that I would get to work with senior engineers, to really level up my game, to sharpen steel against steel. And that has been fulfilled. For that, I’m grateful!

Getting Code Reviews Right

This is a few days late, but wanted to write it anyway to keep the discipline and routine going.

I subscribe to several really high-quality newsletters and one post last week was of immense use. It was Exactly What to Say in Code Reviews by Jordan Cutler.

Getting the tone, content, and style right in code reviews is a significant part of collaborating in engineering teams. It involves many trial-and-error iterations, a lot of self-reflection, and an understanding of the culture of the team you’re on.

So, Jordan’s post was like getting a well-constructed, time-tested, and solid toolbox for Christmas, for this part of engineering work.

I applied some of the principles while doing code reviews last week. I actually brought up the post and put it side-by-side with the pull requests.

Judging by my coworkers’ replies and comments, I knew that I had carried out some effective strategies.

Thank you, Jordan!

Examining What Is Important To Work On In Software Projects

I observed this week several vectors acting on my thinking. It’s important to focus on the product and the overall mission, as I said last week. That’s the main vector. But then, you look at the active sprint, and you look at what else is left. Low priority tasks left there as low-hanging fruit. Second vector comes in – I want to work on something that is valuable to the team and organization, something that advances the main vector.

So, I look at the backlog and look at the bigger tasks, not prioritized in the current sprint. There are still tickets there, needed to get the release over the finish line. Bigger tasks like API integrations or outstanding features. So, then you weigh up the first two vectors. Something valuable, preferably not low-hanging fruit, and something that advances the product. By my own internal logic, picking up something from the backlog makes sense then.

And this is where internal logic is not not sound, but defies a third important vector team norms and culture. What does the team do? What is accepted in the team? And there, internal logic – even if sound – can come up short with team norms. In some teams, it’s acceptable and encouraged, on some level, to pick up tasks from the backlog. But in others, it’s not if it wasn’t included in the initial sprint planning and not added later during sprint refinement.

There is no actionable method on offer here. Thinking through things, as you navigate a new role and organization, will help you identify the important vectors at play and your own internal logic.

First Week Thoughts

First full week at new role behind me. Really grateful to jump into modern, well-architected, and advanced codebases.

The technologies I’ll be delving into on my own time and getting comfortable with:

1) Formik

2) React-Query

3) Yup schema validation

4) Styled components

5) Advanced TypeScript generics

Two things that I have been doing and practicing, as I navigate the new role:

1) Keeping product-first thinking in selecting tasks to work on. What creates the most value? What does the team need done to get over the launch line? What helps the product the most? This requires a lot of communication and starting to build relationships.

2) Pushing myself out of the comfort zone by picking non-trivial tasks to complete. It may be nice to get a little thing done to get my feet wet, but I learn more about the products and team by working on something a little more complex. Examples include a bug fix or a new feature

New Role After a Difficult Job Search!

I started a new role today at Cabonline Group. Excited to be part of the team and look forward to working with everyone!

It was an extremely difficult job search process, in the one of the toughest job markets I’ve ever encountered in my career. A lot of pre-conceived ideas about my position in the market, my craft, and who I am as an engineer were either refined in fire or completely obliterated.

Key lessons after this most recent period:

  1. Interview prep now is more important than before in a market that is being driven by the market and employers.
    • Don’t eschew DS and algorithms – get good at them, get good at solving them, and get good at communicating the process as you solve them.
  2. System design is important for senior roles. It may not look like how you prep for them, but being ready for them is essential.
  3. Our feelings as engineers about coding tests are not important. The market and employers are not listening to us about them. They will continue to use them, so get used to them and get good at them. See the first point.
  4. ATS is here to stay. Understand how the software analyzes resumes and play the game.
  5. You don’t know how companies scrutinize applicants. The criteria differ from employer to employer. Accept it and be prepared. Some favor open source contributions, while others value code tests. Some look for a stellar behavioral interview. You never know. I learned this from talking to Amaechi on Codementor.
  6. The most effective and useful feedback will come from people you hire or you don’t know. Seek it out and listen to them intently. Feedback from Christoph really changed my thinking and transformed my job search. I’m really indebted to him. Without his insight, I wouldn’t have gotten this job!

We are tribal beings, and an impromptu tribe of people helped me in landing this new role. I want to thank them because I am indebted to all their help, insight, guidance, time, mirroring, and experience.

Adam Castle, Yury Vinter, Christoph Nakazawa, Justin Bartlett, Harry Clayton Cook, Brett Hardmann, Alexey Bykov, David Stephenson, Amaechi Johnkingsley

So, thank you!

An Examination of the Private, Personal, and Public

I was planning an essay to post on here, about someone from a previous employer who really was formative in my personal growth and professional development over the last 7 years. But, I struggled to finish the essay. Actually, I couldn’t really write more than just sentence outlines.

This left me puzzled. I wondered what could be holding me back. After some digging, I realized that I was holding back because I needed to share some private details in order to provide context to the extent of the impact of this person on me. I considered sharing these private details. What could go wrong? This is how it is now, I’m just sharing and this is acceptable now on social media, even on LinkedIn.

I decided against sharing these details and posting the essay on LinkedIn. A couple of ideas emerged as the main reasons why.

The first one was that I didn’t want to set the precedent for myself that sharing private details is part of my activity on LinkedIn. I don’t believe in constructing a work-friendly persona of myself. Ain’t nobody got time for dat! Anouk Pappers puts this in these terms:

“On the other side of this dichotomy, people usually use “professional” presence to refer to a scrubbed, work-approved persona. But this too is not realistic. We shouldn’t present ourselves as someone we are not, or even express inauthentic views, just to fit into a particular work culture. I think it is becoming increasingly important that we be our authentic selves online and that we position ourselves in a genuine manner. In essence, we need to establish and maintain an online presence across all of our accounts that accurately reflects who we are and how we want to be perceived.”

Rather, I didn’t want to turn my vulnerability into a currency, that I trade with, with hopes that the trading brings in ‘income’ later. I remember reading a Facebook post (in Arabic) a few months ago about a TikTok vlogger who had converted his overweight state into videos that brought in money for me. The post lamented that this is all it was now for him, to eat and show off his physique on TikTok. I thought further of another TikTok vlogger, who has become his signature dance – a dance and then showing off his afro. Is that all that they are now – their ‘products’? I am nowhere near their reach or fame, but I am close to them in that I could easily transform my inner life into some form of product.

The second reason was that I reflected on the differences between private and public information. I remembered a conversation I had years ago with a journalist in Sweden, who taught me the distinction between public, personal, and private information. From his training, he was taught that private is like the contents of your journal, stuff that’s for your eyes only. Others may not understand the context or importance. Personal information is where you can write about your experiences, but in a way that resonates with others. Think of you talking to friends about your experiences, showing them that they can relate. That’s personal. Public – news, commercial and legal texts. No emotion. “Just straight facts,” in my friend’s words.

Given this model, what I wanted to share in the essay is private information. I would extend his definition of private to include those also in my inner circle. Personal is what I’m prepared to share with friends and perhaps some at work, while public is whatever I post online.

The line between private and personal has been blurry for me for a while. I have written vulnerable essays on Facebook that I have set to public. Was that really a sound thing to do? The answer to that question didn’t strike me with much confidence. I wouldn’t say that I regret posting those essays, but now there may be archived pages on the Wayback Machine. 

The food for thought for all of us is, what are you prepared to have the Machine index? 

George Couros puts it in another jaunty way, quoting Seth Godin:

“Everything you do now ends up in your permanent record. The best plan is to overload Google with a long tail of good stuff and to always act as if you’re on Candid Camera, because you are.”

This pithy quote gets to the heart of my objection, that I don’t want everything on my permanent record.

The final reason was that there was no way to write the essay without these private details. Leaving them out would make the essay cryptic, and then there’s the danger of cryptic-posting in order to get people asking for more in the comments. Or, writing around the details would make the essay harder to understand. Then, what is the point of even posting it?

I found this quadrant diagram, while doing the thinking for this post. It takes the models, put forward by George Couros and Anouk Pappers, cited above to a further level.

When I analyzed my essay idea, the core idea – the guy whom I wanted to celebrate – was in the green quadrant. But the meat of the essay lied in the red square, and I struggled to argue to move it to the yellow square.

Thinking holistically – that is, engaging my emotions while activating reason – is helpful in evaluating what I put on the public record.

#ProfessionalDevelopment #CareerAdvice

تطفيش الصبا

الظاهر كان بس كلام افتكاس ساعتها.

كنت مشترك في تخت شرقي زمان لما كنت عايش في إنجلترا. كان التخت طابع لكنيسة في لندن و الهدف أن نقدم الألحان القبطية من خلال الطرب الشرقي. عود. ناي. كونترا باس. دُف. عازف الكمان كان راجل هاوي و عاشق الطرب و حببنا كلنا في الألحان والموسيقى الشرقية.

لما كان في وقت عزف طويل في مقام السيكا كان هو يقول “ها… لازم بقى نطفش السيكا.” و يقوم بعزف تقاسيم بين

المقامات لغاية ما صوت السيكا يختفي من أذهاننا.

(نموذج لمقام السيكا)

دخلت على جوجل من شوي و حاولت ادور على العبارة دي. مش موجودة. يمكن بجد كانت بس حاجه شخصية، نزوة أو فُكاهة منه.

بس الصراحة الفكرة شغلاني الكام يوم اللي فاتو. اعتقد انها بتعبر عن مبدأ عميق. مُمارسة طقوس تخرج مشاعر او افكار او ذكريات مؤلمة. ليتورجية للوصول للتقابل و تعامل. ليتورجية تطالب مني عمل في العادي بهرب منه او تجاهله او اكبر دماغي. و لكمن هو عمل لابد يُقام بيه عشان اكمل السكة.

هو كان بيطفش السيكا، انا هحتاج الفترة اللي جايه اطفش الصبا.

(نموذج لمقام الصبا)

قدامي ٤٨ مكان هنا لازم اطفش منه ذكريات و مشاعر عشان اعرف اروحهم و اتواجد فيهم بطريقة جديدة. مش عايز اكون بعدّي كل مرة على مقبرة ذكريات و احلام مش هتتحقق.

Wake up, Sweden. You’re in Denial!

This is the English version of the previous blog post.

(My friend’s original Facebook post, which prompted this essay [my own translation])

I’m studying right now and we’re all supposed to go out to look for interneships. Being naive and in my little bubble, I thought that everyone will get a fair shot in the job market. However, it seems like some of my classmates, with an ethnic background outside of Europe, are finding it difficult to get an internship. I didn’t know that the barrier to entry was so high.

All I had to do was to make a couple of phone calls. I was successful on my second call, contracts were signed, and it was all done.

A 20-year old Syrian guy, who came here in 2015, with a science degree has not been able to get a place after having applied to 40 companies. He has a spotless attendance record at the vocational college and good grades. He has a driving license and lots of strong references. I helped him get a summer job and he never missed a day’s work, didn’t even come in late once. He’s had perfect attendance at that job.

It is said that everything is just given to you on a silver platter in Sweden. You get all the tools and so on, but my God some have to really fight in order to get a seat at the table. That guy must be so strong.

It wasn’t a day too late to start studying again. However, I’ve learned more about humanity than automation at the end of the day.

The post above is alluding to the narrative in Sweden that “all it takes” is getting a job and learning the language. If you get these done, then the doors to Sweden are opened to you, with everything becoming available to you.

I find myself today in a limbo land, between being an adult “nysvensk” (Swedish by assimilation) and a child of first-generation economic migrants. I have been a Swedish citizen since 1996, but I don’t have the social network that most Swedes have developed since children. I never went to kindergarten here.

But when I moved back here 6 years ago, I bought this narrative wholesale, this opiate of the massases. I re-acquired the language and immersed myself in idioms. I got a job. Guess what? I wasn’t swept up in an hurricane of friends and social capital, as is told by society, despite doing everything they told me to do and taking all suggestions. 2 years ago, I decided to study full-time and change paths. I wanted to get a non-tech job, a service job like many people here. It didn’t happen. I couldn’t even get a job in hemtjänst. All doors were closed.

After a lot of reflection, I realized that I had developed an overdeveloped sense of entitlement. Where are my friends, dude?! Where is my payout, man?! Why am I not getting what I was supposed to get?! I have done everything…

The reality is that this is not how it works in Sweden. It doesn’t matter at all what you have done or accomplished. You don’t deserve shit. No one owes you shit. The only thing that has happened by getting a job and learning the job is that you have joined the fold. You have become a lemming like everyone else.

Do you want more here? Fight. Work harder. Build your own capital. But don’t expect anything of someone else, society, or the state. Are there obstacles? Become creative and get around them.

Stop complaining, Mina. No one gives a shit. The state doesn’t care. Plug in your AirPods and swipe through the void, like everyone else.

The reality is also as follows:

1. It does matter if you have a non-European name.

2. It does matter if you have dark complexion.

3. It does matter that most Swedes – regardless of ethnicity or cultural background – don’t want to make new friends or let new people into their social circles.

4. It does matter if you came here older, with no contacts, and don’t have your social network fully formed by 18 years old.

Do you have a job? Be fucking grateful and shut the fuck up.

Do you want to do something else? We can’t help you. There are others in more need of help than you. You have a job. Shut the fuck up.

Do you know someone who can get you a job? “No…” Then, shut the fuck up.

You may hear at some point in your life that there’s this guy who says that he loves cute women with a great sense of humor, but he actually hooks up with boring gym bunnies. He is neither evil nor a fool. He just lacks self-awareness. His sense of reality has not been tested by actual experience.

This guy is Sweden. Sweden is whistling in the dark, fervently hoping that their claims are true. If not.. well, that’s why we have the state! None of my business…

The narrative is not false because society is lying willfully. Rather, society is not aware of what it believes and whether it is rooted in reality or not. They don’t think about anything. Everything is set up for them. Why think? Why question?

At the bottom of the original Facebook post, the friend attached a photo that can be interpreted that society’s scorning of the young Syrian guy is a symptom of Nazism, that Nazism should be thrown into the garbage. I don’t agree with this conclusion, that the Syrian guy didn’t get a job because Sweden or Swedish society is a Nazi country or one.

I hold that Swedish society does not want to accept that everything is about your name, your appearance, and social capital. Because if Sweden accepts that about itself, then it is no longer “ett bra land” (a common trope in the literature of the Social Democrats). A good country. It is no longer the mecca of modernity. It becomes like all other countries – a flawed country with blindspots. Then, Sweden loses its ideological and moral high ground in the world.

Sweden, you’re in denial. Stop lying to yourself and all of us who moved here, regardless of pretense.

Be honest and tell the truth. Then, we can either choose to stay and accept the insanity or revolt by leaving to live somewhere else.

Sluta ljuga för oss, Sverige!

En vän skrev nedanstående text i ett inlägg på Facebook.

Jag går en utbildning och nu ska vi ut och “praktisera” på företag. I min naiva bubbla har jag trott att alla som vill något får en chans på arbetsmarknaden. Dessvärre verkar det som att några i klassen med utländsk(utomeuropeisk) bakgrund har väldigt svårt för att få plats på ett företag. Trodde inte tröskeln var så hög. Själv löste jag det genom att ringa ett företag och fick napp på andra försöket. Avtal skrevs och sen var det klart. En 20-årig kille i klassen som kom från Syrien 2015 och har svensk examen från naturvetenskapliga programmet får inte plats efter att ha sökt på 40 olika företag. Han har full närvaro på Yrkeshögskolan och goda studieresultat. Han har körkort och referenser från arbetslivet. Fixade sommarjobb till honom och han försov sig inte en enda gång. Även på jobbet hade han full närvaro. Har hört att man får “allt gratis och serverat” när man kommer till Sverige. Man får verktygen och materialet, men jävlar en del måste jobba hårt. Så kanske de får en plats. Han måste vara stark. Det var inte en dag för sent att börja plugga för mig. Har nog lärt mig mer om människor än automation när allt kommer omkring.

Texten syftar på narrativet att det handlar “bara” om att skaffa ett job och behärska det svenska språket. Klarar man av dessa öpnnas dörren till Sverige, allt blir tillgängligt möjligt och utförbart. Jag befinner mig i ett mellanförskap, mellan nysvensk i vuxenåldern och förstagenerations invandrarskap i barndomen. Jag har varit svensk medborgare sedan 1996 men har inte det sociala kontakter som de flesta fick i barndomen. Jag är inte uppvuxen med samma vänner sedan förskolan.

Men sedan jag flyttade tillbaka för sex år sedan köpte jag på narrativet, samhällets kära snuttefilt. Lärde mig språket igen och tog till mig några idiom. Skaffade ett jobb. Det blev inte en orkan av vänner och socialt kapital som utlovad trots att jag ansträngde mig och gjorde vad som föreslogs. Bytte bana. Pluggade det jag ville. Försökte skaffa ett jobb bortom yrket. Gick inte. Stängda dörrar.

Det visade sig att att jag utvecklade känslan av berättigande efter ett tag. Varför skaffar jag inte vänner?! Varför blir det inte som det ska?! Jag har gjort allt.

Det funkar inte så i Sverige. Det spelar faktiskt ingen roll alls vad du har gjort eller åstadkommit. Du har inte förtjänat något mer än någon annan. Med språket och jobbet har du endast blivit som alla andra.

Vill du har mer? Kämpa. Förvänta inte dig ett skit av någon annan, samhället eller staten.

Finns det motgångar? Bli kreativ och hitta vägar runt dem.

Sluta gnälla, Mina. Ingen bryr sig. Staten bryr sig inte.

Faktum är att det spelar roll att man har ett utomeuropeiskt namn.

Det spelar roll att man har mörka ansiktsegenskaper.

Det spelar roll att de flesta svenskar oavsett etnicitet inte vill skaffa nya vänner eller släppa in nya kontakter.

Det spelar roll att man är äldre, har inga kontakter och har inte varit här sedan man har varit på barnsben.

Har du något yrke då ska du vara tacksam. Håll tyst nu.

Vill du göra något annat hjälper vi inte dig. Finns andra som är viktigare än dig, som har mer kritiska behov. Du har en sysselsättning. Håll tyst nu.

Känner du någon? Nej? Håll tyst.

Ibland säger en vän att han tänder på sköna tjejer med härlig humor men han blir faktiskt ihop med stela träningsnarkomaner. Han är varken ond eller skev. Han har ingen självinsikt. Hans verklighetsuppfattning är obeprövad.

Denna man är Sverige. Sverige visslar i mörkret och hävdar naivt att påståendena stämmer. Om inte får staten fixa. Inte min grej vetdu.

Narrativet är osant inte för att samhället ljuger utan det svenska samhället har inte behövt tänka på det. Det behöver inte göra det. Allt är ordnat.

Längst ner i vännens inlägg bifogade han en bild som kan tolkas som att nazismen ska slopas. Jag delar inte hans slutsats, att problematiken med sin väns misslyckande i arbetsmarknaden är på grund av nazism som måste bekämpas. Jag tycker att samhället inte vill acceptera att det handlar om namn, utseende och socialt kapital. Och om Sverige accepterar dessa… då blir inte Sverige “ett bra land”, det blir inte modernitets mecca längre. Det blir som alla andra länder. Sverige har ingen moraliskt övertag längre.

Sverige, du är i förnekelse. Sluta ljuga för dig själv och oss som flyttade hit. Tala om för oss sanningen. Då kan vi antingen stanna kvar och acceptera eller protestera och eventuellt gå vidare någon annanstans.

FHM Press Conference 9 July 2020



Socialstyrelsen: “Only 3 out of 290 municipalities are experiencing a serious impact [due to the pandemic], citing staffing concerns.”


“The pandemic, primarily or at least for the most part, is right now affecting non-risk groups, younger people… younger people aren’t heeding our recommendations.”

“The threat level is high. This is due to that we still have a substantial contagion effect, despite that it is spreading right now amongst groups that don’t think they may get infected.”

“Hard to say” about tracking the number of infected citizens

“Still not ready with more extensive analyses” about herd immunity

Socialstyrelsen: “Only 3 out of 290 municipalities are experiencing a serious impact [due to the pandemic], citing staffing concerns.”


“The pandemic, primarily or at least for the most part, is right now affecting non-risk groups, younger people… younger people aren’t heeding our recommendations.”

“The threat level is high. This is due to that we still have a substantial contagion effect, despite that it is spreading right now amongst groups that don’t think they may get infected.”

“Hard to say” about tracking the number of infected citizens

“Still not ready with more extensive analyses” about herd immunity

Continue reading FHM Press Conference 9 July 2020
Verified by ExactMetrics