DDDScotland Restrospective

Developer Day Scotland (@DDDScot) was on Saturday 10th Feb 2018 and was fabulously organised by @crgrieve, @AndrewdeRozario and @ChristosMatskas at a great venue Paisley University in Paisley @UniWestScotland near Glasgow. The even was kindly sponsored by StreamBA, ScreenMedia, Aspose, Net Talent, MBN Recruitment, JetBrains, NDC Conferences, Arnold Clark, Product Forge, Endjin and J.P. Morgan.

I attended the following talks:-

  • Containers jumpstart from a DevOps perspective by @MattVSTS
  • Breaking the Myths Around Artificial Intelligence by @galiyawarrier
  • Secure in Cloud Native by @robinem
  • Beyond C# 7.0 point releases reference semantics and nullablity by @citizenmatt
  • Learning Kotlin as a C# developer by @joe_stead
  • Adding a layer of Chocolate(y) by @gep13

I had a fantastic time and look forward to the next one, Was also great meeting all of the people I managed to speak to, and I also finally meet @tourismgeek.

Many thanks to each and every the sponsors, there were some nice prices won too!

I’ll add more on each talk later today.

My company’s 2 day hackathon

Last week at work we did an offsite hackathon over 2 days offsite at Skillsmatter which is in Central London, the idea was to get offsite and brainstorm ideas around how we can benefit our users and add more value to the product we work on.

The hackathon included everyone from the team including UX designers, QA testers, Developers and Product Owners, and we had a clear vision which was our goal for the 2 days.

I had never been to a hackathon or anything like it before and I wont go into too much detail but the following is what we did for 2 days, how we went about it and perhaps you can take some ideas from it and do your own similar thing at your company or with your team.


Ground Rules

Define some grounds rules at the start and try to respect them over the 2 days.

Day 1

  • No electronics allowed (i.e. mobiles or Ipad’s), except your laptop.
  • No ideas are silly.
  • Only one person speaks at anytime.
  • Elmos – Enough Lets Move On (if one person talks for too long).
  • HiPPO (highest paid person’s opinion, highest paid person in the office) – everyone’s opinion has same value and weight, bosses don’t make the decisions.
  • Parking Lot – area where some ideas aren’t thrown out but places on this part of the whiteboard for later on future discussions perhaps.

After we set some ground rules we split into teams and individually wrote down all of our ideas for ways to try to meet our vision and then we discussed and grouped them into similar types. From there we decided we had 3 ideas which we then whittled down to 2, we split into teams and started with some sprint planning in each team.

After we planned out our ideas we then started work using small 1.5 hour sprints, each sprint ending with a sprint retrospective and show and tell to the other team, here we gave feedback to the other team and discussed the good and the bad and the potential with each idea etc.

Day 1 lasted from 8:30 am to around about 6pm I think it was and it was a pretty long day but super awesome fun.

Day 2

Day 2 started again with some sprint planning, figuring out what we wanted to achieve and splitting out tasks for each person in the team to have something to work on and something to produce at the end of the sprint. Some people worked on the UI design, developers worked on the code, testers wrote some test and wire frames were also created by the Product Owners and some of the designers too.

I’ll skip to the most important part of the 2 days and what I personally took away from the 2 day workshop/hackathon.

What did we produce

After the 2 days we came away with 2 separate pieces of work which met our vision and will definitely improve our product, we had working code, it was tested, it looked pretty good and with a couple of days work would be production ready.

Lessons Learnt

  • Working in a different way to our normal 2 week sprints was awesome, having everyone in the team, all together, working around a table, throwing ideas out, dismissing some and getting instant feedback resulted in rapid feature creation from start to finish, in 1.5 days of actually doing the work we had something not far off production ready.
  • Instant Feedback – Feedback from everyone right there and then was key to delivering something we all thought worked, and would benefit our end users.
  • Every single person had a voice, every single person had their own ideas and collaborating together to pull the best parts of these ideas together was something which we don’t always get to do.
  • Offsite – being away from work and not having the disruptions of email/meetings/phonecall’s in a nice big building with areas to go eat and relax for a bit helped a lot.
  • Writing down all the ideas, being able to group them together and see the most popular ideas helped drive the towards picking the ideas to work on.
  • Being able to have everyone at the same level and not have the boss have the final say was quite an interesting take on it and one which I think everyone welcomed.
  • This will hopefully change the way we do larger pieces of work going forward in our sprints, getting everyone together and brain storming ideas, designs and getting instant feedback and rapid development so that we can take a piece of work and deliver more over 1 sprint rather than breaking the same piece of work over say 2 sprints.

