Wednesday, October 31, 2012

Career Planning

21 Years Old. I've secured a solid job as a senior software developer. No team yet.

I've always been a planner. For the last two years I've desired to grow in my understanding and application of software development, business, economics and high mathematics. I've put school on hold while I pursue starting a family and developing my high priorities (more on that later), but that does not need to stop me from developing these fields. This blog I hope will serve as the journal of my education from software developer to CTO. I hope to report of each step of the way.

To start let us lay out a bit of context. I am an "executive software developer" at Fortis Riders, a high-end chauffeur management and logistics company. I use Ruby on Rails and beginning to use iOS on a daily basis. I work with a MacBook Pro. I learned the basics of software development as a kid starting at age 11, volunteered as a C Developer for the Carnivores Saga (http://z3.invisionfree.com/The_Carnivores_Saga/i) to develop and release the Community Edition, and worked as a junior web developer at a local development firm in high school.

To be honest I do not know exactly how this journey will play out, but I hope this blog will serve as a guide and reference and record successes and failures.

So let's begin. After reviewing the role of a CTO I noticed many different flavors exist. For the sake of brevity I will not go into them here, but the one I have targeted is the executive type. This type of CTO reports to the CEO and is responsible for making the technical-business decisions with regards to technology adoption and implementation. He's the guy that must be able to use of both existing technologies, and create them where needed.

I don't know what it will take to get there but I've set a basic study outline. I feel my understanding of several key Computer Science concepts is relatively weak, and I must strengthen this in order to lead a team of engineers. I do intend to return to school and finish this, but for now that simply is not an option. Therefore I will teach myself.

Here is my current planned learnings:



  1. Cal I and Trig Review
  2. Computer Science Mathematics (whatever this is) 
  3. Cal II
  4. Advanced RegEx
  5. C Pointers
  6. Advanced Algorithms 
  7. Macro Economics Review
  8. Micro Economics
  9. Business Economics
  10. Public Speaking
  11. Trig Review: Sin, Cosin, etc
  12. Github Contributor
  13. Binary Trees and BST


As you can see I've also splurged a bit on technologies that are not exactly critical but fun nevertheless. (Advanced RegEx for example). I think it's important to do a bit of both to both prevent burn-out and to widen my scope a bit to foster creativity. Also note that inclusion of several soft-skills (such as public speaking and guthub contribution). Both helpful.

So I will start by preparing a "course outline" which I will then share next week.

Regards,

Myself