The Coding Humanist

Category: Development

Full Stack Day Recap and Things Learned

-- Filed Under: Development, Speaking
Comments: (0)

This last Saturday the North Dallas .NET User Group sponsored “Full Stack Day”, and all-day, hands-on event to learn a full stack for web development, DB (Sql Server), web framework (ASP.NET MVC, C#), Css and Javascript. Many who do web work only know part of the stack, and my contention is that it is very useful to get some level of proficiency in the whole. So all day Saturday I taught and live-coded a to-do list app with about 35 people as an exploration of the full stack, along with some time for hands-on labs.

Read More on "Full Stack Day Recap and Things Learned" >>

A Day At The Visual Studio 2008 Launch Event

-- Filed Under: Development
Comments: (0)

So this last Tuesday I was able to go the local incarnation of the Visual Studio/Windows Server/SQL Server 2008 product launch. It was moderately fun and free. The training in the Dev track was pretty basic, so I didn't learn much except in the session on developing Office Business Applications with Visual Studio. I didn't know anything about that, so I learned some new stuff there. However, I don't ever do that kind of development (and don't really want to), so I'm not sure I'll be able to use much of what I learned. I should have taken a non-developer track. I probably would have learned more.

Read More on "A Day At The Visual Studio 2008 Launch Event" >>

ALT.NET - Some Great Ideas Guys, But Get Over It

-- Filed Under: General, Development
Comments: (0)

I have to agree with Jason on this one. A lot of the ALT.NET stuff I am seeing in the blogs and whatnot just seems foolish to me. There are a number of great tools or ideas in the list, but the approach is just silly. Roy gives a disclaimer of "I don't necessarily agree with the list here" and says he will post his thoughts later, but either way he is fanning the flames of thinking in trends and not thinking of what is actually best. I get this same feeling all the time when I listen to agile people. I usually end up agreeing with most of what they say, but they are so often too filled with zealousy that they have forgotten that you can still complete projects just fine without agile. Though I do think a more agile approach would often work great in development work, it is the attitude that is annoying.

Problem two with this list: who considers all this "hot". The bloggers? They make up a very small percentage of the programmers out there. Most of the programmers I run into are completely oblivious to what is happening in the .NET blogosphere. Even if that list is representative of the .NET blogging community (and I think only partially so), we are still dealing with a small minority of the population.

We are supposedly an industry of intelligent people. We have to be smart to deal with all this programming stuff, right? At least semi-smart? If so, let us pick technologies and practices with our head. Let us be able to look through the popular, the trendy, and whatnot, and apply all this in a much more sane manner. That's what they pay us the big bucks to do.

Code Thought of the Day

-- Filed Under: Development, Books
Comments: (0)

Last week the guest on DotNetRocks was Steve McConnell, author of Code Complete. I had read about 2/3 of the first edition and liked it, so I wanted to get the new edition and read it. My team lead was nice enough to buy it for me and expense it, so I am reading it now. Here's a thought that is often so true. Many businesses Every business I've worked at since my foray into full-time software development could learn from this:

"In many projects, the only documentation available to programmers is the code itself. Requirements specifications and design documents can go out of date, but the source code is always up to date. Consequently, it's imperative that the source code be of the highest possible quality."

Alas, will the world ever learn? Surely some of you have been somewhere that doesn't have this problem :) 

A Few Notes on the Logging Application Block

-- Filed Under: Tech Review, Development, .NET
Comments: (0)

We are switching a project I'm working on from a custom logging solution to the one built into the Enterprise Library, the "Logging Application Block". This is nice, because it means we can get rid of quite a bit of custom code (that's code we no longer have to debug or maintain). The logging application block is very well done as far as I can tell thus far. It makes it very easy to configure logging without having to change code.

Read More on "A Few Notes on the Logging Application Block" >>

One of the best things about getting called for jury duty is that you get lots of time to read. Yesterday, during my wait at the Crowley court building in Dallas, I was able to finish two books. The first was "Lean Software Development" by Mary and Tom Poppendieck. The second was "Getting Things Done" by David Allen.

I've been toying with agile concepts for a while in my mind and in my personal development time. I've thought for a while that there were lots of good ideas there, but have been pretty happy with the ideas of more typical, classical approaches to development as well. This book was definitely the most convincing thing I've ever read on agile development principles. It was often just ruthless in its common sense and logic, and I found many times that as they described a problem with typical software development processes I would go "Yeah, that IS a problem." So many things that some corner of my mind knew but refused to acknowledge, they brought out to light and exposed. I can't think of a software development book that has affected me quite the way this one has. I'm about to start my second read just so I can really get it.

The other book was pretty good. I'm currently trying to put his process in place. I really do have lots of things going on and have a hard time managing them. Not so much because the amount of stuff is insurmountable, but because my organization system just doesn't help me remember to do things on time and well. So, I'm trying what he says. We'll see if it works.

As for jury duty, during the actual jury selection process the prosecution and defence kissed and made up, so we were dismissed right before the jury was to be selected.

The Development Abstraction Layer

-- Filed Under: Development
Comments: (0)
Interesting article by Joel.

I think this article is basically saying the following: 1) every distraction that programmers have that they do not need to have needs to go away, 2) they should be catered to, and 3) everybody else in the organization exists for the purpose of supporting the programmers, either by doing 1 and two above or by being the machine to sell and support what the programmers make.

I love it. Love it, love it, love it. After all, I am a programmer! In some kinds of companies there is some validity here. Let's say you have a company that makes is money on selling software. In this case those things really are true. If you have a company, however, where IT is just a small part, a sort of infrastructure, then not everything there applies.

The unfortunate thing about these ideas, especially number 2, is that it is easy to get the idea that programmers are just a bunch of babies. Some are, of course, but I don't think that is the case usually. This is assuming, of course, that we're talking about good programmers. Bad programmers may or may not be babies, but they should be fired and replaced anyway. Anyway, I digress. I don't think it's lack of maturity or a sense of entitlement, but that there is a programmer culture that is radically different from that found in other groups such as sales, accounting, support, management, etc. ALL of these groups have different cultures, and development's culture is radically different from the others. Take, for example, the idea of giving developers their own offices. This actually makes a great deal of sense for programmers. Distractions are very costly to development. It's just disastrous when a developer gets "in the zone" and is then distracted by some pesky manager about this or that project. Granted, developers have to be distracted sometimes (yes, it is ok to talk to developers), but as a general rule they should not be. When developers are "in the zone" they get a lot more and better work done. That's what you want, right?

And its not that programmers should be catered to and no one else. Every group needs to have their needs met and be satisfied at their job, because you'll get a higher retention rate and satisfaction level, which will greatly affect the effectiveness of your company. And one of the important points that can be drawn from Joel's article is that when any group is cental to the company, it SHOULD be catered to, whether that's sales, support, or development. For ISV's this often, if not always, is development.

Make a truly good development environment and you'd be surprised what you can get out of your programmers.