Sunday, September 9, 2012

5 JavaScript Tips

I made this presentation for BarCamp Saigon 2012. It was an interesting experience from head to tail.

The slides were made the night before the event. That was the first time I made a presentation that rush. To many out there it is nothing special, but as an introvert and a clumsy speaker, I typically need longer period to prepare.

The speech was original meant to be made in English. Last minute change, there wasn't any foreigner in the room. My first technical presentation in Vietnamese ever :)

Enjoy!

http://khang.cogini.com/JS-tips/


Tuesday, September 4, 2012

Remove bureaucracy, Embrace remote working

We don't want to be the norm

We have been embracing a dynamic working environment ever since there was only 4 of us, working in a small apartment. We refer to everything that prevents our developers from being productive and living the life they want as bureaucracy. It is dogmatic, I know, but the attitude keeps us alerted, always looking for ways to improve the environment and eliminate boredom.

The latest issue we try to tackle transparently and systematically is a remote working policy for staff. It is not like remote working is new at Cogini or in Vietnam. . Young and reckless, we believed in a culture step-change, affecting staff and businesses, as work increasingly became something we do, rather than a place that we go. The benefits from this decision are various, ranging from improved staff engagement, talent attraction, boosted productivity and a better work/life balances for employees.

The challenge we face after more than a year applying remote working into professional workplace is the growing mismatch in expectation and communication between board of management and employees. Working under pressure, there were urges to abandon remote working, bring things to a tighter control. But that is just a sight a weak management and we know we can be better than that. What we need, in this particular situation, wasn't tighter management and more processes. We need a clear understanding between staff and management on what, why and how of remote working. We made this guideline to express the concern we are having, practices we are doing and nonetheless, set the ground for further improvement.




The Guideline


Is remote working suitable for you?

Newbie developers, or competent developers who are phoning it in, are absolutely not going to have the moxie necessary to get things done remotely. It isn't all about technical skills though. Those who are sanctioned to work remotely by management are the employees with an appropriate skill set such as punctuality and good time management and organizational skills. Under any circumstances, you will be asked to to move back to the office if your colleagues or direct manager feel like the productivity and project progress is compromised because of your absence.


Stay connected, Stay motivated

Remote workers often suffer feelings of isolation. Some feel that they miss out on informal organizational discussion and have a poorer understanding of the office and project context. Try to bring yourself to on-site events whenever possible. If you are within the city, come to the office at least once a week. Try to combine it with some formal activities such as Project Review Meetings, TechTalks or Retrospective Meetings to make your time and communication worthy.

Because remote workers are not actually physically in the workplace, and therefore 'seen to be at work', there is a crucial need to make yourself accessible during your working hours and let people know what you are up to. Define a time frame as your 'office hours' and commit to be accessible during that. Update your status whether it is a general one or project specific for every day that you work remotely.

Despite that, remote workers do have to be able to motivate themselves to work independently and with less supervision. If you find this difficult and miss the direction you have previously received from face-to-face contact, remove working is going to be rough.


Don't write angry

When you work in the same room as people, misunderstandings can be quickly cleared up. In contrast, remote workers tend to spend most of their time communicating via the written word that can be easily misinterpreted from afar. If you are worked up about something - angry, confused, frustrated, etc - try not to vent your frustration in writing. Instead take a moment to voice or video chat with your team to discuss the situation. Make sure your work place is fully equipped and quiet enough for Skype calls.


Build your own office

Whether you are working from home or heading to your favorite coffee shop, you need to put some real thought into your work environment. Of course remote working offers better control over the working environment and you shouldn't lose a chance on getting nice furniture, natural light and bunch of other gadgets to make the station comfortable and convenient. But there are some benefits of working in an office that people often fail to notice and therefore can't reproduce for their remote working station.
  • Right working environment to eliminate sources of distraction (TV, Game consoles, Kitchen, etc..)
  • The office routine separates your work life from your personal life. 
When you fail to give your body proper breaks, it gets tired pretty quick and drags your productivity down. Many fuse their personal time with working time. Soon they find themselves exhausted and productivity is dropped. And even though they are in the illusion that they are working for longer hours, they in fact just get tired sooner. Well defined working schedule and working station give you physical and mental breaks, which is essential for the next productive working day.