2009 Goals Update and Challenges For 2010

Filed Under (Uncategorized) by John Miller on 03-01-2010

Tagged Under : ,

Like many others are doing, it’s time to reflect on 2009 and set the bar for the new year!

Last Year

Last year started strong, but work took over a lot of my free time during the second half of the year. I knew some of the goals were gonna be more than I could handle but wanted to keep the bar high!
Technical Goals
Read the following books:
Read 1 out of 6….pitiful. To be fair, I did do a good amount of technical reading this year, just not these specific books.

Become proficient with the following tools & technologies:

  • ASP.Net MVCNo progress, this will certainly be on the 2010 goal list.
  • NHibernateFinished!
  • The Castle StackFinished (not familiar with the entire stack, only the parts I was interested in)!
  • Team CityFinished!
  • Ruby (the basics at a minimum)Finished!
  • PowershellNo progress here.

Get involved:

  • Two blog posts per month – Was surprised at how hard it was to keep up with this. Did awesome the first 2/3 of the year but pretty much stopped blogging in September. Hoping to change that this year.
  • Two technical presentations for coworkers to push agile methodologies at my current company. – Our company has gone through some changes and I don’t see after hours presentations like this happening in the near future, so I’m gonna scratch this one for now.

Certifications:

  • Upgrade MCPD certification from 2.0 to 3.5 – No progress here.

Personal Goals
Family Time

  • Take 2 one week long trips – Considering this one met.
  • Take 6 weekend getaways – Took a couple weekend trips, but didn’t do all 6.
  • By the end of the year, work from home regularly two times per week – This is a tough one with my current job, the ability to do this is completely dependant on the project\client and hasn’t been an option lately.

Belief System

  • Read the Bible completely through – Finished with a day to spare!

Financial

  • Reduce debt by two-thirds – Made it within a few hundred dollars of our goal!
  • Become familiar with some of the ins and outs of day trading, as well as how currency trading works – Started learning and lost interest, don’t think day trading is for me :).

