Yes, it’s me – Mr. Coding Tools.

I’m a fan of whatever makes our lives better. Most of them are the tools, right? So someone calls me “Mr. Tools” but it’s not true,  I don’t just use the tools. I’m a Mr. Coding Tools.

What makes a developer different? He can make the amazing tools for on-demand needs of his life, usually are once-use tools. When cannot find an appropriate software for reducing manual work, a rich man can hire people for building it, a normal man needs get back to his boring things in the hopeless, but a normal developer can do it himself. He always feel excited by doing in a smarter way although it sometimes takes more times than doing manually 🙂

When I was 17, the vice president of my mother’s school asked me “I want to show up some texts and photos on the projector board by a cool way in an important meeting next week. They should run from left to right, top to down etc. I have seen it when visiting a conference but I don’t know how to do it on my computer”. So easy with Power Point? Right. But what should you do if you don’t know Power Point? In fact, I had never known Power Point was existing that time. I had my first computer when I was 15 but just used it for programming to solve some algorithm problems or editing with Word to earn more money sometimes. I hadn’t known Internet as well because of its high cost. Borland Pascal, Delphi, Word, NC and FIFA were only my 3rd party softwares I had and known that time – so different when you guys were 17, far ahead from me.

“Yes, you can. Please give me the texts and photos you want to show up and I will get back tomorrow”, I said. What did I do? I wrote a Winform application with some areas for texts and photos, some timer triggers to scroll them in some directions. It was so easy like eating an apple.

“It looks good but could I change the texts and photos myself?”, he said when I got back. “Of course, let do it tomorrow”. And I changed my code for reading texts from files, get a photos from specific folder by their ordered names.

“Yes, it works but could I change the position of these texts and choose the effect myself?”. “Sure, see you tomorrow”. Then I went home, changed my text areas to placeholders and made their positions and sizes  more flexible.

“Super cool, we got it. I can prepare the content for the meeting next week now. How much should I pay?”. “Base on the success of your meeting. Give to my mother, I don’t care”. “Could I use it for the meeting next year?”. “Sure, or next month if you think it would help, otherwise drop it out”.

I believe Agile is in my mindset as long as I know building the software. Iteration, feedback, refactor, minimum viable product etc are so natural and come easily.

2 years later, I laughed out loud at the first time seeing Power Point, “OMG, I reinvented the wheel”. But I was proud of building the useful tool in my limited resource and knowledge. I came back, installed and trained the vice president to use Power Point but he wanted to keep using my tool as he had used it well 7 times for 2 years. Because this tool was enough for his needs and Power Point has too much features but didn’t have Vietnamese user-friendly UI. Simple but enough is better than tons of no-use add-on.

In my career, I has built a lot of tools for myself and see it as the best way to improve both my coding and customer-side thinking skills.

Some days ago, I created a backlog for my next 23 months and I’m thinking about creating a mobile app for tracking as unfortunately I didn’t find any right tool. Again, it maybe a one-use tool.

Sometimes, no tool is better but guru should do build tool.

1,665 total views, 4 views today

It’s my backlog for 23 months what I need to complete before turning to another path, in unordered:

  • Visit more 8 cities
  • Learn swimming: 50 hours
  • Hand writing: 50 hours
  • Learn typo: 100 hours
  • Take photos: 80 hours
  • No coffee: 100 continuous hours
  • Learn playing 1 traditional musical instrument: 200 hours
  • Blogging: 200 hours – yeah, I’m coming 🙂
  • Learn football strategies for 7/11 player fields: 50 hours
  • Train billiard: 70 hours. Play billiard: 80 hours
  • Donate blood: 3 times
  • Walk-only: 10 days
  • No cigarette: 200 continuous hours
  • Tech talk: 30 hours
  • Drink beer: 30 liters

Do you want to help or do it with me?

841 total views, no views today

A story about my t-shirt.

About 2 years ago, I decided to make me as simple as possible by reducing my energy and time of thinking about the unimportant things. Then I started with my meals and clothes.

I eat whatever I can or I have in meal. Going to a buffet where having a lot of options, I just choose at most 3 foods at the first sight. And sometimes, I get only 1 food or decide to skip this meal if I cannot give my decision in 3 seconds.

