Archive for May, 2013

Custom software development company culture I admire at Kaz Software Ltd.

I started working in a company called Kaz Software Ltd. from 15th September 2005.

I switched my last company at a time when I was one of the best employees at One World Ltd.  One World was also a custom software development company in Bangladesh and it gave me everything one would dream of. A senior position from where my views and ideas were appreciated and incorporated into the company culture. The company was within the vicinity of my house in Mirpur 2. It was so awesome having the company that close to my home that I should mention an example. I used to come to my house every day during lunch time to have my food. After having the food I usually took a nap and then head back in a 5-minute-rickshaw ride to my company.  Handsome salary was the least of the benefits  I can mention. As a software craftsman money was the least enticing of the attributes I looked for in a company. One World fit into my conception of an ideal company where I always used to have a say.

Then came the day Wahid bhai, the current CTO of Kaz Software Ltd. proposed me to join his elite batch of software craftsmen. I didn’t even have a second thought. You would be asking why?

I heard from a common acquaintance that Kaz has an excellent team culture full of fun. At the same time, it is replete with software engineering challenges for which I always longed for. One could say I was a big fish in a small pond previous to joining Kaz. Once I decided to join Kaz, I accepted that I would be a small fish in a big pond considering the software engineering challenges and the level of intellectual ability people in my working group possesses  I was quite comfortable at my previous company not only with the ambiance and facilities but also with the technical challenges. With due respect to my previous company, I knew I would be entrusted with bigger challenges at Kaz but ones that could shape my software engineering progression. I immediately jumped ship to join a group of intellectuals which would not only define my career down the line but became a catalyst to broaden my general intellectual capacity. Truth be told – this was because I was always working with a group of intellectuals who were intellectually at a higher level than me and I had to be on my toes all the time to answer their superior questions and ask superior questions to them myself. This in a way reshaped how I used to think and broadened my overall outlook to life in general by making me more focused and alert to the subtlety of situations.

The first thing that struck me most about the culture of Kaz was that there was no invisible divider between the senior most person in the company like the CTO and a junior person in a sense that the junior person was allowed to argue logically with the CTO in a brainstorming session. In fact, the culture not only allowed it but encouraged so partly because a junior person could come up with a fresh idea challenging the one a senior person conveyed. In short there was no invisible wall between a senior person and a junior person.

The second thing that caught my attention was that every person’s view was taken into cognizance regarding anything and everything. This in a way relates to the first point I made that there is no hidden barrier among the people working under the same roof. Hence, the company culture quite literally fostered an environment where mutual respect built up automatically owing to giving value to what a person has to say. When one knows that one can challenge the ‘status quo’, that person is bound to feel enlightened and have a feeling that people are always willing to listen in order to improve upon things. It also teaches everyone that everyone should have an open minded approach towards things. This is a big deal in software engineering because, IMHO, having a fixed or stereotypical mentality would not only kill off all the potential in a software developer but it would also impoison the entire environment. In short there was a culture in place which discouraged egoistic or narrow minded thinking. Better still, the culture tried to inculcate positivism and broad mindedness by teaching one to listen and accept another person’s idea. This, I feel, is a big ingredient for nurturing innovation in a culture which Kaz successfully managed to imbue in a person.

The third aspect of the culture of Kaz seemed to promote the motto “we come to the office for having fun first then work.” Everything around Kaz was centered around having parties and celebrating even the smallest success. Beginning with impromptu ‘Pizza parties’ thrown for everyone in the team just because one developer solved a critical problem in an efficient manner to team parties which took us to far off and adventurous places like Darjeeling, India. Parties for people joining our company or leaving the company. It would be injustice if I don’t mention that there were more than one guys to gave multiple parties for joining because they left the company and then came back. Some even left and came back twice! Then there were parties for the most trifling of things like being late in scrum. We used to aggregate a nominal sum as fine in a piggy bank and then have parties after a point of time. There were also parties for coming late in certain meetings like team meetings, seniors’ meetings etc. There was one point when we used to have fine system setup in our company whereby you would be fined for the most unthinkable of things like putting your coffee mug in another person’s table. Those days it required the caliber of a supreme court lawyers to decide what could not be categorized as a fine such was the intricacies and vastness of the laws of fines! The most anticipated party was the “anniversary party” for our company whereby we used to go to a new and better place every year for having fun with our colleagues in a non-work environment  This was a big plus from the company’s perspective because developing a rapport with a fellow worker in an environment which doesn’t stifle you to be ‘official’ sheds off all the distances that could develop in a working environment.

The fourth aspect that I can mention is an ever upward curve created in the learning culture for everyone. We had weekly seminar system where one person basically gives a presentation to the audience on a topic which might or might not be related to the technologies he/she is working on. We also had what we called “Kaz School System” where a crash course type lessons would be held on topics like Software Development with ASP.NET, Design Patterns etc. Then there were workshops on topics like Refactoring, Code Smells etc. If you visit Kaz, you find all the IPs (Interaction Points) of Kaz overwhelmed with posters and writings on good practices or motivational sayings etc.

The last aspect but certainly not the least one that I could mention is the culture of sports at Kaz. We play regular cricket matches after our lunch within the vicinity of our office premises. Some could also be seen playing ‘Carom board’ game in the veranda at the same time. When it’s in season for playing a game of Badminton, people would be seen vying for a chance to play.  If that doesn’t astound you then this sure will. Every year we play cricket tournaments like inter software company cricket leagues or corporate cricket leagues. Then there happens a regular bout of KPL (Kaz Cricket League), KBL (Kaz Badminton League), KCL (Kaz Carom League) interspersed in the year. Few facets of these leagues are – buying teams by members in an auction before the tournaments start. Betting is also an attractive even which takes place before every match where one would basically need to bet on a team to win by putting certain amount of money. There is a betting syndicate in place too! Then there is handsome prize money to be won for every match or tournament. In short, sports is an integral part of the culture for Kaz. All the lessons that can be learnt in a sports field can be incorporated into life in general. Hence, I believe this very cultural aspect of Kaz puts its employees in good stead for meeting the challenges head on.

If I have to summarize everything I have written thus far with a phrase, I would have to say the culture of Kaz is one of ‘passion and fun’. In more ways than one, Kaz is a breeding ground for creativity and a den for the inquisitives.

In narrating the cultural aspects of Kaz as a good custom software development company in Bangladesh, it is likely that I might have missed some points. If you feel interested after reading my piece, I would request you to have a look at a page of Kaz’s website which is dedicated to the company culture it so fondly embraces and promotes.

Here’s the Company & Culture page from Kaz Software Ltd’s main site.

SQL Fiddle – Online SQL Database Testing Tool

Many of you might have heard the name of JSFiddle for testing JavaScript code and using different JavaScript libraries like jQuery, MooTools, Protoype, YUI, ExtJS, KnockoutJS, AngularJS, Dojo etc.

It basically gives one an editor each for writing HTML, JavaScript and CSS code. One can also view the output right there in a separate section. One may even choose to validate the JavaScript code using JSHint to check JavaScript code quality with JSLint validation.

Now there is also a SQL counterpart named SQL Fiddle. It is basically a tool for easy online testing and sharing of database problems and their solutions.

Using the tool one can build database schema and run SQL within the tool to check the output. Isn’t it wonderful to have such tools in a developer’s arsenal? Enjoy!