I had previously mentioned that, in my preparation of my future book, I would be posting excerpts on my blog for the world to see. The topic of my book is centered around Software Engineers, and the ideals of a Ronin Software Engineer.
Here are those ideals
- Value adding: The focus of a Software Ronin should be to add value to the business (be it personal business and that his/her employer) and make the clients happy. Every strike should have purpose.
- Independence: a Ronin engineer should be a self-motivated, entrepreneurial individual. Why work for the man if you have the skills to make it happen for yourself? If you choose to do so however (or can’t do otherwise), then you should work the place as if it was your own. Be an intrapreneur. It’s good for your career and satisfies another ideal of the Software Engineer, i.e Self-Interest
- Self-interest (providing value to oneself): By this I do not mean to encourage egoism/egotism. In my relatively few years in the field during which I have had the pleasure to meet many engineers from a variety of places, and came to realize that far too many of them failed to realize their potential for not seeking what was in their best interest. Just like a Ronin would take on jobs that would satisfy their needs and propel their reputation, Ronins should always seek out projects and tasks that would challenge them and enhance their abilities and skills, so as to be the best engineers they could possibly be
- Loyalty to the craft: A Ronin engineer should be loyal the his/her engineering craft. There is no benefit in being loyal to any particular technology or methodology to the point of fanaticism because, in our field, things change
- Embracing change: Never be married to a particular outcome; never be too attached to any particular methodology or technology. One must adapt to survive
- Professionalism: A Ronin engineer should adhere to a high standard of professional ethics, behavior and conduct
- Constant practice: Just like the Ronin used to practice the art of war on a regular basis to survive, a Ronin engineer should always dedicate time outside of regular work hours to practice. During a keynote at the Philly ETE 2013, Rich Hickey, creator of Clojure, made this observation about Software Engineers. Musicians practice constantly, regardless of how good they are. And yet, far too often, programmers stop to do so post college graduation. For your sword to be sharp, and your moves to be gracious you gotta practice
- Enriching the community: Contribution in forums, blogs, Open Source projects demonstrate ones dedication to the craft
- Leadership: A Ronin Engineer should be capable of leading/forming a Team
In future posts, I will explain the reasoning behind each these ideals and why I believe they merit considerations.