I’d recommend your team try something like this, keep it organised, keep it simple, everyone is equal in the room, set ground rules, have a vision or a goal your all attempting to try to reach and have fun, the best part of the 2 days it was fun, we were discussing it all week afterwards and every single person loved it.

We covered a lot more than this but I don’t want to bore people with all the details – if you want to ask me anything about this post add a comment.


MSWebDay – What I took away from it

Today, Feb 16th, I attended MSWebdevday ran by Microsoft in Glasgow which was an event covering all things web related from Microsoft, the speakers were @christosmatskas, @thebeebs and @martinkearn and was an all day event.

The Schedule for the day covered various topics and it was great to learn so many new things and get my first glimpse at some new technologies, I always love learning something new, and I even sat next to the illustrious Gary Ewan Park, someone who I have chatted to a few times on twitter but not every managed to meet.

Ok so lets cover the actual event:-

The first talk was by on What’s New in ASP.Net Core 1.0 and was a tour of the new features, how to get it, how to use it, whats new, whats no longer there and he also talked about how you can just take the files and drop them into a folder when deploying, there’s no gac, you can just deploy the Core files in a folder alongside your code, this is very neat, its cross-platform, and it means you could have the same site running under different version of Core going forward should you choose to or need to have this.

The second Talk was Building with JavaScript Task Runners, this was mainly about how to get gulp, how to set it up and how to run some tasks to minify your css, javascript files and all that good stuff, how to add it into Visual Studio as a build step after you compile your code, showed an example gulp file and lots more.

The third talk was Entity Framework Core 1.0, and covered EF and how to use it, how to use code first and also mentioned EF6 how its improved greatly from previous versions and why you should choose this version at the moment whilst EF Core 1.0 is still being worked on and has the tooling added to it for the Core 1.0 release.

The fourth talk was APIs: the cogs behind the machine and this talk was about api’s and mainly web api and how in Core 1.0 there is no MVC and WebAPI its just one thing now and your controller is an API controller, so no need for MVC and WebAPI there is just the controllers now which kind of merge both together.

The fifth talk was Dev Ops in Azure and this covered deploying your website to Azure, making changes, showing the changes, getting the publisher file for using in side Visual Studio and publishing your changes from Visual Studio using Git int his example to deploy your changes from within VS up to the new Azure portal.

The sixth talk was Hitchhikers Guide to JavaScript, this talk focused on ECMAScript and the future of JavaScript and basically how a lot more code that we write will be JavaScript and we saw examples of the features coming in the next few years etc.

The seventh talk was Web Performance and how to check your websites performance using tools like YSlow and Google Page Speed etc and then how to go about making it make far less requests, cache JavaScript, enable IIS features and how to optimise images etc to make your website perform much faster that it currently does.

The eight talk was Single Page Applications and was about KnockoutJS and Angular, talking about Angular 2 and how it makes use of TypeScript and showed code covering KnockoutJS and AngularJS.

The ninth talk was about Hybrid Web Apps and how you can create application that can appear as Windows 8/10 tiles, make use of Microsoft Office and showed some very neat stuff using ManifoldJS which is itself very cool stuff.

Other stuff mentioned
I wrote some notes during the talks (should have taken a lot more) but a couple of things I need to look at are listed below:-

The event was great, full days learning, a lot of content covered, great speakers and good turn out. Spoke to some guys I chat to on twitter and all in all an awesome day spent learning some new stuff. There was a lot of content, I’ve missed half of it I’m sure so take a look at the slides on the site at MSWebdevday.

Dear Microsoft can we have some more of these days please? – especially Azure and Core related content.

NDC London – Day Three

Day 3 – Knocking it out the park, with KnockoutJS by Miguel A. Castro (@miguelcastro67)
The first talk I attended on day 3 was Knocking it out the park, with KnockoutJS by Miguel A. Castro

