Thursday, July 29, 2010

Your Code Sucks

       A very good friend of mine is in the midst of an avalanche of work. He has a lot of open contracts, and has been abandoned by a fellow developer that was helping him with his workload. So, with three huge clients breathing down his neck he has been working non stop for weeks now. 

       One client contacted him about the iPad application he is building for them, he let him know "I paid another developer to look at your code, he says it really sucks." 

   When he told me this story, I had to chuckle a bit, and think of all the times I had decided that other people's code sucked. When I first started out, and I looked at code that definitely sucked hard, I scrapped it, and started from scratch in a way I knew was way better. As I matured I looked back and realized that what I had destroyed was a well accepted design pattern, and what I created was a mess of a mess pattern.

Lesson learned. 

      After some growth I encountered code that I thought sucked ever so often. At this point I wasn't decimating things all together, I would find specific parts of code that I found intolorable and rewrite it. About 9 times out of 10, when I got more than halfway there I'd run into an issue that made me say "Ooooh, that's why they did it that way" and revert it or use the same "sucky" logic with my syntax. 

     Now that I am a little more seasoned, I can tell you with all confidence that I never look at a solution that someone else created and say "Oh, this code sucks." I know that there really is no quick way to tell if code is good or bad without understanding the entire solution. Sure, sometimes things can look sloppy, or poorly done, or undocumented (in my case, not self documenting), however, you never know what was going through the head of the developer that wrote it. More often than not there is a reason why they have done things this way, and there is no hard and fast way to tell what the context is without being elbow deep in it. 

    So, when I hear that someone has looked at someone else's code base and determined that it sucked I smile and remember what it was like to be so new and sure of myself. So sure that I was an amazing developer, and that I knew what was best in every problematic situation. I miss that swagger, but I appreciate what I have learned, and that is the only person's code that sucks is my own, and the reason why it sucks is I just haven't learned how to make it better yet.



Monday, July 26, 2010

Throw 'Em Up For HTML 5

If you've talked to me about web development for more than 5 minutes you've heard my rant about how "JavaScript is the future." I have an ongoing love affair with JS, it's been around since nearly the beginning of the web, it died a little when we came to know abstractions like Flash and, more recently, Silverlight. However, one thing we've all come to realize is that the cost of those platforms. There is overhead, the need for browser add-ons, the difficulty it gives search engines with indexing content. As a developer, a purely web developer, I can't reconcile asking my users to deal with this flaws. 

Enter: Javascript. When it comes to floating elements, and snazzy page manipulation JS is the answer. Our savior from the downloads, our bail-out from intros and restaurant music (sorry, but there is something to be said about Flash being nearly synonymous with the classical music playing and browser hogging restaurant websites that we've all seen too much of). I, personally, spend a large portion of my time elbow deep in JS and JQuery. That being said, JS can't produce the embedded video issues that....

...HTML 5 CAN! Check it. Not only can you implement the video that flash can, you can much better integrate it into your markup. If you have the passion that I do for the DOM, you can really appreciate the purity that HTML 5 offers you.  

  Why bring this up now? This is semi-old hat for all of us, and a battle we've been fighting for a while. I bring it up for a few reasons, I intend to invest some time in learning some HTML 5 myself (I did it with Flash, and I can't preach the 5 without being able to do some of it myself.) Also, I came in contact with this awesome site tonight. So, I had to contribute, and give my respects to the future of web development. Throw 'em up:


Snapshot
 



Wednesday, July 14, 2010

Girl Develop IT!

In the past few months I've been working with some amazing people about something I'm very passionate about.

Over the past few months I have been working with a rock star team: myself, Tony Bacigalupo and Ana Hevesi of New Work City, and Vanessa Hurst of Developers for Good. We all feel that there is a big need for low cost programming costs for women. We think it is important to create a place where ladies would be comfortable learning concepts, and tools, and mainly "how to code." As I have said before, I think the first step in closing this gender gap is to get women shipping software. So leaving them with something tangible was a priority as well. 

We are all proud to announce, along with our sponsor Girls in Tech: Girl, Develop IT!