Side Projects

  • Finish the project I’ve been working on for the last year! – Finished!
  • Start a new venture and grow it to produce $500 per month of automated income by the end of the year. – Josh and I are in the middle of a project that we hoped to have finished by CodeMash (although we have a lot of work to do this week if we’re going to hit that goal. Will more than likely launch end of Feb or early March.

2010 Challenges

Technical Goals

  • Read 6 technical books - Taking a different approach this year. Instead selecting 6 books at the start of the year, I’m going to pick as I go.
  • Learn ASP.Net MVC - No excuses this year!
  • Become more fluent with Ruby\Rails\RSpec\etc. - Last year I started picking up Ruby but never really hit the point where I was more than just hacking away at things. This year I want to learn to do things the *right* way.
  • Learn Ninject - This one has been on my radar for a long time, just haven’t taken the time to pick up and go with it.
  • One blog article per month - I know, you’re not supposed to lower the bar year-to-year, but I want to keep more of my free time open for other things this year.
  • Upgrade MCPD certification from 2.0 to 3.5 – …and then 4.0
  • Two technical presentations for coworkers to push agile methodologies at my current company.

Personal Goals

  • Launch two side projects - Stole this goal from Josh. We’re hoping to launch both EventCasts and a new project by the end of the year.
  • Read 6 non-technical books
  • Become debt-free (not counting mortgage & car loans)

While this isn’t everything I want to accomplish this year, I decided to keep it much shorter than last year. We’ve got a lot of (good) things happening at the moment and don’t want to burn myself out by adding too many things to the list!

Share/Save/Bookmark

We Don’t Need Another Hero

Filed Under (Uncategorized) by John Miller on 28-07-2009

Tagged Under :

I just began reading Brownfield Application Development in .Net and came across a statement that I found very interesting.

"We Don’t Need Another Hero"

The book does an awesome job describing something called the "Hero Programmer Syndrome". This is defined as someone who will do whatever it takes to meet ridiculous deadlines. They may come in early, stay late, trade family time for work time, etc. They are usually the only person on the team with working knowledge of how the many parts of an system work together. They make sure stuff gets done. And when they produce super-human results, they (not the team) are rewarded by management.

A team will actually run more efficiently if the responsibilities (and resulting glories) are spread out across the entire team. This creates a feeling of collective-ownership which empowers all team members to take pride in the application being developed as well as get them to learn about the entire application stack instead of just focusing on their own little piece of the pie. It also makes adapting to change much easier if management can depend on any member of the team to get a task done instead of just the "hero developer".

I’m only in the first chapter, but so far this book has been a great read!

DotNetKicks Image

Share/Save/Bookmark

Challenge Yourself This Year: July Goals Progress

Filed Under (Uncategorized) by John Miller on 02-07-2009

Tagged Under : ,

Earlier in the year I made a list of goals I wanted to accomplish this year and decided to publish my progress periodically here…to produce some sort of accountability. And as usual, seeing Darrell’s update made me realize that it’s been way to long since my last update!

Technical Goals

Read the following books:

Become proficient with the following tools & technologies:

  • ASP.Net MVCNo progress, hopefully in the next few months…
  • NHibernateFinished! Used NHibernate in my first project a couple of months ago and was blown away by it’s awesomeness!
  • The Castle StackFinished! Used Windsor on a recent project and explored ActiveRecord. Believe this is as far as I want to go with Castle this year.
  • Team CityFinished! Set up Team City for several projects in the last few months.
  • Ruby (the basics at a minimum)Finished (but still learning)! My goal was to just learn the basics, actually taking that a step further and am working on an actual Rails project with a Josh.
  • PowershellNo progress here.

Get involved:

  • Two blog posts per month – I more or less went silent in the last two months and hope to kick myself back into gear over the weekend. Started a series of posts comparing design pattern implementations in Ruby and C#, but only finished the first one (Template pattern). Will be continuing this series very soon. I promise.
  • Two technical presentations for coworkers to push agile methodologies at my current company. – Our company has gone through some changes and I don’t see after hours presentations like this happening in the near future, so I’m gonna scratch this one for now.

Certifications:

  • Upgrade MCPD certification from 2.0 to 3.5 – No progress here.

Personal Goals

Family Time

  • Take 2 one week long trips – We took a trip to Disney World last month (which was a blast!) and are hoping to take another long vacation in the next few months.
  • Take 6 weekend getaways – Way behind on this one, believe we’ve taken one so far this year.
  • By the end of the year, work from home regularly two times per week – This is a tough one with my current job, the ability to do this is completely dependant on the project\client and hasn’t been an option lately.

Belief System

  • Read the Bible completely through – I just finished II Kings so my guess is that put’s me at around 30% complete…and 50% of the year is gone already.

Financial

  • Reduce debt by two-thirds – Surprisingly still on track here, it’s forced us to live paycheck to paycheck but it feels good to see substantial progress being made!
  • Become familiar with some of the ins and outs of day trading, as well as how currency trading works – No longer as interested in stocks at the moment, mostly because almost all of our spare money is going to debt reduction. May pick interest up again next year.

Side Projects

  • Finish the project I’ve been working on for the last year! – Almost done, hope to launch this month!!
  • Start a new venture and grow it to produce $500 per month of automated income by the end of the year. – Still working on a project with Josh, may not turn a profit this year but we’ll see.

Looks like I’m really falling behind in my reading (although I’ve been reading things here and there, they just haven’t been books on my list). Planning to change that in the second half of the year.

DotNetKicks Image

Share/Save/Bookmark

Re: An Anemic Community

Filed Under (.Net) by John Miller on 15-06-2009

Tagged Under : ,

Kevin wrote an interesting post in which he expressed his concern for the anemic state of the .Net developer community when compared to that of other communities. I started jotting down a response and saw I was getting carried away so I thought I’d post my thoughts here instead.

I heard a comment a couple months ago that went something like “If you wanna see what cool new features Microsoft will introduce in the next 2-3 years, look at what’s happening in open source today”. This was said half-jokingly but it bears a certain amount of truth to it. NHibernate is a couple of releases ahead of Entity Framework, NUnit is steps beyond MSTest, etc. (Although if ASP.Net MVC is any indication of the future, I think it’s turning in the right direction.)

But it doesn’t sound like Kevin’s beef is really with Microsoft, instead he’s questioning the maturity of the .Net developer community when compared to that of other communities. That’s fair, I would agree that the .Net community is a step behind others. I think this comes down to fundamentals. .Net devs are commonly directed to tools and black-box frameworks to cut their teeth on while many other communities seem to favor learning the basics first. (Obviously this isn’t a blanket statement, there are a plenty of awesome .Net developers that hold good practices near and dear to their heart). There are so many frameworks available in the .Net community that abstract out “the hard stuff” that it’s easy to get by with just focusing on tools alone. And this mindset is reinforced by a job market that puts substantially more weight in tools than it does good software design…which is why it seems that 90% of the job posting in our area are looking for Sharepoint experience and zero have TDD as a prerequisite (although that may be just the Cleveland region, not exactly a hotbed for agile tech). And to be honest, I can’t fault a fella for focusing on tooling when it’s pulling in lucrative work. But our result then is a community of devs so focused on learning how to steer a black-box to fit their needs, that they never take the time to properly learn the basics. And without that solid foundation, it’s extremely difficult to write software that’s clean and maintainable. Ian does a great job in talking about this is a recent post.

For us to see a dramatic uptick in the quality of the software outputted by the community, we need to start by accepting that we don’t need to learn every new tool that comes out of Redmond and instead focus that energy on building our own developer muscles first. (Don’t get me wrong, the tools we use are always going to be an important segment of our arsenal but having a better understanding of the pieces that make up that tool will make it easier for you to learn how to use it effectively as well make you a better judge on whether or not it’s the right fit for the job.)

All that said, I think the community has actually grown quite a bit especially in the last year or so. Much of this is thanks to groups like Alt.Net that have spent a lot of energy to introduce others to these principles. But we all have to do our own part to keep the momentum going. Something as small as blogging every now and then, or mentoring a coworker, or starting a book club can make a profound impact.

DotNetKicks Image

Share/Save/Bookmark

Challenge Yourself This Year: March Goals Progress

Filed Under (Uncategorized) by John Miller on 02-03-2009

Tagged Under : ,

I just saw that Darrell posted his goals progress for the year which reminded me that I promised to do the same. (Thanks for the reminder, Darrell).

But before I go over my status, I want to share a quote I heard on twitter today.

continuous improvement is a personal thing, if you are “continuously” comparing yourself to others, you will “continually” be disappointed…just be better than “yourself” yesterday

That quote came from JP Boodhoo, and sums up perfectly something I personally struggled with in the past. If your drive to learn exists only because you’re trying to keep up with the Jones’, then learning will become a chore instead of something that you get enjoyment from. Life’s too short, make it fun!

Technical Goals

Read the following books:

Become proficient with the following tools & technologies:

  • ASP.Net MVCNo progress made here. Guessing that this one will have to wait til the second half of the year.
  • NHibernateIn progress. Just started a project with NHibernate, although I’m admittedly not use Fluent NHibernate on Linq to NHibernate and I probably should be. Kinda wanted to do my first NHibernate project the “hard way” so I’d have a good understanding of what makes those other tools work.
  • The Castle StackToyed around with ActiveRecord and could see it being used on a smaller project, but given the choice between it and NHibernate, I would rather work with NHibernate. I’m using basic features of Windsor in my current work project, but future projects will probably be using Ninject (gotta support our fellow Ohio developers!). With ASP.Net MVC and FubuMVC out (or almost out), I don’t believe that I’ll be using Monorail in the future, so I’m marking this goal as complete since I probably won’t need to work with these frameworks any more this year.
  • Team CityUsing Team City currently and am very impressed with how easy it was to set up. And the interface is simply awesome, would expect nothing else from the makers of Resharper!
  • Ruby (the basics at a minimum) – In progress. Just starting to get into Ruby and have been very impressed with it thus far. Especially the testing capabilities. RSpec feels much more natural when writing BDD style tests than with the frameworks we have available in .Net. Planning to really sink my teeth into the language over the next couple of weeks.
  • PowershellNo progress here yet.

Get involved:

  • Two blog posts per month – Two per month so far. No less, no more. Surprised at how hard it is to keep up with this. I have a whole new respect for those developers that manage to write 2+ per week!
  • Two technical presentations for coworkers to push agile methodologies at my current company. – After this project, I’m planning on doing a TDD talk with my coworkers. So the first should be coming in the next couple of months.

Certifications:

  • Upgrade MCPD certification from 2.0 to 3.5 – No progress here.

Personal Goals

Family Time

  • Take 2 one week long trips – First trip is scheduled, wife and I are going with her parents to Disney in May.
  • Take 6 weekend getaways – Took a weekend trip to West Virginia in January. Didn’t do much of anything exciting, just relaxed. Which was exactly what we both needed!
  • By the end of the year, work from home regularly two times per week – Only a couple of months in and I’m not seeing me hitting this goal at my current workplace. I work for a consulting company and a lot of our engagements are on site. Maybe some opportunities will open up towards the end of the year.

Belief System

  • Read the Bible completely through – A little behind here but not too bad. Just started Numbers so hitting the end-of-year goal is still certainly doable.

Financial

  • Reduce debt by two-thirds – On track here thus far.
  • Become familiar with some of the ins and outs of day trading, as well as how currency trading works – Learned that it takes nerves off steel to do day trading. Not to mention a lot of time to research trends. I think short term trading is a bit more my style instead of day trading.

Side Projects

  • Finish the project I’ve been working on for the last year! – Sadly no progress here.
  • Start a new venture and grow it to produce $500 per month of automated income by the end of the year. – A buddy and I are starting a new side project (in Ruby on Rails, attempting to kill two birds with one stone) and although we both realize that we probably won’t make any money on it this year, we’re excited to be working towards something. Succeed or fail, we want to give it a shot!
DotNetKicks Image

Share/Save/Bookmark

Challenge Yourself This Year

Filed Under (Uncategorized) by John Miller on 28-12-2008

Tagged Under : ,

January 1st. Usually around this time of year I create a list of pie-in-the-sky resolutions for the new year, although they are almost always forgotten by Valentines Day. Like most people, I start out uber motivated with full intentions of keeping that pace throughout the year. But that eagerness fizzles out as the weeks go by. I think this happens for a couple of reasons. For starters, my goals are usually over zealous and unrealistic. Setting the bar high is important (very important) but goals need to be reasonable and attainable. For really large, long term goals, it helps to break them down into smaller easier to swallow milestones. The feeling on accomplishment after hitting a milestone will help keep the interest alive as you move towards the final, larger goal.

The second cause of demise in new year’s resolutions stems from a lack of accountability. It’s way too easy to put them off if you are the only one who knows what your goals are. So this year I decided to post my list of goals on this blog and will be submitting updates every two months to show my progress.

I would like to challenge anyone reading this to do the same in the new year. Set high, but attainable goals for yourself over the next 12 months. And don’t keep them to yourself! Advertise them. Whether that means listing them on a blog, hanging them up at work, or just sharing them with your significant other. Measure the progress at regular intervals and make adjustments if you’re not happy with where you’re at.

Technical Goals

Read the following books:

Become proficient with the following tools & technologies:

Get involved:

  • Two blog posts per month
  • Two technical presentations for coworkers to push agile methodologies at my current company.

Certifications:

  • Upgrade MCPD certification from 2.0 to 3.5

Personal Goals

Family Time

  • Take 2 one week long trips
  • Take 6 weekend getaways
  • By the end of the year, work from home regularly two times per week

Belief System

  • Read the Bible completely through

Financial

  • Reduce debt by two-thirds
  • Become familiar with some of the ins and outs of day trading, as well as how currency trading works

Side Projects

  • Finish the project I’ve been working on for the last year!
  • Start a new venture and grow it to produce $500 per month of automated income by the end of the year.

Would love to hear about goals that you’re pushing yourself towards this year!!

DotNetKicks Image

Share/Save/Bookmark

Nothin’ But .Net – Experience of a Lifetime

Filed Under (Events) by John Miller on 26-11-2008

Tagged Under : , ,

Last week, I had the opportunity to attend one of Jean-Paul Boodhoo’s infamous .Net Bootcamps. And it, by far, exceeded it’s reputation as one of the most intense (and rewarding) .Net courses available. We started each day at 9:00 AM and the earliest we got out on any night was 11:00. In fact on Thurs. evening, I didn’t make it to sleep until 3:30 the next morning (and I was one of the slackers who went to bed *early*).

JP compacted what felt like 6 months of learning into one week, demystifying some topics that I’ve struggled with in the past (everything from lambdas to the intricacies of fluent interfaces). The week was spent creating a storefront from the ground up using no 3rd party frameworks. This meant creating our own front controller, dependency injection container, ORM, etc.  And that was all in just four days. The first day was spent going over the prep material (yes, we had homework to be done before the class) & and an in depth review of fluent interfaces.

Beyond the intense curriculum, I think we all took away a lot of good life advice as well. Those of you that follow his blog know that JP has a very unique and refreshing outlook on life. Kinda Tony Robbins meets Scott Hanselman. One of my favorite quotes was “Keeping up with the Joneses is a defeating task”. He stressed that we need to set goals for ourselves that are independent of what everyone else is doing. Focus on the technologies\ideas that we’re passionate about and ignore the rest. He also pushed the idea of “trimming the fat” to reduce the distractions that slow us down. Context switching (multi-tasking) affects focus and can keep you from doing your best work. For me, his productivity and motivational tips were just as valuable as the technical knowledge.

It was also a huge privilege to work with some of the other students in the class. Definitely a humbling experience to be working not only with JP, but some of the sharpest developers of our time. We spent most of the last two days pair programming, which was a first for me. And I was surprised at how much better our code base was because of it.

While we were split into small groups, JP would regularly give us partially finished segments of code and we would have a race to the death to see which group could check in a working solution the fastest. Once someone checked their solution in, JP would politely smile and praise the group on their success. Then, in classic JP fashion, he would begin to show us how he would have solved the problem by refactoring the submitted code. By the time he was done, the code was more elegant, easier to read, and usually looked nothing like what was submitted. Humility was a concept we all grew to know very well.

One of the many surprises of the trip was the awesome food. While he pushed us harder than what most state laws will allow, he also treated us like royalty. We ate at a couple of the swankiest restaurants in Philadelphia. Nothin’ but .Net…and lobster ravioli, stuffed mushrooms, and pumpkin cheesecake. Much of the credit has to go to Brian Donahue for making some phenomenal dining selections!

This was by far the best money I’ve ever invested in my career and would STRONGLY recommend it to anyone looking to take their skill set to the next level. In fact, I’m planning on taking the course again next year. He goes through so much that, while you definitely leave with a MUCH better understanding of proper software design than when you arrive, it’s impossible to grasp it all in one week.

I would recommend that anyone interested in the course check out his blog and read some of his past posts (the ones under the “Inspiration” category are personal favorites).

And if you’d like to read some more reviews, check out:

Looking forward to the next one!!

Reblog this post [with Zemanta]

Share/Save/Bookmark