I have seen a of developers in our local tech scene who describe themselves as code ninjas. Now I have no idea what that means so googled it up.
(sometimes capital) a person skilled in ninjutsu, a Japanese martial art characterized by stealthy movement and camouflage
For myself this definition is wrong in so many ways for starters, Its been a long time since I took a martial arts class (read never) and am fairly sure most of my colleagues have the exact track record,
But in that definition, the martial arts is the least of my concerns “characterized by stealthy movement and camouflage” is. As for reasons, let me just put them in a list, I love lists.
I am NOT neither do I aim to be stealthy
I love talking about code, I love sharing code. I find this to be an empowering process, I get to learn a lot about what am doing wrong and optimize what am doing right.
This has not always been the case for me, I previously thought that by exposing my “proprietary code” someone else would steal my genius and leave me in the dark. With time I have found out that this was an entirely baseless fear, for one I am not a genius and even more importantly everyone else is busy working on their own stuff.
Really there is no downside to being more open with what you do.
I am not an expert at camouflage
When my career is done and am old and frail, I want to be known for how I helped my community move forward, not how excellent I was at camouflaging resources and opportunities.
While a lot of developers, especially in Africa and Kenya have become masters of using open source technologies for gain. Few are actually giving back. Well guess what, see that tool that just saved you months of coding, someone spent months of coding on it! The least you can do is moderate feature requests or bugs for them. http://www.codetriage.com/ Even better fix the bugs. Best of all provide them with some financial support if you can.
So what am I?
I believe I am a professional developer.
I am part of a team in all projects I work in.
I am part of a bigger community for whom I do my best to advance.
I am not a guru in any one language, but use the best language that offers highest value to the client. (PHP is still my favourite)
I aim to bring more value to my clients by not only offering my time, but also my insights on how they can better leverage technology in their business.
I am an open book, all my personal projects are open to the world, I will try as best as possible to assist anyone who asks for my assistance and will humbly request for assistance as well.
So are you a Code Ninja or a Professional developer?