Matthew Lang avatar

Matthew Lang

Web developer with a preference for Ruby on Rails

Dailymuse

GitHub is not My Resume

I've been searching through various contract opportunities over the last few weeks. Client work is slowing down and I have some availability over the next few months. Might be a good idea to look around then! One common feature of each ad is that most of them have included is this:

Include a link to your GitHub profile.

For the non-developers amongst you, GitHub is a web based source code repository service where developers and organisations can keep copies of the code they are working on and have worked on. To this end, it's often referred to as a resume for developers. Not every developer has a GitHub account though (there are alternatives like BitBucket) and certainly not every developer has an active GitHub account.

Are recruiters (both agencies and companies) basing their candidate search on developers who have active GitHub accounts?

Does my GitHub account reflect the capabilities of myself as a developer?

I certainly hope not.

In the past I moved my repositories over to BitBucket to give it a try. I left my GitHub account open but there was little on it. Now, I'm back to using GitHub and I make use of it by keeping some projects I'm working on there. Most of them are private. They're ideas that I would rather keep to myself. For little projects and other stuff, I throw them up on my GitHub account as public. Not as bragging rights to my capabilities as a developer but to share my code with other developers.

If most agencies were to look at my GitHub profile at the moment and make a decision based on that alone, they would skip right over my application. The problem is though that my GitHub profile is one facet of my career as a developer. I have a good history as a developer and a variety of experience. I have a couple of recommendations on LinkedIn and an up to date CV there. I'm running my second attempt at a product with DailyMuse after I killed the failed Journalong product.

I'm certainly not a developer that lives and breathes code. Once the work day is over, I might hit the trails on the mountain bike, take my son to the golf so he can practice, or just go for a walk with the family. And that's just the tip of the iceberg. There's so many other things I do outside of work that doesn't involve writing code. Yes, I have a number of little side projects on the go. Most developers do, but they're low on my priority list.

While my career is important, it's also important to get the balance right between what you do for your career and what you do elsewhere. I do write code outside of work, but most of the time I'm doing other things like spending time with my family, riding one of my bikes or something else that isn't writing code.

GitHub isn't my resume though. It's one aspect of my resume. It's something to consider yes, but the real value in a software developer isn't the amount of code they write. It's in the way they approach problems, present solutions and communicate with others. And I think I do that rather well.

Time to Explore

I've been working with Ruby on Rails full-time now for close to 4 years. Two years as a full-time employee and two years as a freelancer. In that time I've worked with and built all manner of Rails applications. Content management systems, business support applications, healthcare service portals and my own little product, DailyMuse. It's still my choice of web framework for new projects, but I feel that lately I've become too settled with Rails. Yes it's a fine framework to work with and who could argue. It has a thriving community that offers great support and ensures the ongoing development of the framework, but there's more than one web framework out there.

In the last few months I've been trying out the Rust systems programming language. It's been a hit and a miss getting my head round the syntax but largely I feel that I am wasting my time with it. Why? Well Rust is still fairly new and at the time of writing this it's just about to emerge from its 1.0 beta phase. Despite the immeninent release of the stable version of the language, I still think I arrived at the Rust party too early. I've never been an early adopter of technology. I like to sit on the fence longer than normal before making any decisions about investing in a language or a framework. I might re-visit Rust in six months time or even a year to see how popular it is and whether it's worth investing my time in. So, putting Rust to the side has left a space for me to look at another language or framework.

Looking at the market today, there's such a variety in the demand for different languages and frameworks. I've done .NET in the past and while I think there's going to be a steady demand for it in the future, I do want to try something completely new. A language I've never used before. Enter Python.

Okay, it's not completely different to Ruby. It has duck typing and It's dynamic but it is also an established programming language. If I was going to learn a new language then it was going to be something that I could use in my career. Getting a Python contract with no experience might be tricky, but I'm prepared to tart up my Github page with a couple of projects done in Python that could add weight to my cause.

Also, if I'm going to pick a language that gives me extra tools to use then I want something that sits alongside it just like Ruby on Rails sits alongside Ruby. I not only want to learn a new programming language but a new web framework that is made with that programming language. Enter Django.

In the past I've tried to learn different programming languages and failed spectacularly but this feels different. Rather than picking an new cutting edge technology, I've picked an established programming language and an established web framework to go with it. They're not completely different from Ruby and Rails, but that's the idea. I'm a web developer, therefore it makes sense to learn another web framework. This might be a low risk investment, but that's okay. There's enough developers chasing the bleeding edge technology. How many are chasing established technology?

