16
Starting to come together
Well after beginning my rants last week I’ve had a pretty interesting week. It started off with some replies to my blog post and emails I’d sent following it up. I’ll go into one of these in detail soon. I also listened to a .netRocks podcast where they discussed if software development had become to complex. It addressed a lot of the issues I’ve been having lately and made me realize one the, the most important thing and that is to enjoy what you’re doing. I brought my head out of the DDD clouds and decided just to start playing with some of the Alt.Net principals. A current work project highlighted it’s self for this treatment and so with a list of Dimecasts.Net Screen casts and a browser loaded with codebetter.com posts off I went.
Building in the Unit Tests was pretty interesting and proved invaluable in refactoring so me of the initial code I had written. It also highlighted some of my fundamental failings with regards to C# and .Net development in General. The positive I’ve taken from this is just getting to a keyboard and creating a piece of software even if you don’t implement 100% best practices and don’t follow to the letter patterns such as DDD, TDD etc. You’ll have a good time learning and the resulting project will be a great deal better than if you hadn’t tried even if something’s are a big spaghetti it’s all a learning process, use it as such..
I Don’t(as yet) want to publish my results as they are far from finished and I still haven’t got my head round a lot of these principals to the degree where I would feel comfortable writing about them. The basis of the project was a file notification system to alert of incoming and outgoing files. The unit test where simple to introduce once I started refactoring and really getting to grips with things like factory patterns etc. I managed to drop a bit of Linq2xml learning in as well which proved amazingly powerful and has really caught my boss’s eye. I’ve managed to fit IoC into the repository which has allowed us to switch between xml and sql etc. Using the quick start guide on the structureMap site it was all simple enough. Some of the other parts are proving a bit trickier and I’ll need to read up on structureMap for things like Instantiating with constructors etc. The system will now run as a service and only requires a small amount of tweaking to make it production ready. I still need to figure out some way of testing the system fileWatcher aspects but I think that’s going to be complicated with possible mock objects etc??
All in all it’s been a really productive week and I just thought I’d let you all know how it went.
As discussed earlier I’d mailed off to a few prominent developers/Podcasters etc and was pleasantly surprised by the feedback I received, showing just how approachable these guys are. One of the best responses was from Craig Rowe a developer at Web Design Agency HeadScape he supplied me with a number of links that have proved helpful here are some of them
StackOverflow (www.stackoverflow.com) and the stackoverflow podcast (http://itc.conversationsnetwork.org/series/stackoverflow.html)
Hanselminutes (http://www.hanselminutes.com/) – Scott Hanselmans podcast
Codebetter – http://codebetter.com/blogs/
A Foundations of Programming eBook by Karl Seguin – http://codebetter.com/blogs/karlseguin/archive/2008/06/24/foundations-of-programming-ebook.aspx
In reference to Generics you might find Karl Seguins article useful: http://codebetter.com/blogs/karlseguin/archive/2008/11/21/back-to-basics-generics.aspx
Anyways to sum up after feeling a bit lost in the wilderness lately, this last week really has made me feel like I’m starting to get somewhere as a profesional developer.
10
What about us NooBs??
As Someone relatively new to web and software development I’ve thrown myself head long into the world of .Net and now seem to be spinning out of control in acronyms, design patterns and technologies that are constantly moving at a pace Bolt would be proud of.
Going back to the start of where this rant came from. I began my working life as a mechanical engineering working for a well known and rather large power tool manufacturer. I realized after completing my apprenticeship that it wasn’t for me and the declining state of manufacturing was becoming apparent even then. I enrolled on a distance learning course fro web development that taught me the basics and gave me love for web standards. I did a bit of freelancing (as I’m sure most have done) before managing to land myself a junior role in a HR/Payroll firm. I began my career bug fixing JavaScript on a legacy app written as a mash of PHP/HTML/JavaScript. I then bounced about doing a bit of Crystal Reports before being placed on a couple of PHP projects where I started to see the benefits of OOP and reusable code. After this i did a little Delphi and started into the world of windows software development before being placed on a C# project. This was the companies first look into C# and involved a “Rewrite” of one of the current Access 97 systems
To get to grips with C# I did a week’s whirl wind introduction course and bought a number of step by step books and got some Microsoft samples. There where to contractors placed on the project to help us and we fired away without any spec other than the source code for the Access apps. Almost two years on and in some ways I don’t feel much further forward, from the applications perspective at least.
The thing that has recently happened to change this was following the release of asp.net MVC I bought a book called Pro ASP.Net MVC by Steve Sanderson, All though at present I have hardly completed more than a Chapter or two of the book it has been a fantastic insight into another side of development that was lurking below the DemoWare world of Microsoft IDEs and drag and drop controls. TDD, DDD, IoC all of these wonderful things amazed me and introduced me to a professional world of software development I’d never imagined. Our companies only Architect knew nothing of these patterns and practices let alone the software required to produce them and so I set out as an evangelist for these “New” Concepts the problem is the shear vastness has overwhelmed me and caused near paralysis trying to decide which area to look into and concentrate on.
I’ve also subscribed to numerous podcasts in a hope of enlightenment with varying degrees of success but recently I listened to an episode of .Net Rocks in which someone actually described my plight. So many of the bloggers, authors and speakers have been there done that in a development sense that us noobs are getting the short end of the straw with regards to core/foundation topics. I’ve lost count of the amount of times I’ve done a google or Wikipedia search involving the words “Beginners, Tutorials, Guide, Learning” <Insert Acronym here>. Usually with very little success bringing back some 2004 guide from codeproject that involves obsolete versions of software or 404 download pages. The cases that have been fruitful normally involve either a drag and drop tutorial or some simple example that has no real world helpfulness and when trying to expand on it you end up in all sorts of knots before giving up and moving on to some other “Introduction To” tut!
I know this is not always the case and in some instances great knowledge can be taken from some of these guides and tutorials, it’s just hard to find the right ones. Paul Boags boagworld podcasts are amazing for web perspetive news and articles and where what really got me into web development and web standards. The DimeCast.Net screen casts have proved invaluable in my attempts to bring my development knowledge up to scratch and I would recommend them to any budding developer wishing to further there skills.
The whole point of this rant is to hopefully start some discussions as to how new developers can progress if they are working within a company that limits their exposure to best practice and modern working techniques. It would be so easy to say “Get a better job” but in this climate most of us are happy just to have a job or in my case feel loyalty to the company that not only gave me my break but helped me massively when my son was diagnosed with Diabetes and a I spent a week in hospital and the following weeks getting to grips with his new needs. What I would like to do is educate myself then move on to improving the companies practices by showing them what can be done. I am sure there must be many more developers in the same boat and hopefully we can start to look at things that will make us all better.
What I currently plan to do is as I learn something new post about it then hopefully other devs can pipe up with their experience. The more senior could maybe steer us in thr right direction where as the less experience can just join in and crumble about wandering aimlessly through the Acronym sea. As with my development/code I am new to blogging and can only imagine how this rant reads to everybody else hopefully you will relate to my plight and chip in with some constructive words and I can maybe improve and get the hang of it. Otherwise just slate/flame me and the developer community can lose another keen enthusiastic sole who wished to voice their opinions. Thanks to everybody that read this far please feel free to let me know your thoughts.
Digital Infamy
Twitter Updates follower me here
- Just caught @cathallison hoovering the toaster. brilliant lmfao
- Watching secret millionare with a lump in my throat. Need to go to bed but want to see the end. Little girl is amazing carer
- RT @martinfowler: An survey of ThoughtWorker opinion of Version Control tools: http://martinfowler.com/bliki/VcsSurvey.html



