Why I made this blog

Like many developers I felt the need to create a blog. The dream is, it will provide some benefit to other software developers around the world.

The reality is - I am being selfish. I want to be a better developer. When looking at the great developers they all write and share their knowledge. These great developers use blogs as a driving force for sharing solutions, and delve deeper into these solutions so they can more fully understand and explain them.

"You should write ever day"

The advice to write everyday seems very common in the software field. Most bloggers I follow inevitably have a post discussing that everyone should write everyday and how blgoging has helped make them better in this way and that.

I believe this sentiment and I've thought about the idea of blogging for a while but generally let my excuses win.

Even in writing up this first post I had to re-read the fantastic post by Steve Yegge, You Should Write Blogs, to motivate myself. I have used all of the excuses he lists to not write.

I think the first reason, I'm too busy is actually one of the reasons I now want to blog.

In actuality I am not too busy to blog, too lazy maybe, but not too busy. It is easy to pretend I do not have time for anything when I go home and watch Netflix for hours before going to bed. Unwinding after work is important but I find I wake up day after day feeling as though I am simply wasting away my evenings.

I would like to use my time more effectively and have something more than obscure references to The Office to show for it. I want to be able to say I am too busy and mean it because I am working on further developing my career.

Writing more than for work

I tend to do a lot of writing on daily basis for work.

  • I write a lot of emails - I am the main point of contact for my company's development team so I field feature request emails and help resolve user issues
  • I am the curator of our issues in GitHub
  • I write up notes for our bi-weekly demos
  • I write up notes for our bi-weekly priorities meetings
  • We have a QA engineer on our team and I write up How-tos for him so he knows what my feature is supposed to do
  • I do quarterly training sessions for our company on our new internal tools and create presentations as well as demos for these

I actually find some of these tasks to be among my favorite aspects of work - I genuinely enjoy what I think of as the meta-idea of software development. I find joy when I create a GitHub issue that requires no clarification and results in a feature being implemented as I had imagined it would.

I think the fact I write for work was also among my excuses. I figured, I already do write everyday, and I don't even need a blog to do it.

The problem is a lot of my writing isn't real writing - it's creating outlines for meetings or adding captions to screenshots so users know what they did wrong and how to fix it.

Some blog posts can get away with being short sentences among numerous code samples, I may even try to create posts like this at some point, but in general blog posts include some narrative to go along with the idea (even if the narrative is the first paragraph everyone skips over in looking for the code sample).

It seems engineers and artists are thought to have mutually exclusive talents and ambitions. I actually felt this as well, especially in college where it was thought that those in the hard sciences and engineering courses were superior to those in more liberal disciplines. I think now this is a defense mechanism for a bunch of young people terrified by the fact that they are deciding what the rest of their life will be like. I am in awe of those with more artistic tendencies, I would like to be better at photography and writing and with my old notion of you're either an Engineer or an Artist it was easy to say I'll never be good, no point in trying. I no longer want to accept that. Programming also seemed foreign and impossible before I started working to get better at it - my hope is more artistic ventures will be the same.

Giving Back Since I Take so Much

When discussing Ruby with other developers one of my biggest selling points is the community.

Full Disclosure: I have drunk the proverbial Ruby Kool-aid

Ruby has its share of heroes who have made the language what it is in various ways such as creating useful gems, web frameworks, screencasts, and blogs.

I consume a lot of what the community produces and want to start giving back.

I hope to work my way up from blog posts to other avenues such as contributing to open source or releasing a gem of my own but would like to take it one step at a time.

It's scary to put words out in the world for other to read and judge. At this point in my career it's even scarier to put code into the world to be judged by others. Blogging is my first step to becoming a respectable member of the community.

Staying DRY

Our hiring process involves hiring a handful of interns, hoping we get a good one, and extending a full-time offer to them or having them come back as an intern next summer if they are not done with classes.

I think this is a somewhat unique advantage the software field has, we just need people that can program, they don't need to know Ruby, we can teach them that easily enough if they are good. We can hire college students still learning their craft and they can provide a lot of benefit to the company.

Movies teach us to believe internships are no pay position in which you stay out of the real employees' way and hope to pick up some knowledge in addition to your boss's coffee. In the tech field interns can be treated the same as someone in an entry level position and are not only compensated that way but are expected to provide similar results.

I mention our internship program program because I expect it to provide me with content for my blog posts.

One aspect of our internship developer training is to have Ruby topics to discuss during our daily lunches. I need to be able to fill a good portion of lunch discussing topics of how to be a better Ruby developer.

There are two problems here

  1. I almost always am trying to come up with a topic last minute
  2. I will have to have these topics every summer

In code I don't try to reinvent the wheel with each new project, why should I do this with each new internship?

My solution here is to use this blog as a bank of topics to discuss.

I hope to work out a schedule of topics, research them in advance, and create blog posts related to these topics. I can then use these posts as the backbone for our discussion.

These posts can then be re-used during future internships. Re-visiting posts can allow them to be kept up-to-date as well.

Being Held Accountable

By posting in a public forum I am adding some accountability.

If I mention in a post I want to work on more side projects or create a Gem, even if no one reads it, it will exist in the world and drive me to actually do it.

I think this is similar to posting on Facebook that you want to start running or losing weight - it's the fear of public shaming working for you or maybe I am just hoping to get the metaphorical pat on the back for trying.

So call me out! Contact me if I haven't posted in a while. Message me if you don't see any open source contributions or side projects come up on my GitHub page.

All in all I hope this venture into writing provides benefit to software developers out there, but, again, I mostly hope it benefits me.


Notice something wrong? Please consider proposing an edit or opening an issue.