Breakpoint On Namshi

Rainy days in Dubai are rare! same as good places to work.

Almost 2 years ago, I landed at the Dubai Airport on a flight that took off from Egypt and for several reasons, a flight that won’t have a return ticket back to Egypt (at least anytime soon, I hope).

At the Airport I faced one issue with my Visa, and I was about to get denied entry: Only thanks to a polite Emirate police officer I was able to get through; a thing, I’ve been told later on, it was unprecedented, unheard of.

The Oblivion

Initially, when I was hired by Namshi, I was a designer comfortable around Photoshop and Css and, eventually, I had to learn a lot more in such a short period of time.

My first weeks went by with me sitting around people who were talking about stuff I didn’t understand, they were just doing their job normally, though, everything sounded mythical to me.

My first task involved creating an application that helps the Customer Care agents to speed up the lookup of customer details while they’re receiving a call.

Imagine what I had to learn, to start building an angular application while, back then, I barely heard of Javascript as a programming language: the best I knew was to search StackOverflow to get something that would work … in jQuery!

It worked, … I don’t know how, but it did!

“It worked, … I don’t know how, but it did!” I said to my team mates and manager hundreds of times!

You might think that life isn’t easy to grasp, but Javascript is much harder from a point of view of a designer who wants to code.
I kept fighting every day to get through with an output that would make me feel quite accomplished and I want to say that, honestly, it wasn’t an easy quest (and, by the way, wasn’t always successful either).

Don’t leave your computer Unlocked, seriously, Don’t! A hard-learned lesson :D

Bottom line: those days, I always felt overwhelmed, not knowing what I should do most of the time; it was fun and exciting to learn but, make no mistake, nothing is harder on a productive former-designer than seeing his output not matching the one by his peers by any criteria.

The only thing I knew was that I had to push through…

Light at the end of tunnel

Things started to make sense: now I don’t ask “what is that?” on every term that falls on my ears, I don’t struggle each time I want to use Promises or create a helper function, I started to see some patterns and cling to them.

It was the light at the end of the tunnel, things started to make sense, I started to have an edge doing stuff and started to believe that I only lacked a much needed experience to be like my peers or even better, and this is something that I’m going to compensate by an over-dose of self-learning as I did before.



Anis Mansoor

If he knows well , he would know that he doesn’t.

That is a translated quote from an arabic wisdom saying, which describes the situation pretty well. I just got into the surface and I thought I already reached the nirvana!

I came to realize the true light at the end of the tunnel, it was something said in one of several performance reviews that we hold on a monthly basis: ”Now, I know what I want to know, previously I had no idea how deep it was”.

One of the Code and Tech Trivias that took place recently, My team lost :S

Fast Forward

Now, I reached somewhere where I feel comfortable to talk about the previous events of these very condensed months.

I would be happy to let you know that, finally, I did it, I prevailed, I became a super ninja full stack developer who knows about DB, Docker and knows a bunch of modern shiny tools and frameworks, can write Javascript while sleeping as well …

But that isn’t true! (except the part of sleeping :)

But the real accomplishment is that my mindset has changed! This is the true victory, I like to believe that now I think, plan and decide better! That is the real breakthrough for me!

Technology doesn’t matter, it is always the matter of how you think your way out of a problem: I feel more competent with such a mindset rather than a handful of a skill-sets that aren’t properly utilized.

Takeaways

I didn’t want to sound self-promoting, I tried to be honest as much as I could, but the TL;DR for my last 2 years is:

  1. I kept saying “I don’t know how to do this”, and there was always someone willing to spend time to make sure that I got it
  2. I would had never got anywhere without a team, who doesn’t patronize me for not knowing things, they would gladly baby walk me to the point instead
  3. The right people and the right challenges are things that I have a little control over, but I always make sure I’m grateful to have.
  4. I’m not the smartest person in the room, which always put me under pressure. What made the difference, for me, is that I was self-conscious of my shortcomings. and most of time I had a plan to overcome this.
  5. I spent the first six month reading and watching courses heavily, it reminded me of 8 years ago when I was trying to kick off my graphic design career. Let’s be fair, nowadays, it is much easier to find the perfect learningmaterial and this is something not to be taken lightly.
  6. On my first weeks, I was cheered for my first push to live fix, which was a really minor thing, but it greatly boosted my confidence and willingness to contribute more. Now, on a daily basis, I tackle bugs , add features then test them on the staging environment and single handedly deploy them live (which I am now privileged to do!) with just an approval from a peer developer on the Pull Request.
  7. …which takes us to The PR aka Pull Request challenge: arguably, I can say that 30% of what I learnt was because of PRs; it was (and still is) not an easy job to get approval on you PR from your peers or even worse (if your doomed :D ) from our VP of technology .

  1. It is one of the most common syndromes, I-don’t-think-it-is-good-enough syndrome , I have been pushed by teammates to contribute to open source and get over the shyness! this one of the things that I should have done really earlier and, as a note to self, I should do more often :)

  2. Pair programming for the win; one of the nice perks that was a super catalyst for improving my programming skills. Nothing is better than to think with another mind and code together, I gained a lot by watching how someone more experienced tackles problems and breaks features down more than I learned from courses, reading or blog posts.

At the end, this was a retrospective on my work/life at Namshi, to have a look at my current pace and give myself a bit of perspective on both past and foreseeable future.
My hope is that, the next time I look back, I see that I had more mistakes, more revelations and lessons-learned.