I wear  whatever clothes I have with 1 shoes in whole year. “What are you doing? You don’t have your own style man”, I thought after a year. So, to keep it simple but having style myself, I replaced all my clothes by black ones. I ordered 10 1-style black t-shirts. I used to spend less than 1 second in the morning for choosing a t-shirt by stop thinking “Hmm, what colour, what kind of t-shirt does suit me today?”. It’s so simple, right? “But wait man, how do people think when you wear the same t-shirts day by day? You just have only 1 t-shirt and never change?” – yeah it’s so reasonable. Then I choose 10 texts and add it to my t-shirts as “perfect”, “never stop hacking”, “work hard”, etc as an inspired word for me in a day. So what’s happened? I need to choose a word in 10 whole-black t-shirts and it sometimes takes me 1 minute and of course, much more difficult than in different colours. Sounds crazy? Sure, it may come when you want to make change while it’s too simple enough. Then I stop choosing the text for a day, pick any t-shirt in the morning and less-than-1-second rule came back. And of course, black t-shirt or any other colour ones make me feel the same but whole my closet is in black now. I’m not fashionable as 1 year ago but I should stop changing as it too simple now. And have my own style? 🙂

“Everything should be made as simple as possible, but not simpler” – it’s totally true. Keep it as simple as possible but when you feel that it’s simple enough, don’t try to make it simpler as it maybe the trap of change.

Simplicity is the Ultimate Sophistication

Leonardo da Vinci

image14

686 total views, 1 views today

In the conferences and meetup, when I ask people “What are you doing? (in your company)”, I usually get these answer “I am a project manager”, “I am a team leader”, “I am a CTO”. OMG, too many PMs, CTOs here, where are our developers? These conferences don’t just open for the management positions only.

Then I found that some of them just tell me their titles, not their real jobs. It seems similar to the case of my friend, Bob, a very talent and skilled developer, became a project manager (PM) and then CTO after graduation and joining his company in 4 months. He is of course right to tell me his title but does he know what jobs need to be done by a PM or CTO? Why should a small outsourcing company, that does every project it could bid, need a CTO?

Let’s see the definition a common title (by Wikipedia):

Software project management is the art and science of planning and leading software projects. It is a sub-discipline of project management in which software projects are planned, implemented, monitored and controlled.

And look back to Bob’s daily work. How many time share of his daily coding in his project? 50%, 60%, 70% or 80%?

80%, sure, Bob is not a PM, he is a developer in PM title. Even though he choose 50%, he is still a developer. It seems a common case in a small company where the number of PM equals to a large company.

Why?

There are 2 reasons I see.

Small project. A small company usually does a small project with team size is about 3 to 6 members (sometimes 1 or 2) compares to large team in a bigger company.

Benefit. Company gives Bob a title (and may pay a little extra money for this title) for getting a very big benefit from him. Life is not fair. Bob feels more important as being a PM of project? Sure. Bob is mainly responsible to the success of project? Right. And what would Bob do? Double his work hours day by day. If you are a best technical and skilled guy but work in PM title, it would be a nightmare. I guess Bob hope that he is not good at technical. But if he is, it’s so difficult for Bob in getting the chance to have PM title. It sounds funny.

The pitfalls

Renaming jobs by a title this way may bring some issues to the both employee and company sides.

Bob thinks that he has enough knowledge and skills of a PM and doesn’t want to be a developer so far although he is still a good developer and bad PM in a lot of successful projects. Some months ago, I had an interview with a good candidate who truly believed that TL or PM is a position suits him and didn’t want to be a developer any more because he have worked as PM for 3 years and completed some projects well. But I asked him “How many teamwork issue did you find in the most recent project?”, “Hmm, 1 or 2”, he said. “You seems not a good PM. No matter with your teamwork issue, 1, 2 or 100, how you answer me with “hmm” and “or” shows that you didn’t monitor and control it well”. Yes, he didn’t monitor project as he should do because he spent too much time focusing on development. He was just assigned to PM position to fulfil project roles and couldn’t get enough time to do the main tasks. But it’s so hard for me to convince him joining us in a developer title although every developers manage works and the technical stuffs themselves here. The title illusion has killed a developer’s career softly.

