I have an upcoming meeting with my manager at work to discuss my development goals for the year (I’m just coming onto this team so it’s a bit late) and I have of course been thinking about not only what my developer goals are, but what should a developer goal look like. I could easily list a ton of different technologies/APIs or frameworks that I want to learn, but in my opinion knowing a lot of frameworks isn’t enough so I am trying to think about other things that would make me a better developer. I know a fair amount of different technologies so I would rather spend the upcoming months refining my knowledge with what I am currently using. Here are a few of the things floating around in my head right now as far as areas I want to improve in:
Tech
I want to increase my level of knowledge of these
Methodology
I would like to improve my abilities in these areas
- Test Driven Development
- Agile/Scrum
- Software Estimation
Projects
I want to continue to work on
- Finish PlayWithYourPeas XNA game
- Contribute to an Open Source Project
- Write more
These are just a couple of areas that I want to either learn more about or improve upon. I have also been pondering whether or not to pursue the Certified Associate in Project Management certification. I have already met the requirements so it would just be a matter of a bit of study and to take the exam. I currently have no desire to be a project manager, but I think having this under my belt would go a long way towards reaching my longer term goal of becoming a team lead. I currently don’t have any other certifications and am not planning on getting any.
When constructing the above list of items, I was also thinking about SMART which is an acronym for Specific, Measurable, Attainable, Relevant, Timebound. For example, applying this to my above list I could do almost all of these by building a small web application. However, to make any of these official goals I need to make them more specific like “build a website with Grails that does CRUD operations to a database as well as make use of a webservice” (that covers about 90% of the tasks I would use it for at work). I would make this a bit more specific by outlining the type of site that I wanted to build, most likely something data heavy with a lot of complex forms like I have to deal with at work. This is also definitely attainable. I don’t need to build the next big thing but I could easily build a website that flexes all of the technology I need it to in a few months with spare time. Even if I am not using Grails as an everyday technology, it is completely relevant as it uses technology I do use every day. Also, laying out the UI and handling form data is going to be a great exercise that I can apply to every other application I build. Timebound is the tricky one. I would want to set a time frame on when these goals should be completed that isn’t too aggressive but also not too far off in the future.
I will most likely refine these items and remove or add some over the next few days, but whatever makes the final cut, it is important to stay focused and to complete them.
posted by Casey at 8:33 pm
I have decided earlier today that I will take part in Ludum Dare 15. I have been following the competition for awhile and have played many of the games that have come out of it and it seems that this weekend just may allow for me to spend 48 hours creating something.
After the competition, I will write up a post-mortem and put what I finish with up here for everyone.
My blog posts at the Ludum Dare compo site can be found here.
posted by Casey at 7:14 pm
This Summer has flown by a bit faster than usual for me this year as I have been working quite a bit and spending as much time as possible with my wife and son. We recently moved as I noted in my last post and it can be hard on kids to readjust. I moved a lot when I was younger so I have a decent idea of how he feels. Due to this I haven’t had too much of an opportunity to work on any of my own projects. As usual, without being checked the amount of work and other activities more than often grows to fill the available time. This week in particular has brought it to my attention that since graduating, I have been neglecting being mindful of this. Before I could always blame my lack of time on going to school and working, but now that I have only work, I need to reclaim the rest of the time.
For the past year I have been looking to start my own game development company and give it a shot going solo. I’m not going to be quitting my day job to do this, but this goal will never be realized without restructuring what I am currently doing and making a little time each day to spend on prototyping and developing. I also need to make sure that I spend time away from the computer exercising and pursuing my spiritual path. It’s the trinity of mind, body and spirit making itself known. I know from past experience that if I don’t keep this triangle of activities in check I will not make progress as burnout will surely set in one or all of the areas.
I am going to use this upcoming week to start incorporating some changes to my routine. I went for a long walk/run today and forgot how much fun it can be. I am going to start running at least every other day for half an hour and bring back a few meditation techniques. I am also going to set a goal to have a small game done by two weeks from tonight to ease myself back into things. I will also be time tracking how long the development of the game actually takes as a starting point for better time estimations.
posted by Casey at 10:04 pm
I recently moved into a new apartment with my wife and son and with it came an inevitable downtime in internet access. However, being offline for a bit has allowed me to think about my current projects and where I am going in the next six months and what I should be focusing on. I have realized that I have too many side projects that may or may not add anything to my real goals and getting rid of these projects for good was necessary so that I can stay focused on what it is I really want to accomplish.
Earlier this month as I moved to working almost exclusively from my laptop, I did a lot of housekeeping across all of my hard drives to get everything in one place and backed up. Looking at the list of all of the Visual Studio solution files of half started projects or all the random Eclipse projects, I decided that some action was sorely needed.
I usually keep all of my development work, whether it is C++, Java or something else, under the same root folder usually called projects. This makes it convenient to see everything at a glance and to make sure that everything is backed up as needed. I started my pruning by making sure everything that I was working on was under this folder moving things as needed. I than started to ask myself the following questions about each project in the list:
- What, if anything, will I gain by finishing this project?
- Will completing this project teach me something that will help me achieve my long term goals?
If a project didn’t pass both of these questions, it immediately went into a separate folder that I called shelved-projects. I may or may not come back to these ones but I also didn’t want to just delete them forever as they may have pieces of code that I may need again for some reason. I am going to start making this a monthly routine to keep more projects like this from cropping up and to stay focused on my real goals.
I encourage everyone to do this as often as they feel necessary. It doesn’t even have to be software projects. It could be anything that you had it in your mind to do but for some reason or other you were unable to see it through to the end. Unless it is something to do with remodeling your house. You had better finish it or pay someone to finish it less your spouse gets mad at you!
posted by Casey at 9:25 pm