Daniel May

Author Archive

It’s been a while

by Daniel on May.31, 2010, under community, ddd, meta

So – where do I begin?

I haven’t blogged since late February which is a massive shame I guess, but I think I’ve just found it easier for people to keep up to date with what’s going on with me via my twitter feed (@danielrmay).  Truth be told, I’ve also been extremely busy what with getting myself a (now-not-so-new) job, along with speaking arrangements.

So, what have I been up to in the past few months? Too much.

sharpcloud

I was (un?)fortunately made redundant in early March. This was both a difficult and a very positive time for me – mainly positive due to the vast amount of support I received from my peers, mainly on Twitter. I had quite an interest, completely due to the amount of retweets about me being made redundant – I’m extremely grateful.

It was a hard decision in the end, but I chose sharpcloud as my next employer, taking on a role as an Azure & Silverlight developer. It’s been just under two months, and I’m loving it. Working on some cutting-edge technologies and a completely new, fresh and unique product. I can’t wait to see where sharpcloud goes.

speaking

I’ve had a brilliant few months when it comes to speaking. After only about a month of working of sharpcloud, DevEvening UG in Woking were happy to accomodate a colleague (Joe Wardell) and I speaking about both the architecture and the functionality of the application – which albeit was a bit longer (running over ~20 minutes or so ;) ) than expected, I thought went well.

I also expressed my interest in helping organise and doing a grok talk for DDD Scotland in Glasgow. Had a great time meeting all of the twitter faces and spending quite a bit of time up there and made some really good, new friends. Gave my grok on “Learning the right way” which was a small presentation outlining the ways that we can all learn more effectively, efficiently and how we all need to continue learning to explore how the development industry can change. Had a lot of fun – even if my grok was a little rushed! ;)

Leading on from DDD Scotland, Johan Barnard let me know that the AzureNET UG in London had a speaker drop out and asked if I might be interested. Of course my response was a firm yes and I ended up doing a presentation on the different Gotchas we’ve encountered with Azure at sharpcloud and things that may need to be kept in mind when designing an architecture with Azure.

I’m extremely thankful for having these opportunities – and have recieved some great tips (notably some from Guy Smith Ferrier and Ben Nunney – both of which have proved invaluable).

My next speaking arrangement is at DDD South West in Bristol on 5th June – another grok talk on the new features of Silverlight 4. After that I have the great (and my biggest speaking opportunity so far!) at Epicenter 2010 – doing a whopping 2 70 minute sessions on New Features of Silverlight 4  and Design to development in Silverlight.

Needless to say, I’m extremely happy with the way things are going regarding speaking and I can see myself improving constantly – Epicenter will definitely be interesting.

I’ll try to remember to blog more often than once every two months. Until next time, reader(s?).

Leave a Comment :, , , , more...

Callout for Speaking Opportunities

by Daniel on Feb.22, 2010, under community, development

As you can probably guess from the title – I’m openly looking for opportunities to speak at user groups and conferences – it’s something I’ve always been interested in and I’d absolutely love to do. I have a few things I’d potentially like to talk about – from my previous post you can probably tell I’m a massive advocate of learning – we work in an industry subject to Moore’s law. We can never be too clued up nor would we want to be out of the loop.

I previously submitted the following session for the DeveloperDeveloperDeveloper 8 conference and would be more than happy to present it at your local user group and / or conference if it sounds like something you and your attendees may be interested in:

Learning the ‘right’ way

There are many different methods of learning how to develop, design and manage
effectively, efficiently and do things in the ‘right’ way. This begs the
question – what is the ‘right’ way?
Is it via reading books, reading blogs, or not reading at all?
Is it via pair-programming, code reviews, and how does this affect the
learning process
?
In this session, Daniel May will be going over the common ways to learn a new
language, pattern or aspect of development and design, and suggesting
improvements and recommendations to these methods.
Subjects covered will include learning from books including publication choices
and recommendations, learning via pair-programming and code reviews, learning in
the workplace with internships, official Microsoft training (.NET) and much
more.

This is the only session I have a complete (ie 100% finished) presentation for – however I am able to create session agendas for the following subjects; “Beginning Silverlight Development from a WPF background”, “Best Practices – Just how ‘best’ are they?” and “Learning to not dread fridays”. All of these are sessions in progress at the moment and I’d be more than happy to finish them off in due time should there be a demand for them.

If you are interested in any of these sessions or have any questions, please do not hesitate send me a mail at daniel[at]danielmay.co.uk. (Note: This isn’t only open to opportunities in the UK!)

1 Comment :, , , more...

Me: A Unique Case

by Daniel on Feb.19, 2010, under development, meta

I’m gonna talk about myself for the majority of this post, so if you don’t find me interesting – it’s probably not worth your time. Thought I’d warn you.

As many of you know, I’m young. I’m 17 years old with a permanent job in software development – which is rare. I don’t think I’ve come across anyone else with a professional software development job this early on (most probably because all the other teenage nerds are taking the standard college –> uni –> job approach) – but if you’re out there, contact me!