Miguel’s talk walked you through KnockoutJS, what you would use it for and showed you several demos as he went building upon each one as he covered more and more on KnockoutJS. Miguel is a very good speaker, his talk was very well delivered and flowed excellently – his demos were useful and were very well explained.

Day 3 – ASP.NET SignalR 2.0 and beyond by Damien Edwards and David Fowler(@DamianEdwards)
The second talk on day 3 I attended was ASP.NET SignalR 2.0 and beyond by Damien Edwards and David Fowler

Damien Edwards and David Fowler introduced everyone to a new major version of SignalR and what has been added/updated.
There is tighter integration with OWIN, .NET 4.5 server dependency, full support for self-hosting, new clients, massively improved cross-domain/CORS support, API usability improvements, easier hub unit testing and better error handling. We’ll cover all this and give a sneak peak and new features in upcoming releases in this information packed session. Very informative talk which I enjoyed.

Day 3 – The future of C# by Mads Torgersen (blogs.msdn.com/b/madst/)
The third talk I attended on Day 3 was The future of C# by Mads Torgersen

Mads talked about how the past several years, the Microsoft C# team has been focused on rebuilding the compilers and editing experiences as part of Project Roslyn. He also introduced us to potential new language features are on the designers’ minds. Features discussed included read only auto properties, multiple return values, null checking, structural typing is ‘on the radar’.

Day 3 – Object Oriented Design in the Wild by Jessica Kerr (@jessitron)
The fourth talk I attended on Day 3 was Object Oriented Design in the Wild by Jessica Kerr

Jessica talked about the reasoning behind object-oriented design principles, and how we find their application in the wider world. This session will challenge you to go beyond rules and standards and ask, when is clean code worth your time? Go beyond OO and come back with new insight. Interesting talk all about OO in different languages.

Day 3 – ASP.NET SignalR 2.0 and beyond by Damien Edwards and David Fowler(@davidfowl)
The fifth talk on day 3 I attended was Using ASP.NET SignalR in Anger by Damien Edwards and David Fowler

Damien Edwards and David Fowler What showed off the best patterns for using SignalR in a real application – both guys walked through code samples of how to go about doing such a thing and discussed a number of topics including when best to use SignalR as opposed to other technologies.

NDC London 2013 – Day Two

Day 2 – Build Real World Cloud Apps using Windows Azure Part I and II by Scott Guthrie (@scottgu)
The first and second talks I attended on day 2 were Build Real World Cloud Apps using Windows Azure Part I and II by Scott Guthrie

Scott gave a two part covering the following:-

•Automating Everything
•Source Control Best Practices
•Continuous Integration/Delivery
•Enterprise Identity and SSO Integration
•Web Development Best Practices
•Data Storage Options
•Data Storage Partitioning Approaches
•Using unstructured Blob storage
•Designing to survive failures
•Monitoring and Diagnostics
•Transient Fault Handling
•Distributed Caching
•Using the Queue Centric Work Pattern

Was a really great insight into the capabilities of Azure and how as developers we can use these features for building applications right now.

Day 2 – Automating Testing in the big, bad Enterprise World by Jeremy D. Miller (@jeremydmiller)
The third talk on day 2 I attended was Automating Testing in the big, bad Enterprise World by Jeremy D. Miller

Jeremy discussed how his team has a strategy for faster and more productive manual testing and troubleshooting when using RavenDB and just how easy it is to use RavenDB for in memory creation and deletion of the entire database for unit testing purposes. He talked about how automated testing efforts frequently fail because the tests are too time-consuming to author, too brittle when the underlying application changes and showed examples of how he tried to make this process easier.

Day 2 – Functional Programming: What? Why? When? by Robert C. Martin (Uncle Bob) (@unclebobmartin)
The fourth talk I attended on Day 2 was Functional Programming: What? Why? When? by Robert C. Martin (Uncle Bob)

Uncle Bob talked about a number of things from the past to the future and was as always very entertaining but also thought provoking – this guys a legend and listening to him talking was a pleasure.

Day 2 – AngularJS Directives And The Computer Science Of JavaScript by Burke Holland (@burkeholland)
The fifth talk I attended on Day 2 was AngularJS Directives And The Computer Science Of JavaScript by Burke Holland