DailyMuse: The Today View

Email is great. It's a reliable form of content delivery that can reach a multitude of devices and it's platform independent. Who cares if it's Windows, Linux, OS X, iOS or Android you're running? Email is the cornerstone of any platform, which is why it's the preferred delivery method for DailyMuse.

As great as email is though, I also like having alternatives to email, something as flexible as email but also accessible. I would open my DailyMuse email a couple of times a day, but quickly it became lost amongst other emails. I needed a way of seeing my DailyMuse message for the day without opening my email.

For a few weeks now there's been a Today view in the DailyMuse application. If logged in and you visited it you would see the last snippet that DailyMuse sent you. Fine and good, but it was rendered within the context of the application and I quickly realised that it became lost amongst the rest of the elements of the application. I needed a view of my snippet that was free of the context of the rest of the application.

This morning I added a link in the DailyMuse sidebar that will address this issue. At the top of the sidebar is a Today link that will render a colourful view of your snippet for the day that is free from the rest of the application so that you can have your snippet front and center on your web browser.

Here's my snippet for today:

{% img middle http://s3.matthewlang.co.uk/2015/dailymuse-today-view.png "The Today View" "A screenshot of the today view from DailyMuse" %}

Rather than sticking with default font sizes for all snippets, I've also tweaked the font size for snippets that vary in length. If your snippet is small in length the font size for it will increase so that it becomes easier to read.

This has been a planned feature for a while, but viewing the snippet within DailyMuse has never felt right. With this in place now, I'm happy with being able to view my snippet for the day in both email and in my browser.

Interesting in using DailyMuse? It's free for 30 days after which it becomes a budget friendly $2 per month to use.

Uses for DailyMuse

Great to see DailyMuse making a positive change.

Those are the two things I’m using it for so far but I can think of many others — daily exercise ideas, healthy snacks and recipes, writing prompts, study of scripture or philosophy, etc. Basically, anything that would be good to have a daily reminder for would be a good fit for this.

How I Use DailyMuse by Patrick Rhone

Interested in trying it out?

Say Hi to DailyMuse

It's been quiet of late on my blog and for a good reason. While my daily posts have ground to an almost complete stop, I do have a good reason for it.

Today I'm officially (and nervously) announcing a micro-service of mine, DailyMuse. So what is DailyMuse? Well, let me first take you back to a post that Patrick Rhone made on App.net.

Maybe something like this exists but, if not, someone should build it: I want to type a bunch of things into a place and then have that place pick a thing at random and email it to me once a day.

I made a note of this post with the intention of building something, but I never got round to it. Patrick's tweet in October was finally the nudge that I needed.

"Making cool stuff for our friends that they would like" sounds like a solid, successful, business plan to me.

on App.net by Patrick Rhone

Now while I don't know Patrick personally, having not met him in person, he is someone who is a great influencer on how I work. His books are great source of reflection and I've long been a fan and user of his Dash/Plus system. So having established that I'm not friends with Patrick in the traditional sense, I still wanted to make this "thing" for him.

Having toyed with a few ideas before the end of last year, I started putting something more concrete together that Patrick could use. After a couple of weeks I had the basics of the service working. After a brief introduction by email, Patrick became the first user of DailyMuse.

That's the story behind the idea, but what is it? I think it can be best summed up as this:

DailyMuse is your own personal email subscription. You're the curator and audience.

Using DailyMuse you can collect quotes, phrases, lists and links in your own collection of snippets. DailyMuse then sends you one of these snippets at random, once a day.

Snippets are written in plain text or using Markdown. You can tell DailyMuse to pick a snippet at random or to pick from a queue of previously unsent snippets.

Receving the same snippet on consecutive days doesn't offer much value, so I added the ability to pick from snippets that hadn't previously been sent. There is still a lot to be done with it, but with the it's core value in place and working, it didn't make sense to hold on to it and never ship it.

So if getting the right start to the day sounds like your thing, and you don't mind curating your own collection of content to start the day with, then why not give DailyMuse a try? It's free for 30 days after which you can subscribe for $2 per month or £20 per year.

Small Tasks

The trick, of course, is to choose the small tasks which Vilfredo Pareto - he of the 80/20 Rule - would designate as among the vital few; i.e. the ones which will produce the greatest beneficial results. If you don't set such priorities, then your time may be squandered by the successful completion of work which produces relatively little progress or which merely restores the status-quo.

Small Tasks by Michael Wade

That one is going in my DailyMuse collection.