It’s unreasonable to promote the best developer to PM position where he can show off the bad management skill but why is it the common way we are doing? It seems an easiest way to keep him here and reach out his coding competence – but it just works in a short term. If we still want, please keep him out of coding time (or at lest, have a plan to decrease it), he need to have overall view of what is going on in this project while the team is working.

The project cannot scale that way. Sure, developer is just a developer even though he is in PM title for a long time.

It’s exact my case in some years ago when I worked for a small company in several small projects and was proud of how they introduced me, PM or “Web product director” sometimes, until I spent a whole day to look back what jobs I had done, how much time shares I had spent for in this project. Then I quit thinking that way. We cannot change our jobs by just renaming them. And I see it’s the common case of the young guys especially the graduated students who always have big ambition and want to quickly have big steps in their career path. But they don’t have enough knowledge to identify it’s just a trap by the title outside.

But why shouldn’t Bob answer me “I am a developer”? I don’t know, he may feel better by “I am a PM”. But I believe in some next years, Bob may say “I am a developer, a guru”.

Let the daily main jobs set your title.

930 total views, 1 views today

It’s my presentation in monthly meetup of Agile Vietnam in May, 2015. In 2 hours, I shared our case study about applying Agile in both working environment (by promoting flat-management) and software projects.

I also got a lot of feedbacks and questions and highly appreciated. Thank you for joining.

774 total views, no views today

Hoian in the night, so beautiful.

Danang is one of the most beautiful cities that I want to live in. This city always knows how to make me memorable by giving me a lot of experiences there.

The first time I came Danang is 2007 when I was a student, joined the Olympiad of IT in Duy Tan university. It’s our fail ACM contest with only 3 solved problems and was not in the honorable ranking table but I still got the 1st place in English extra contest. We were so busy with full of schedule of the contests and didn’t have enough time for seeing how good this city is until the last day with storm :). We went to Hue from Danang in 4 AM and must stay there in 18 hours because of the storm. It’s so hard to stay in this city – I thought.

I came back Danang in 2013 in the vacation with my friends for seeing the firework competition and stayed in about 1 week. It’s a awesome time excepts my friend got sick in 3 days :). But I had enough time for seeing how good it is. The most excited experience is going to Son Tra mountain by a motorbike without brake in the heavy rain. Nothing to do but smoking on the high mountain under the heavy rain and cold wind is awesome experience.

This time, we went to Danang for seeing the firework competition as well, and it welcomed me by an interesting way. We booked the flight for departing in 9:00PM 29th – but the firework competition were in 28th and 29th. I was so disappointed and considered about paying more for changing flight time. But wait, here it was. The flight operation sent me the message of flight time change to 3:00PM with their sorry attachment. OMG, it was so easy to get there and see the firework without any extra payment. No need to say sorry, thanks so much VietjetAir :).

But the most exciting thing just was coming. We didn’t book the hotel as it so expensive that days and we decided to spend our money for some drink on the beach overnight. I have done it sometimes but my friend has never so he got angry when the bar closed and we need to sleep on the street. But it’s safe in Danang 🙂

[Update later]

560 total views, no views today

In 2013, HanoiScrum had a program Agile4U that brought Agile to universities in purpose of enlarging our Agile community. We thought that the IT students who will work in the modern projects should know Agile as soon as possible and be aware of the trending of software development method because their courses were full of traditional approach and no longer updated.

As the main in charged person of this program, I had some talks in several universities such as University of Engineer and Technology (National University, Hanoi), University of Science and Technology of Ha Noi… etc. I used to use this presentation that was built by Tan Trong Duong and me with some customizations for the specific talks with the case study or game.

After a year, we decided to stop this program. I was so busy that time with the new job (the talk was short, but it took a lot of time to contact and organize an event in an university with a lot of ugly stuffs, especially in procedures). But the main reason is its values. It seemed to bring less value to the students because most of them didn’t have any experience in the real project within a process. It’s so hard to show how better Agile is than traditional approach. They might be impressed by my performance and the strange content but traditional methods seem much more easy to understand and believe on.

But I’m considering to restart this program because the universities seem different right now with a lot of students having the longer internship in the real on-job-training work. Then they can see the issues of traditional approach in the real project and maybe finding an alternative way. Do you think so? Or are you interested in an Agile course instead of an introduction talk? If you are a student, please throw me your opinion, I’m very happy to spend my time to make this course go live.

931 total views, no views today