20091116

My Annual Study Plan

Being already bored with Dragon Quest IX, I guess it's time to organize what I have to and would like to study now.
(Declaring this kind of commitment in public is nice to force yourself to do something.)

  • Eclipse-related technologies: EMF (Eclipse Modeling Framework) is heavily related to my current work. I would like to study basically based on this book or it's original. Having no experience of developing a plug-in, I need to strengthen this knowledge at the same time. It's a long way to go. I hope this book will be a nice guidebook.
  • Junit: I borrowed a book titled Eclipseプラグイン開発 (translated from "Contributing to Eclipse") by a co-worker, to cover knowledge of so-called agile software development and extreme programming. Having an opportunity of developing an Eclipse plug-in, I would like to experience test-driven development using Junit at the same time.
  • Frameworks: During I was in Okinawa from 2005 to 2007, software development style had very changed powered by many open source standard frameworks: Struts, Spring, and OR Mappers. At first, I should understand the mechanism how each framework works. I think then I can easily comprehend each component of terasoluna and how it collaborates with the others. A training course I took in last week was very awakening. I think now I can remake an e-tendering system, which I have refined little by little in my Okinawan career, as pilot web system with Struts, Spring and Hibernate using Domain Modeling.
  • Architecture: I join a study meeting on domain-driven design (DDD). The initial reason I joined the meeting was to get connected with those respectable co-workers highly skilled in software architecture. We have been reading the book (now we are at around p.100) through the meeting. Discussion with the informed engineers is very stimulus. At the same time I'm reading Pattens of Enterprise Application Architecture (PoEAA) to know the position of Domain Modeling among the several patterns in more general point of view.
  • Non-technical skills: The second branch is perhaps rather the more important for me. When analyzing a software/refinement requirement, my thought often goes beyond my assigned issue and gets disordered, blur and I miss critical points. In a last meeting of some requirement analysis, when I was still considering a solution for a issue, the other members were waiting for me to move on because they knew the issue was already solved. Even though I thought I managed to get by only with my own way of thinking so far, I realize I badly need a skill of critical thinking. If I can organize and simplify my thought, I can be more productive because I can cut off time to think about unnecessary topics which are not expected by my stake holders.
What I wrote here requires me a lot of time and energy. But there's no turning back. I deleted an onigiri game, which is very addictive and have robbed me of enormous amount of time, from my PC. I would like to establish a schedule how to proceed. I would like to do them in parallel not to be bored with a single subject quickly.

    No comments:

    Post a Comment