It’s not been easy, but it’s not been particularly hard either. I have been developing actively since I was around 11 years of age, with advice from my father and an introduction to the basics by him. I was instantly interested and wanted to learn more. I loved it. I loved the moment I wrote my first program, to the moment I moved on and wrote my first line of PHP code. It is my passion, and I discovered it at a young age. This is when I first started self-learning.

The first book I ever bought was “Teach yourself VB.NET 2003 in 21 days” – Granted, it was a “XX days” book, but it taught me the basics of what I needed to know. Best 3 weeks of pocket money I’ve ever spent.

I continued to code, moving from VB6 to VB.NET to PHP, including MySQL, playing around with python and various other languages. This kept me busy throughout high school – I scored a number of freelance jobs doing things ranging from data entry to MySQL database design… I daresay I was earning more than the majority of my high school friends, at the price of having next to no social life.  I kept learning through various portals such as online tutorials, problem solving – I was so interested about 90% of my time outside of high school was spent learning for my passion, knowing that at some point it would reward me.

Then came GCSEs. I took a course in DiDA (Diploma in Digital Applications) which I thought would help me carry on to take a computing or programming course at college – it did, but it was nowhere near as technical as I was at that age. Unfortunately, VLOOKUPs in Excel aren’t something I want to be doing for a career – each to their own, though. Albeit bored, I passed these and even got to do some HTML and CSS in the end. Go me.

I finally made it into college and took a computing course – much to my dismay, they were teaching VB6. VB6 in 2008/9. A ten-year-old technology being taught? I can understand the reasons for doing so (simplicity, being eased into development), but was VB6 really the best option? Why not Python? Support for VB6 ended in ‘05, extended support ended in early ‘08. Either way, it was a breeze for me and I was accepted onto the gifted and talented programme. Good stuff. Unfortunately, it was nearing the end of my first year that I decided I didn’t want to do this anymore. I was sick of the constant VB6 re-learning, sick of being miles ahead of my classmates (imagine this as modest as humanly possible). It wasn’t fun and was no longer interesting. I dropped out.

I grabbed myself a few books outlining .NET, compsci concepts, algorithm development and read quite a lot of online blogs – and this helped me reach my first job. A professional .NET development job for someone with purely self-taught knowledge.

It is this that I believe separates me from the crowd. I didn’t go to university. I can’t tell you intrisically how the floating point system works nor can I tell you precisely how the garbage collector in .NET completely works. What I can tell you is that in time, I will know. I will learn these things. Either by myself or via tutoring.

I by no means claim to be an expert. I merely claim that given time and training, I will be. I was born for this.

- Daniel May

12 Comments : more...

DDD8 Post-Conference Overview

by Daniel on Feb.02, 2010, under community, ddd, development

Last Saturday (30th Jan) I attended DDD8 – my previous blog post describing my general excitement can be found here.

I’ll start off by saying I had an amazing day meeting fellow like minded developers and getting to see some of the sessions I’d been looking forward to seeing since they were proposed. Below are the overviews of the experiences I had with the sessions I attended:

Real World MVC Architectures by Ian Cooper

This was the first session of the morning – as much as I enjoyed the session overall, I had a bit of trouble keeping myself awake after waking up at 6AM on a Saturday – ha! I thoroughly enjoyed this session though, it gave a real overview of MVC in a nutshell as well as leaning into a bit of MVVM with ViewModels being mentioned also. This session dealt with all the common misconceptions about MVC also – just because you can use MVC, doesn’t mean that you should or that it’s going to improve your website instantaneously, you’ve got to be wise. Overall, a great session – and I’m glad to hear I wasn’t the only one drifting off due to the early start ;)

Lessons Learned on Unit Testing by Andrea Magnorsky (was originally attending Commercial Software Dev, switched)

Another great session here – I’ve always been a bit of an advocate of unit testing so it was great to hear Andrea’s take on TDD as well as hearing some general tips from what she had learned from using TDD. She mentioned an excellent book – The Art of Unit Testing by Roy Osherove – which is a truly invaluable read if you have the time. Andrea mentioned multiple different unit testing frameworks such as NUnit, XUnit, along with recommendations for IoC frameworks such as NInject. One thing emphasised throughout the entire session was the importance of meaningful names for unit tests – this helps when referring back to retest months later. There was more information regarding the creation pattern, Mocking, Stubs and overviews of potential test code smells. I learned a lot from this session and Andrea did an excellent job of getting the gist and point of the session across.

C# 4 by Jon Skeet

What can I say? This session had its distinct popularity from the fact there was next to no room for anyone in the room. I hear over 240 people attended this single session – I’m thankful it was over two conference rooms. Skeet went over the main new features of C# 4 – sadly minus his furry friend Tony the Pony. Named Arguments, Default Parameters, Generic Variance (Covariance and Contravariance), Better COM integration and dynamic types were the new features presented and in an excellent way in my opinion. There were around 7 slides for the entire session, simply explaining the agenda. The way Skeet managed to catch the attention of the audience without the need for further explanation via slideshows – by simply using Visual Studio was inspiring. As much as I think I might need to have another, longer look into Covariance, Contravariance and Generic Variance as a whole, I took a lot from this (especially after not being a C# in Depth MEAP!). Wholly enjoyable session not only due to the masses of information crammed in, but the gentle banter Jon Skeet works well with.

