Well, wasn’t yesterday an interesting day! Had a conversation with a friend about what it is I actually do. They didn’t feel that I was selling myself effectively enough via this blog, though thankfully this blog was never about that – it (I hope) shows that I’m keen to learn, keen to do more, and never content with knowing ‘enough’. They asked in particular for me to clarify what work I had done whilst working on suite-e, and looking back over our work schedules, project documents, and just generally over the functionality in there, it turned out to be quite a list:
- User Controls / Custom Server Controls
- Using .net forms and role-based security with the membership and role providers
- Use of Enterprise Library application blocks for Data Access, Exception Management and Logging
- Extention methods
- Significant Ajax use (both ASP.NET Ajax and Telerik Ajax wrappers)
- Linq (minor)
- Facade design pattern (5 tier solution, UI -> Business Facade -> Business -> Dal Facade -> Dal)
- Significant use of inheritance throughout the data and UI layers
- Interface use (minor, where necessary)
- Custom/3rd Party Controls (Telerik)
- Hand rolled URL routing for friendly URLs (sitting atop urlrewriting.net)
- Use of Themes, Masterpages, including browsercaps useage to allow CSS targetting more effectively for cross browser
- jQuery use (my input minor)
- CSS
- Xhtml
- > 80 table relational data model, significantly more stored procs, cursors, temp tables
- Web services to authenticate licensing of the product
- Windows services to manage email send from the CRM module
- Significant and ongoing refactoring, including fxcop use when readying the solution for microsoft testing
- Upgrade from .net 1.1 through 2.0, and then incorporating 3.5 elements when applicable
Suite-e as a product has obviously had more than one developer work on it, though it felt good whilst writing this up to realise how far I’d come and what technologies I’d learned and put into practice during the implementation. I essentially architected the vast majority of the product, both code and SQL schema from its early days through to the modular CMS, Product Catalogue, E-commerce, CRM and Events management solution that it is today, with over 170 files and 51k lines of code across 6 projects, over 80 tables, significantly more stored procedures… the list goes on :)
It’s incredibly understandable that a blog would give people a perception of who you are, indeed it’s a very personal blog, so it certainly should, though I hope this blog also gives folks a perception of the sort of developer I am, that will keep ploughing on and learning as much as I am able, because that is what is ‘fun’ to me.