DevOps simply stresses on communication, collaboration and integration between software developers and information technology (IT) operations professionals a.k.a sys admins. it’s goal is to support automation and maximize predictability, efficiency, security and maintainability of operational processes, meaning you can deploy 5 times on production on the same day with confidence that all systems will be fully operational. This post is moreover a software enginner’s point of view on the DevOps side.

Read on →

We are very excited to welcome Daniel in the crazy Namshi family!

Daniel Ribeiro is a Technical Leader, Senior Software Engineer, PHP 5.3 Zend Certified Engineer (ZEND021458), Speaker and Evangelist from Brazil. He’s also a member of the local PHP community (PHPSC), and has been working with software engineering since 2006. His focus is on software engineering best practices, both concerning the code and the process of software development. He has a quite solid experience with agile practices and leading development teams to enterprise application standards and practices. Technically, he works with a lot of best practices, such as Behavior-Driven Development (BDD). He also has a background on architecture patterns, such as Domain Driven Design (DDD) and Service Oriented Architecture (SOA). He loves to work with high quality code, especially concerning advanced software engineering concepts, such as the SOLID principles and the GoF design patterns.

Read on →

Generators are one of the new cool stuff on PHP 5.5, but it’s not a new feature in software programming languages, for example it’s on Python since version 2.2 on 2001 and now in the draft ECMAScript 6 (Javascript) specification.

They are a simple and powerful tool for creating iterators. They are like regular functions but using the yield statement whenever they want to return data. A generator looks like a function but behaves like an iterator, it’s useful for lazy evaluation “which delays the evaluation of an expression until its value is needed”.

Read on →

BOOM! As mentioned in the last newsletter, we were working on four new open souce libraries and two of them are already out !!!

And here we are as usual with a list of interesting links to keep you busy during the upcoming weekend:

Read on →

Stardate: Wed, Apr 23, 2014 at 12:48 PM (GTM+1)

In a cold italian spring day my phone vibrates, as all nerd’s phones do many and many times a day.
The usual swipe, the screen unlocks and the conclusion of what started just 3 days earlier, in a rushing set of coding challenges and interviews, bears in front of my eyes:

“Dear Luciano,

I am delighted to attach an Offer Letter in the capacity of a Senior Frontend Engineer at Namshi, please review and confirm the receipt of the same.

Your provisional start date is the 11th May, 2014, we require the following scanned documents in order to process your visa: Passport – colored copy including first page, renewal page (if any).
Photograph (with a white back ground)
(Optional) Attested degree/high school certificates (stamped from the UAE embassy at the country the degree is issued and the Ministry of Foreign Affairs in Dubai)
2 References (Names, Number & Designation).
If you have any questions, please feel free to get in touch with me directly.“

And that’s how it started.

My departure gets postponed to allow me to attend the jsDay & phpDay conference in italy, together with part of what soon will be my new team:

I’m right now in the middle of my probation period, a 3 months long roller coaster ride in what’s probably my most challenging and fulfilling work adventure in my career so far and, bare with me, I’d like to share the story if you’re pleased.

In a matter of a couple of weeks I’m finally stepping on the groud of Dubai.
The next morning Alex picks me up from my hotel: Namshi, at last.

The HR department gives me a warm welcome and I’m ready to meet Shidhin, the other new frontend developer I’ll work with, we quickly find ourselves sharing the same keyboard and pair prgramming on our 1st project.
Easy welcome, really, the 1st task we’re faced with is “Just remake our checkout… we’ll release it before Ramadan begins”, states the boss… In a month!
After all it’s probably one of the most important parts of an e-commerce’s UI, if it doesn’t work people cannot pay and you know what they say: no money, no honey!
Peace of cake… –_^’

It’s almost 8pm and we manage to finally push out branch and open our 1st PR! Which, the next day, gets nicelly bashed of notes and comments.
Kind of slapping wake up. Well, nobody said it would have been easy here, one thing it’s clear since the beginning: no matter how many years of experience you have, one of the most important things in our job is – never stop learning –, bring your expertiese within the team but be ready to learn a lot from what it quickly shows as a really high and capable group of professionals.

Days go by and in a rush of javascript, PRs and more slap-in-the-face comments some how my enthusiasm grows and my passion gets refeshed. For once I’m really feeling like I’m back at 25, with tons of stuff to do and learn and with the push to do it.

Julia, code name for the new checkout, is growing fast. I keep looking at the source, amazed by what it (she?) looks like.
Probably the cleanest and finest peace of software I ever contributed to at that point in time. With the dear help of Shidhin, often guiding me with good tips on the fine art of Angular’s tameing, and Alex carefully preventing my bias from polluting the new baby.
Thanks guys :)
As said, it’s always about learning, and I’m in a place where for once in years I’m not the one that kind of knows-it-all. After all, it’s what I was looking for!

It’s well known one of the best ways to grow is to push your self, so don’t pick the easy task.
In this spirit I blindly jump on the error handling. The catch is: the app needs to solve it’s own errors.
It’s while working on this part an idea came to my mind that in the evening got me publish my 1st oss project since I was here and 1st npm lib ever:
Value Path Objects
It happened to be the last piece Alex was looking for in order to be able to publish one more namshi’s oss project: reconfig
Been shy at base I always had problems publishing my code, but that night I guess I got the right push and I finally did it, and I’m glad it happened. A new frenzy grew and shortly after I had the urge of sharing some more CarmenSandiego.

This brings us to the new moon and with it Ramadn cames. Julia is done, but since the holy month is a great opportunity for sales, we hold her back from going public. I’m still not sure how we got it done.

With the 1st project reaching maturity I get the opportunity of bugging people to let me code some Node.js (finally :D). Looks like we need a 0 downtime solution for updating our node applications. A little bit of javascrit, and lots of wrestling with capistrano and the filesystem later, and clusterjs is born. Published at ~1am on a Thursday night (well, actually Friday morning), it’s the 1st oss I push in an official Namshi’s public repo. And I obviusly manage to make a mess a couple of times before getting the publishing process right. It’s amazing how the excitement sometimes gets you out of control.

During Ramdan me and Shiddin take the change to refine the dear Julia and as Eid cames the lady is ready for her big Debut in Society.
The smoothest rollout I ever experienced.

From that day on another month has gone by. A couple of more libs leaked to the public, and I’m now mainly working on internal node project.
Everyday there’s a new challenge and the fun is always on. In the struggles, the laughs, the shishas and the lines of code flow countlessly and every day the bar is pushed a little higher.

It’s not always all perfect, for sure. For instance during the week I don’t see much sun light, but I try to catch up as much as possibile during the weekends :)
Living by the sea is definitely a pro, and I get to scuba dive a lot :D

I always hated mondays (actually now Sundays are my Mondays, crazy reverse weekend ;P) and about an year ago I stumbled on this meme:


Today I’m happy to say: I don’t hate mondays any more! :D

As you know the IT team loves opensource and the idea to give back to the “community”!
That’s why on Tuesday evening we did an internal hackathon, we bootstrapped four open source projects that we are going to release soon,
stay tuned!
Lucio, our Nodejs maniac, introduced the team to node’s history:

Below the usual list of interesting links we found this week:

Read on →

Hey folks! Hope you had a great week!


We are looking for a senior software engineer passionate about NodeJS and a frontend designer who is passionate and kick-ass in CSS and HTML and wants to expand his skillset with some JavaScript — we <3 javascript :)

We will detail in a separate post but, for the time being, feel free to reach out to submit your linkedin / github profile to

Here are your links for this week!

Read on →
Copyright © 2014 Namshi
Powered by Octopress. Design credit: Shashank Mehta