Not Everything Is an Object by Gary Short

I don’t know whether it was Gary Short’s distinctive Scottish accent that captured my attention or if it was the excellent overview of OOP over the past 50 years. Either way, my attention to this session was focused solely on what Gary had to say. The audience were taken back to the 19th century and through the beginning of OOP, functional programming and eventually somehow we ended up with Clojure.  Not my language of choice but it was interesting to see how Clojure can simplify multi-threaded programming. One of the memorable quotes from this session would have to be: “How many of you do multithreaded programming in your day-to-day job? And how many of you find this easy, simple and enjoyable to do?”. Needless to say many hands went down after the latter question. I enjoyed this session because it not only went over the origins of OOP, but the downfalls and benefits of using a OOP language.

A Developer’s Guide to Encyrption [sic] by Barry Dorrans

Now this was about the funniest time I had at DDD8. Between the constant humiliation of Barry and Ben Hall (whose birthday it was on the day) – there was some content on Encryption and to be quite honest, I actually took a lot from this also. Refining my skills about hashing, salting, encryption keys (public & private) and the different algorithms now internationally accepted or deemed ‘unsafe’ was extremely interesting. Truth be told, Barry might have done better with a spell checker (if you’re reading this Barry, check this out) but overall the session was not only involving and interesting, but turned into quite a laugh.

Overall, I had an amazing day. I loved meeting new people and networking (@silverspoon, @colin_gemmell, @blowdart, @jonskeet, @rorybecker) with some of the people that help the whole development community come together like this. Obviously need a few thanks – Thanks to @plip, @zimakki, and all of the mentors mentioned above. Along with Microsoft and DevExpress – and not forgetting SQLbits without whom I wouldn’t have made it to the conference area!

The only problem now is I wish DDDSW was closer and we had DevEvening weekly instead of monthly. Ah well. ;)

3 Comments :, , , , , , , , more...

DDD8

by Daniel on Jan.27, 2010, under community, ddd

DDD stands for DeveloperDeveloperDeveloper – a UK-based developer conference based in Reading.

It’s the first (but by no means the last) conference that I’ve ever offered to speak at, put forward a session or actually attended. Naturally I’m very excited to be in a place with 300+ like minded developers, it’ll be a first for me. It’ll be great to put faces to the twitter names and to meet some of my idols.

I put forward a session for DDD8 because I’ve always been interested in speaking at a conference. For me, I’d love to have this opportunity to show what I know, what I’m good at, what I have a passion for.I saw this at DDD and decided I’d just go for it. I’m by no means an expert in ASP.NET MVC, Silverlight, Mono or many of the other things that got voted into the actual sessions – so my proposed session was about something I did have a hell of a lot of exposure to. Learning. I have been a self-taught programmer since the age of 12 and have read countless books. One thing I knew I needed to do was to make one point clear throughout the entire session – the fact that what one person may find an easy way to learn, an easy way to progress can be completely different for someone else. There’s no solid answer to the question “What’s the best way to learn?”.

The only thing we can do when faced with such a question is explore the different ways of learning, and attempt to figure out the most efficient and the one that suits each person – we’re all different (which seems to have it’s upsides and its downsides respectively).

Unfortunately my session was not chosen for DDD8. This hasn’t put me off of the idea as I know a few people must have liked it as I got some positive feedback from those who are attending. I’ll still be getting the session material together and putting it in for as much publicity as possible. I believe that talking at a conference like this has the potential to make a name for yourself.

DDD8 is being held in Reading on Jan 30th – this Saturday.

As for the choice of sessions I’ll be attending, I think I’ve narrowed it down to Real World MVC Architectures by Ian Cooper, Commercial Software Development by Liam Westley, C# 4 by Jon Skeet (unmissable), Not everything is an object by Gary Short, and A Developer’s guide to Encryption by Barry ‘the irish lanky git’ Dorrans.

I have to say I’m wholly looking forward to a Saturday full of geekiness. Followed by Pizza.

2 Comments :, , more...

Here I go again…

by Daniel on Jan.27, 2010, under meta

I figure I should really use a blog.

I read a lot of blogs myself (I’m actually signed up to 63 feeds via Bloglines (which is excellent by the way) and I find it an excellent way not only to keep in touch with the developer community but also to keep informed and share newly found technologies and information.

So here I go again, I’m giving this whole blogging thing another shot. Hopefully I can attract your attention enough for you to stick around for longer than just a few minutes, and with any luck the things I have to blog about will capture your mind and maybe even teach you a few things.

Leave a Comment :, more...

Can't find something?

Use the following form to search:

If you're still not finding what you need, feel free to dispatch an email to daniel[at]danielmay.co.uk

Archives

View posts by month: