tags:

views:

364

answers:

6

So I was just reading this question and several people suggest starting a blog as a good way to help yourself and others growing your programming knowledge. I have also seen several bloggers talk about using their blog as their own reference source.

I've considered starting a professional blog several times, but I always struggle with how I could handle discussing what I am working on without giving away too much about my clients private projects (and therefore getting fired).

Regardless of anything else, I would have to obfuscate the projects and clients names - that much I am sure of.

What other precautions should I take? Should I be completely anonymous (not my first choice). Should I run all of my work related post through my employer for approval?

+1  A: 

Just be anonymous. Rename everything; hell, say you live in another country!

TraumaPony
+10  A: 

A) Don't post your employer's code... i.e. the code you're working on. Rather, post example snippets which do not reveal proprietary logic.

B) Having a code blog will make you a better programmer so long as you limit the time you spend each day blogging. You shouldn't have to hide it so long as it's not interfering with your job. In fact, having a code-repository/forum will give you that go-to place for examples of code you've struggled with.

C) Simply be up-front and mention it to your boss. If he rejects it, keep your thoughts in a text file until you are off the clock. Oh.. and find a new boss.. A good one would encourage you to branch out to others within your field.

madcolor
+4  A: 

I have started with my own "hidden" blog on WordPress (using Windows Live Writer). I write about my current projects, and tag it well to keep it as a reference. It has already saved me more than once. In addition to the blog posts and comment capabilities, I have a projects tree of pages where I can share a brief status for the boss, who probably doesn't want to read each and every post. I share it internally with my co-workers so I have at least some sense that it's not entirely private.

Once you have the feel for blogging, and have determined that you want to continue, it would be a very short step to create a public blog and move any posts over (with a little editing and obfuscation if necessary) The WLW tool would make this pretty easy without too much cutting/pasting pain.

And for programming fun - There is an API that allows me to automate some posts via C# - which opens up unlimited possibilities.

Doug L.
+1  A: 

Don't mention it to your boss. There may be some guidelines on the usage of internet for employees, but your boss doesn't need to know this stuff.

I would just be discreet. As madcolor said, use snippets.

But for those snippets, obsfucate them. For instance, I work on an application in which one type of data holds zero or many child items, which then also hold zero or many child items.

Now you know the relationships between my data but don't know what data I am talking about,..and realistically, you probably wouldn't care anyways...but your client might.

MetroidFan2002
+2  A: 

Most of the programming-related blogs I read are more of the essay style. They post weekly, biweekly or monthly, and each article tends to be longish. Steve Yegge, Paul Graham, and our own Jeff Atwood and Joel Spolsky do not post daily.

I write a terrible blog myself, and try to post twice per month. So long as you are realistic about how much you take on, it can certainly be done without interfering with your work or family.

Definitely:
* don't post about your co-workers. Even if you omit the names if someone can identify themselves or someone else in your blog, you are toast.
* don't post entries directly related to what you are working on at that time. If someone makes noise about you leaking Intellectual Property, you are toast.
* Try not to post an absolute rant you will regret later. These things have a tendency to live forever.

DGentry
A: 

Even if you were a contractor (not employee) it would be inappropriate to mention client names (without client approval).

Uses synonyms Client M = Microsoft Client I = IBM colleague A =Adam etc

pappes