Hi, I'm Kerrigan, the newest apprentice at Antelle.
Today marks my thirtieth day with the company, and my first month started me off running. Whilst I'm not particularly new to programming or website design, I am new to the microsoft stack and I spent the first two weeks knee deep in Pluralsight courses.
It didn't take me too long to ask for a task to complete and so I was given one. The task in question was to provide a word search generator written in C# using the MVC framework.
Now, previously being a PHP programmer, MVC wasn't a new concept to me. It's a pattern I'm familiar with, and one I've had experience with. However, the C# approach was vastly different to anything I've seen before with so many IDE shortcuts that it took a while to get used too. In an early attempt instead of passing a view in my controller, I attempted to redirect to an action and carry the model along through a get request accidentally and spent two days trying to figure out why the model wasn't serialising. Not my brightest moment.
That being said, within a couple of weeks I submitted it for my first code review and besides my consistently incorrect conventions there were very few things that needed discussing. Mostly just proper use of private, public and internal access modifiers as well as a major logic loop I'd set up as a for loop with moments where the loop iterator would decrement itself in order to take a step back. I was advised to alter the loop to use a while instead which was something past experience in other languages I'd been advised to avoid. The changes were made and the program still functions as expected. I tidied up some classes, cleaned up some functions and rewrote method comments using the C# guidelines.
There's still plenty of adaptation to go yet, how and when to use delegates for example, or even just memorising all the IDE shortcuts in visual studio. It's not that I've never used an IDE before though, I've used intelligent text-editors with intellisense and CTags as well as auto-complete and snippets along with package managers, but none of them have been able to do as much as VS can at compile time to improve programming efficiency.
To me it seems that the .NET package is less about traditional programming and more about following the conventions. Which, whilst well documented, are difficult to get used too when you've been a programmer in the past writing your own PHP frameworks because the existing ones don't work, are too bulky or are missing a feature you deem vital.
To support my opinion I've been introduced to Umbraco. The go to .NET CMS, which unlike Wordpress offers far more in customisability when it comes to what kind of content you can produce and despite all the options available to you, it offers one of the largest groups of users who all seem to be able to integrate with each other because of the conventions that have been developed.
So that's my experience so far at Antelle, despite being a programmer prior to starting my apprenticeship I believe that there's always more that can be learned and the best way to learn is by doing. Looking forward to my first exam on JS, HTML and CSS too, as those are topics that I feel I'm more than capable of but have never been certified in.
I guess this it for my first blog entry, no doubt there'll be more in future.