Burke gave us a run through of Directives in AngularJS, what they are and how they work showing code samples.

Day 2 – Test Your Javascript…with the Help of D&D by Tim G. Thomas (@timgthomas)
The fifth talk I attended on Day 2 was Test Your Javascript…with the Help of D&D by Tim G. Thomas

Tim talked about how testing JavaScript—the modern Web’s ubiquitous development language—can be a daunting task. In his session he introduced us to some methods to do just that…but with a Dungeons and Dragons twist.

NDC London 2013 – Day 1

Dan%20NorthKeyNote with Dan North – JackStones: the Journey to Mastery (@tastapod)

Dan’s talk was about how you go about becoming a Master at something and was very insightful, Dan talked about a lot of cool stuff and talked about learning how you learn to become at whatever it is your trying to master.

Dan described some of the many facets of craftsmanship and talks about trying to figure out exactly what the craft is that we programmers do.

Venkat%20SubramaniamDay 1 – Cleaning up Code Smell by Venkat Subramaniam (@venkat_s)
The first talk I attended was Cleaning Up Code Smell by Venkat Subramaniam – his talk was covering ways to identify code smell, how to clean them up. We will also discuss proactive ways to avoid smells in the first place.

Venkat is a superb speaker and covered a lot within 1 hour, his talk was well delivered and he cracked a few good jokes along the way, very entertaining talk.

Mark%20Rendle%20324Day 1 – Simple.Web 101 by Mark Rendle (@markrendle)
The second talk I attended was Simple.Web 101 by Mark Rendle – his talk was covering his .NET/Mono web framework Simple.Web.

Simple.Web applies the SOLID design principles to web application development, and makes building web applications an experience of the deepest joy. Simple.Web makes keeping your code clean, and building real REST/HATEOAS APIs.

Mark talked about why he wrote Simple.Web, showed us some of the code and then showed off some examples of how to use Simple.Web in an application

Day 1 – Introduction to Windows Azure Part I and II by Scott Guthrie (@scottgu)
The third and fourth talks I attended was Introduction to Windows Azure Part I by Scott Guthrie

Scott gave a two part talk which provided an overview of Windows Azure – including a number of demos, and how you can take advantage of it to build great applications in the cloud. His talk was a superb introduction to what Azure is and how you can leverage Windows Azure to build great applications. As always his talks were very informative, every question was given a detailed answer and was a really great way to learn about what Azure can do.

Day 1 – Windows Azure Essentials by Michele Leroux Bustamante (@michelebusta)
The fifth talk I attended was Windows Azure Essentials by Michele Leroux Bustamante

Michele’s session was aimed at getting you up to speed on the essential features developers should be aware of, and how to apply them in practical scenarios on all aspects of Windows Azure.

Michele showed off the differences between web sites and cloud services, as well as other practical tips for building Azure apps such as storing content, sending email, working with queues and choosing the right technology, and collecting important metrics for visibility into application health.

Day 1 – Why Agile doesn’t scale – and what you can do about it by Dan North (@tastapod)
The sixth and final talk I attended was Why Agile doesn’t scale – and what you can do about it by Dan North

Dan talked about shared guiding principles, a clear vision and a common understanding enable what he called contextual consistency. He also talked about delivery assurance, governance and portfolio management in the enterprise.

Was a very interesting talk and a nice end to the day.

NDC London 2013 – big thank you to all


NDC London was last week and I have to say I enjoyed every second of it.

This was my first conference and I will hopefully be back, the content each day was fantastic, the choice of content varied enormously and the people who run it, sponsor it and attend it deserve huge credit.

Having the chance to talk to developers from all over the world working on all sorts of projects and that was probably my favourite part of the conference, hugely grateful to my company for giving me this opportunity.

I will cover the 3 days I attended in a separate blog post but for now I just wanted to take the time to thank everyone involved, I managed to chat with of attendees and met some folks I chat to on twitter which was pretty cool.

Big thanks to the guys at Redgate who I managed to chat to and get a demo of some of their tools which I haven’t had the chance to try out as yet, was really nice to put a face to some of them.

I now have my blogging mojo back and have lots of content to go off and learn about – the next blog post coming soon will cover each of the 3 days I spent learning new technologies.

Thanks once more to all involved – hopefully see you again.