Every attendee at the Redmond ALT.NET Event left inspired and with tons of knowledge and new perspectives on old idea’s. Chances are most people will forget about many of the things they talked about or learned over the weekend. To avoid this, I’ve decided to in some way apply the knowledge or at least attempt the most interesting topics (to me) over the next few weeks. Knowledge by nature is transient, it’s true. We all passed highschool chemistry but can anyone remember how to balance a chemistry equation?
Mo Khan summarized it best.. I will try my best to paraphrase: “Experience is the best way to maintain knowledge”. To me, this means that using or applying something makes it much easier to remember that thing than crude memorization. To that end, he also encouraged keeping a list of things that are most interesting to me as a developer. I invite you to do the same. After creating the list, the next step is actually applying the knowledge in some small way until you can say the understanding is intrinsic and not forced.
Here is my List from Alt.Net & an informal contract on how I intend to apply it in the real world.
1. Architecture
I was lucky enough to become re-aquainted with my passion for architecture… It’s so easy to get caught up in tools and API’s and books and whatnot. The catalyst for me was hearing Greg Young say “Go back and read the old books” they are the cornerstone’s of what we will use in the future. Also hearing John Kordybacks elegant thoughts on architecture as we discussed NextGen Software Architecture was especially inspiring as was Dru Sellers energetic description of his approach to using Events to drive his domain design. The moment I decided to re-dedicate myself to arhictecture came when I realized I was completely fascinated by the fishbowl style discussion between Udi Dahan, Martin Fowler, Greg Young, James Kovacs and Dru Sellers on messaging Saga’s in a distributed domain!!! (much more on this to come believe me I am still wrapping my head around this!
To apply this in the real world, I think I will gear my career more towards Architecture. This includes reading, conferences, associations and mentors.
2. Behaviour Driven Development
I thank my dumb-luck again for getting a seat in a particularly interesting session by Scott Bellware. He discussed Dan North’s approach to BDD and how he has found his own niche and approach. There is some controversy as to Dan’s approach and Scott’s but I’m still going to spend time on each to better understand how it can help the entire lifecycle of a project.
I will apply this as I gain more knowledge in this area. Others n the session were well aware of the subtle differences between Dan North’s approach and Scott’s. So first step here (for me) is Education.
3. Basic Principles
Something that struck me while I was in Jeremy Miller’s session was his conviction about the need for basic understanding of the fundamentals. Everything from Seperation of concerns to understanding the .NET Framework. Again, I was struck at how lucky I was not only to get that message but to be doubly bleessed to have won a book by Brad Abrams. I could actually start applying this right away! Jeremy also shared his experiences about what lead him back to a more pragmatic approach. He encouraged all of us to keep these rules alive so that a framework can remain flexible over the years. Excellent advice. During the class Tom Opgenorth replied a question when someone said “Well, hhow do we remember all these patterns out there, I know them all but sometimes can’t figure out where to apply”. Tom’s answered succinctly by re-stating Jeremy’s idea that learningthe fundamentals thoroughly will help guide you to a place wher you’re comfortable. Nobody wants to be forcing patterns where they don’t fit just of it, someone (I think Jeremy) directed the person to the classic “The Pragmatic Programmer”. It may be hard to believe but I do not own the book! I always thought it too basic! I wanted to jump in and start coding away.. Now I’ve come far enough that the best advice (more than once over the weekend) was to have a solid understanding of the basics of good coding.
I will apply this by not forcing patterns or principles or moethodologies where they do not belong. I will also try to stick to a simple approach that is flexible. I will seek more knwoledge in applyign Agile methodologies and be more Pragmatic in future. This includes reading and re-reading in some cases older books I have not touched in a while.
4. Better Understanding of the .NET 3.5 Framework & Other Programming Languages & Key Tools
With so much happening in the .NET world, it is easy to overlook how important correct application is. I know about a lot of topics but perhaps not in-depth enough to differentiate their subtleties. I am not however going to “cram”, I will investigate as needed and apply based on proper investigation. I want to know abotu performance concerns, restrictions, gains and of course architecture concerns when choosing to use the different features in .NET. Aside from .NET I have to admit I don’t really worry too much about other languages, I may attempt to put some time aside to try one or two small projects on a different platform. .NET is my bread and butter though so it won’tbe much but just enough to know what flavour tastes like in Ruby and so on. Being in Alt.Net I found a lot of senior developers are well aware of many Tools, Frameworks and Languages ( including DSL’s).
To apply this I will try at least one new Framework, Tool and/or Language every other month. I will also try to investigate the different .NET language features API’s in 3.5 and future versions so that I maintain a resonably solid understanding of the Framework. (Again the book I won will help a ton)
5. Soft Skills & Community Participation
Being in a 3 day conference with a lot of geeks helped me understand what everyone has been saying but I never believed. Developers and Techies in general are wanting in soft skills (people skills in particular). I found Joh Kordyback, Scott Hanselman, Mo Khan, Dru Sellers, Jeff Brown & Greg Young to be the most outgoing and friendly people I met. Long term, I want to emulate their approach to dealing with people in the future. In addition to this, I found that the lack of diversity in IT is at least on some people’s minds. While I didn’t attend Scott’s “What’s with all the white guys” session I discussed it later with Scott, Martin Fowler and David Woods and I left that day understanding that by not goigg to the session or participating in the community I may be being a bit selfish. While I don’t expect to become a speaker or Grand Puba in the development world, I do want to show my face more if for nothing more than to proove the fact that it’s not just a bunch of white guys or guys! I also found that none of the other ladies at the conference were especially friendly (neither was I to be honest, I was too busy listening to great conversations ) in future I think I will be more outgoing even when not encouraged by a friendly face. I will also continue to remain visible in the community so at least these white boys know what’s up!
To apply this goal I will attend at least one conference a year ( sounds paltry but work with me here ). I will continue to attend our local .NET User Group meetings and Code Camps in the province. I will blog more and not be shy about stating my ethnicity or culture or beliefs. As time goes by, I hope my work and skillz will speak for themselves and help tear down any barriers my race or gender may present to closed-minded people. I’m by no means perfect or alone in this struggle but I’m here to do my piece and confront stereotypes whenever I can.
Wow what a long list. I will do my best with all this. Overall I came away from the Alt.NET conference feeling energized, focused and inspired. I will be going through a lot of growth techincally and I hope to document it in this blog, beginning from this blog-entry!
















1 Comment Already
Related Post
Please Leave Your Comments Below