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.