Friday, July 4, 2008

Back from where-ever I've been

Not that I've totally forgotten about updating this blog, but it wasn't until I started getting some people posting questions on here did I realize that, hey, someone is actually reading it! I'm going to try to get back into updating it more regularly, though it is difficult to find time to do it when I am at work, and that's when most of my technical tips, tricks, techniques, etc. come to me.

Anyway, since I last updated this site, a lot has changed. I spent pretty much the whole month of May, and most of June, heads down in developing my first major e-commerce web site. I worked with two other developers and a QA, and we started out really far behind the eight-ball due to a number of staffing issues early in the project. I was brought in to 'pound code', which isn't my normal role in projects, but it is something I do enjoy immensely.

When I say we were pounding code, I really mean it. It's been at least eight years since I've been heads down, fully dedicated to doing nothing but coding. We built 80 screens to administer the site, and the front end was over 40. We assembly-lined the project, where I did the admin site and part of the data access layer, one developer focused on CSS and doing the grunt data access layer (99.9999% in LINQtoSQL), and one developer building the security, transaction auditing and credit card processing and the front end screens. Our QA tracked the issues and gave us feedback on every screen as it was completed (and sometimes before we completed it, to our chagrin), and we really made efficient use of time and resources. I didn't think we'd get it all done in time, but we really did, and met all of our customer's expectations, and blew them away with the site over all. Not bad for my first time. Luckily, we did have experience in the office on some of the tricks of the trade (cc processing and auditing), so we didn't have to work that all up from scratch, but still, we're pretty proud of what we got done.

These days, I'm starting to dig into a Windows Forms application which was built 4 years ago in C# using the Microsoft Application Blocks 1.0. We migrated it up to .NET 2.0 earlier this year, and now have some major enhancements to do to it. A lot of the code is auto generated from an XML file which documents the data objects, and while I can see that it kicks out a lot of code in a hurry, it also seems to saddle the application with a lot of code which may never be used. It does everything from creating the database objects and stored procedures to spinning up the Controllers and data objects. There's a lot of cookie cutter code left after that to do, and it makes it fairly easy to build, but it is missing some things, like database side referential integrity and really good error handling.

I've also touched on some Sharepoint development. Sharepoint's a product which is not ready for prime time when it comes to the development environment. It really feels kludged together and is very temperamental. The most often seen comment on Sharepoint support blogs when discussing some weird Sharepoint behavior is 'Welcome to Sharepoint Development'. That's a really bad sign. I was really disappointed because I'd heard such good things about it. Hopefully Sharepoint 2008 improves the situation.

My current reading is Pro WF: Windows Workflow in .NET 3.5 by Bruce Bukovics. I'm only in Chapter 3 right now, and while the content makes sense, I haven't yet figured out how to apply this to the real world. I need to make a leap in my brain, and right now, I'm only getting little hops. I was expecting something that really blew me away. So far, not so much. "Visual If Statements". Whoop-Tee-Doo. I'm sure in 5 Chapters, I'll know it' much more than that, but that's why I read the book. To learn.

The book I'm most looking forward to reading is Microsoft® .NET: Architecting Applications for the Enterprise. Hopefully this helps me to put it all together so I can see the big picture better.

No comments: