Graduation Just Around the Corner

I have really been thinking hard lately about what I want in my future.  I started programming at the age of 5 (go TI-BASIC, woohoo!) and I’ve been doing it ever since.  I had always thought I would just go off and be a normal programmer like everyone else.  I’d have me a little office and I’d just write code all day long and it would be great.  Well, towards the end of my junior year, I started thinking a bit.  I know I’m not the best coder in the world, but I do think I have a bit of a talent for it because I can usually see the solution to most problems quite easily while others may struggle a bit more in the same situation.  I have always been “gifted” I suppose at anything biology related or computer related for some reason.  I think it’s just that I enjoy learning and those two topical areas seem to just click with me in a way nothing else does.  Anyway, the point of this is that I really started thinking about just how much being a “coder” would allow me to use my talents to do good.  Ya know, it’s fun sometimes to just do work and get things done…but what has started bothering me now is just what kind of an impact can I make on the world if I put my mind and skills to work.

To that end, I started thinking about becoming a doctor.  I am really interested in helping people and I think I could contribute a lot that way.  I got serious about going to medical school and looked into all of the financing I would need and figured out just what that career would be like.  The more I thought about it though, the more I realized that still wasn’t the place I need to be.  A doctor is a wonderful occupation, but they generally help people by following procedures someone else develops.  They aren’t on the cutting edge of technology other than the equipment they happen to use.  Even a medical breakthru doesn’t come into use until way down the line (I’m speaking as it relates to the USA in this case) because it has to be approved by the different government agencies etc. before it can be used on actual patients.  A doctor’s life is just too “behind the times” for me I suppose.

And so my quest has now taken me to my current train of thought…an MBA.  I have wanted to own my very own company for quite a while.  I have a ton of ideas that I would like to persue and it seems that I need to own my company for that to happen because everyone else is too inflexible for me to persue what I would like.  I want to stay on the cutting edge of technology no matter what, but I think I want to move to a higher level in the scheme of things.  I know most techies think of management as totally stupid with respect to technology and at the moment, I can say I totally understand that reasoning.  But what I want to do is change all that.  I want to take the technical skills I have and keep them up to date AND manage a process / product / company.  Scary thought huh?  A manager that knows business AND technology.  I don’t know if I will start my company now or if it’ll be some time later in my life, but right now it seems like the MBA is the way to go.  I doubt any company would seriously give me any type of management position when I graduate from college this semester since I’ll have a BS. in Computer Science and nothing on my transcript about business (although I try to learn all about it in my spare time and by taking on small consulting jobs on the side during school).  With an MBA, I would hope I would have more of a chance of getting a position where I would have enough leadership leeway to actually make a difference.  I know a job like this isn’t quite comparable to a doctor’s job of saving lives, but I think I can best use my talents to help make people’s lives better in some little way by being there pushing along the cutting edge of technology. 

This is basically the reason I’m so much in love with C# and Microsoft development in general.  You can get so much done with it and the possibilities endless with respect to what it can do and the future of MS technologies looks even brighter.  If I didn’t believe in this technology I wouldn’t be on this website and I especially wouldn’t be leading a hub on it.  Anyway, I just wanted to throw that little blurb in there so anyone reading this would know I’m serious about trying to make the C# hub one of the best places on the net to learn about C# and what it can do.

Thank you to those of you who have read through all of this.  If any of you are in a situation along the same lines, I’d love to hear what you are planning on doing or what you did do.  Or any suggestions etc. are totally welcome as well.  And sorry if this is a bit “rambling”…it’s after midnight and I couldn’t sleep so I thought I better just post what I was thinking about so I can finally get it out of my head for a bit.

Web Application Design Patterns?

I’ve been working on a very complex ASP.NET web application for about the past 3 months.  It’s only complex because of the interaction between the users and the system and the amount of data that interaction involved.  What it seems like each page is boiling down to is something like this:

  1. Data Access Layer to handler fetching the data and keeping the data in sync with the “real” database
  2. Business Logic Components which are used in this case to provide something very similar to a strongly typed dataset (which basically allows you do use intellisense to access database fields plus a couple of other benefits)
  3. User Controls representing the underlying business component (basically at least one web user control for each business object we have)
  4. Presentation Layer which is just the ASPX web form that is basically nothing but a container for each page with a little bit of the controller logic in it

What I keep seeing, is that there has to be a better way to generate the user controls that represent the business components.  My business partner and I spent about a week writing the business logic components and then we needed to make a change so I sat down and figured out how we were designing them and then I wrote a program in an hour that generates all of our classes in approx. 30 seconds…  What I’m really wondering is if it is possible to do this for the user controls as well, because it seems like we always need to see the following views on the business components:

  1. Summary View (just a short one line type deal that can be used in a dataList when you need to list out a group of items)
  2. Detail View (shows all of the data contained in the business component)  This one also has to optionally be editable for the admins so they can change any details they see
  3. Some view that allows for adding & deleting the business component

It seems like we would be able to finally get done with this site if we could figure out a good way to do this and it seems there is a pattern there that I would imagine other people have ran into… I was just curious is anyone has had this problem before or if anyone had seen a design pattern that addresses this issue (MVC pattern doesn’t really help with this part of the problem).  Sorry if that’s too vague to get across my point.  I didn’t want to get into too many details of the project unless it was needed because it’s something I don’t want to think too much about at this particular moment. 🙂

Microsoft’s XNA Game Development Platform

Looks like MS has figured out how to boost it’s XBox (probably more like XBox 2 sales) even more.  They are building a new development “platform” called XNA that supposedly makes it really easy to develop a game that runs on any MS platform (PC, XBOX, PocketPC maybe?).  Anyway, very little details, but it sounds interesting…now if only they wouldn’t require lots of fees and let end users play with it…

http://www.gamespot.com/news/2004/03/24/news_6092082.html