06 3 / 2012

How to Get Started in Social Media, Part 7: What Really Counts in Content Creation

This blog post series is for managers willing to launch and run a social media initiative in their companies. While writing, I realized I should mention an important aspect: I work in the IT industry and mainly focus on building communities around my customers’ enterprise products and solutions, such as cloud infrastructure deployment and management tools. Sounds techy? It is! I hope you find my writing thought-provoking and helpful if you’re in the IT industry. But I also hope it’s valuable food for thought if you’re in an entirely different, yet comparably complex area, like biotechnology and life science or the energy sector.

Two for the (social) road.
According to Moore’s Law, “the number of transistors that can be placed inexpensively on an integrated circuit doubles approximately every two years” (see Wikipedia). With increasing computing power, comes a shortening life span of specific technologies and knowledge. If you want to keep up with the latest developments, you have to learn faster and learn more. How does that translate into your social media strategy?

When you’re building and selling products, especially innovative and complex ones not well understood by customers or commonly applied yet, you have to focus on two aspects in your content creation efforts across all platforms — whether it’s your enterprise blog site, Twitter, YouTube, LinkedIn or Facebook.

1. Provide the Big Picture.
If you were to map your competitive landscape, where would you mark an “X” for your product? Why would you place it there? And how would you guide customers to it? Think of social media people as tour guides: You don’t want to lose customers en route to the final destination, which requires their solid understanding of your product and its competitive advantages. Tread carefully! Always make sure customers understand the Big Picture — and it’s your job to provide it. Sounds easy, but it’s not. Simplicity is always difficult to achieve and maintain.

Ask yourself a couple of questions before beginning: What is the customer’s background and experience? For the sake of clarity, let’s turn again to the tour guide metaphor. If the customer likes to hike, you need to have a mutual understanding of “hiking.” What distances, difficulty levels and climates does the customer prefer? Is he ready for Mount Everest?

A high level of technical expertise might be your worst enemy, because you risk getting lost in assumptions. “I thought my customer knew open source is an entirely different ecosystem compared to software products developed, licensed and sold by individual companies.” Question your assumptions about what the customer might know about any given area. Be brutally honest with yourself. Does the customer really understand what you’re talking about, or politely nodding while trying desperately to hide a lack of understanding?

I believe your customers are smart, just as mine are. But they aren’t necessarily experts in your field. Always, always, always provide an understandable, edible Big Picture with a safe route to that huge “X” on the map — your product.

Let me share my own experience. When trying to understand a concept I’m unfamiliar with, I find it painfully frustrating if the author doesn’t provide a Big Picture to help me understand the offering in context with competitive solutions. No one wants to reveal a lack of understanding (it takes courage to say, “I’m sorry, but I just don’t get what you’re saying!”). So, it’s of enormous importance that you do some educated guesswork: “What might the audience not understand?” They won’t tell you. You have to figure it out yourself.

2. Help customers get started.
Let’s assume you did a great job of providing the Big Picture. What’s next? You need to help your customers get started. We all know “getting started” is the difficult part of most ventures. What are the first steps? If you’re in the IT industry, what hardware and software requirements must be met? What exactly do customers need to walk your talk?

Make it impossible for customer to fail. You can’t be clear and comprehensive enough; there’s no such thing as overstating it. When planning the roadmap for the first steps, you may occasionally think, “Aaah, that’s obvious. I don’t need to mention that.” Remember, don’t get lost in your own assumptions! If you do, you’ll lose customers.

It’s better to overdeliver than underdeliver — even the most obvious information — to ensure  customers can actually get started and not give up while trying to do so. Once customers take their first shaky steps, they gain confidence and educate themselves along the path. They might even come to a better understanding of your product than your company in general. Always supply everything necessary to make those first steps as easy and fail-safe as possible.

The power to move and sell.
“You helped us move in the right direction.” Those words are the most rewarding aspect of my work, because it means I’m making a real difference for customers. The good news is all it takes is specific, detailed information on making those initial steps.

My advice to “Provide the Big Picture” and “Help customers get started” may sound simplistic. But over the years, I’ve learned these are the cornerstones of every successful content creation strategy in social media (and probably elsewhere). If you consistently apply this advice within your social media strategy, you’ll notice how difficult it is. Keep at it, however, and you’ll reap the fruits: Your customers will be happy and you’ll contribute to your company’s bottom line. Social media has the power to help you sell your product. Use it wisely!

I’m particularly curious to hear feedback on this blog post. Based on my professional experience, these are the most valuable pieces of advice I can offer. Tell me if you agree, if my writing is helpful or if you need additional information. Please leave a comment or drop me a line at Twitter @RafaelKnuth. Thanks!

21 2 / 2012

Rookies at Work, Part 5: Getting stuck on the way to computer literacy

To be shamelessly honest, I got stuck on my way to computer literacy. Now you might understand why I chose the name, “Rookies at Work”! Let me share some obstacles I’m facing, as well as my first tiny success.

Which computer language do you pick as a rookie?
There are zillions of languages for various purposes. In the real world, you might pick Latin or Greek if you want to read and study ancient literature in its original version. To make strides in the corporate world, it’s helpful to learn English or Chinese. The cool thing about the real world is you know in advance the benefits of a particular language. It’s different in the world of bits and bytes. Which computer language(s) do you choose as a newbie? Which is good for what? As a rookie, you’re lost in space and, so far, I can’t find satisfying answers.

How will you apply your computer language skills?
Do you want to design websites? Write games or apps? Learning to write code for the sake of being able to write code doesn’t work for me, as I realized after making some missteps. I love doing real things and I’m no good at learning for the sake of learning. I believe computer literacy is a key competency in the Digital Age, but how does that translate into specific skills?

What, for instance, would you think of a person who says, “Oh, I am a very literate person able to speak languages”? You’d probably scratch your head. What a difference compared to a person saying, “I write short stories in French and also learned some regional dialects, because I want my characters to be as realistic as possible.” Or, “I work as a doctor in Africa and I’ve learned a couple of languages spoken by local tribes I encounter.”

How do you want to improve over time?
As of now, I can’t estimate which learning goals are realistic and which are not. How difficult is it to write simple mobile apps? (“Define simple,” you may ask.) How tough is it to create a web-based forum? It’s hard to judge as a rookie.

Draw a roadmap for your journey.
Let me sum up the most common difficulties facing a complete newbie to computer literacy, and how I intend to overcome them:

1. Select a specific task to accomplish.
A coding language is a tool to accomplish a clearly defined task. I’ll turn off my computer, take a deep breath and brainstorm about what I want to create.

2. Try to figure out how difficult the task is.
Once I define my task, I’ll connect with experienced coders to examine what they think about my endeavor. How would they proceed? How long should it take to get things done?

3. Understand which set of languages you need.
I’ve come to realize you may need multiple languages to accomplish a specific task. I’m not sure which tasks I need to learn, but I am sure my geeky friends will help me decide.

Climb every mountain.
Now, here’s the tiny success story I mentioned earlier: I’m getting used to some very basic computer language concepts. Let me give you an example: In my first coding classes, I couldn’t understand the language used to describe coding language. What are strings? How about variables? What does it mean to “declare variables”? 

But after a couple of weeks, my comfort level is rising. My conclusion? Coding isn’t rocket science. It’s just different from other areas in life you may be familiar with. It’s reassuring to know computer literacy is a mountain I can conquer. It still looks like Mount Everest , but who knows? Maybe one day, I’ll stand atop it waving a victory flag. Care to join me?

Suggestions, ideas and feedback are always welcome! Shoot me a line at Twitter @RafaelKnuth. I look forward to hearing from you. 

18 2 / 2012

Rookies at Work, Part 4: Drawing key takeaways

A couple of weeks ago, I learned about Codecademy and their Code Year initiative: Almost 400,000 people worldwide are taking the challenge and learning to code from scratch. Even New York mayor Michael Bloomberg signed on. Who knows? Maybe he’ll surprise us with his own Big Apple-style apps or games.

I find these initiatives very encouraging and look forward to connecting with the growing rookie community. Following are some key takeaways I’ve made on my path to computer literacy.

Coding is a key competency in the Digital Age.
Computer literacy (read: the ability to write code) is recognized as a key competency by business, politics and ordinary people like you and me who want to seize opportunities in the Digital Age.

The US of A is still the place for startups.
Codecademy was founded last August by two college dropouts, who raised millions from experienced venture capital firms to build their company. As a European, I’m deeply impressed by the entrepreneurial spirit overseas, the ability to think big and to release products quickly.

Social media is ideal terrain for learners and teachers.
Ready to teach the world to write code? Apply as a
course creator at Codecademy. I’m betting over the next few years you’ll find all types of courses at Codecademy. It’s a great opportunity for those who love to teach.

Expect a high dose of frustration as a rookie.
Codecademy’s courses also lack elements I found missing elsewhere (see, “Rookies at Work, Part 3: Missing “parts” in the Rails for Zombies course at Code School”). If your misery loves company, you can meet other frustrated students at stackoverflow.com also searching for help. But it’s just a matter of time until really cool coding courses — provided by hundreds, if not thousands of course creators — start mushrooming at Codecademy.

Make it easy to try before we buy.
The courses at Codecademy are free and it takes only one click to sign up with your Facebook account. That’s how to build a business from scratch at warp speed. Give your product away! Once users are familiar with it, they’ll be willing to pay for additional features or services.

You’re on your way to computer literacy, too? What have you learned so far? Where are you heading? Shoot me a line @RafaelKnuth at Twitter or leave a comment below. Color me curious!

11 2 / 2012

How to Get Started in Social Media, Part 6: Don’t rely on experts, become one yourself

This blog post series is written for managers with little to zero experience with social media. If your boss asks you to launch and run a social media initiative in your company, this series will provide helpful insights. 

Aw-shucks, you’re making me blush…
When talking with potential customers, I often hear, “Oh Rafael, you’re the social media expert/guru/pro. Please tell us what to do. We don’t know anything about social media.” My ego loves to hear this, of course, and dollar signs pop up in my eyes. But when I put both ego and profit/loss considerations aside, I think, “Wait a minute, something has gone terribly wrong.”

Literally billions of people are writing blogs, creating Facebook and Google+ pages and much more with no prior experience in social media. Just regular people  like you and me, at any age: Tweens, teens, twens, grown ups,  even seniors who could be our grandparents. They didn’t hire a social media expert to get started, so why should you? They just started, and iteration after iteration, became experts/gurus/professionals over time.

What’s holding you back?
I wonder why so many managers shy away from just getting started with their social media initiatives, instead of relying on so-called experts. If billions of people around us can pen blogs, set up fan pages, create a follower base… so can you.

Say adios to your social media experts, save the money and spend it on something that makes sense. Organize a barbeque ‘n’ beer party with your colleagues. Or buy your team an Xbox and a stack of cool games. Social media consultants are expensive; you can purchase a lot of cool games with the money saved.

So why would I play hara-kiri with my business model? I learned in practice the opposite is true: I provide far more value to customers when I switch my role from nanny to sparring partner — an equal among equals who brings different viewpoints and ideas to the table.

Drivers, start your engines.
Here’s my advice to you and it’s absolutely free:

1.       You don’t need to hire a social media expert to get started.

2.       If you already hired one, cut them quickly.

3.       Trust yourself and just start.

4.       Iterate, iterate, iterate, iterate…

5.       Buy an Xbox with the money saved.

You may never need a social media consultant. Congrats! Just like Auntie Jenny from Ohio didn’t need to pay a social media consultant to launch her “Sweet Little Brownies Recipe Blog” and get thousands of followers on Twitter. But once you become adept, you’ll want to further improve your skills. It’s a must to stay competitive as those around you also become more adept. That’s the time to call me. I’ll help you advance as your coach and trainer. Besides, who scores better at “Need for Speed”?

I’m always pleased to receive your feedback, so either leave a comment in the box below or shoot me a line on Twitter @RafaelKnuth. Thanks! (Picture found on Pinterest)

09 2 / 2012

Rookies at Work, Part 3: Missing “parts” in the Rails for Zombies course at Code School

As you might know from my previous post, “Rookies at Work, Part 2: Look who I met on the path to computer literacy,” I put Microsoft C# aside because I found Ruby on Rails more appealing as an absolute beginner. Instead, I chose the Rails for Zombies course provided by Code School. It looked like an ideal starting point for a coding rookie… but the first signs of doubt are cropping up.

I reached out to Gregg Pollack, an instructor at Code School, and he encouraged me to share feedback with his team along my learning path, which I’m happy to do in this blog post. If you picked Ruby on Rails as your entry point to coding as I did, read on. You might learn what likeminded rookies struggle with on their path to computer literacy.

While writing, I’m pausing the third section of the first Rails for Zombies course, because I believe three essential parts are missing.

Missing Part 1: Teach by example.
In the Rails for Zombies course, you’re building your first Twitter application. It would be cool if Code School provided a link to an app identical to the one you’re supposed to build. You could then click through it to see which functionalities you’re going to design and implement.

It’s a “Begin with the end in mind” approach that makes it easier for a student to connect the dots. It’s similar to building a house: Your architect might create a miniature model of your home and, in addition, present a master plan with all the functional details, like doors, windows, etc. It’s tremendously helpful to start a project with an example of the desired result. Can you please fix that, dear Code School instructors?

Missing Part 2: The big picture.
In the third section of the Rails for Zombies course, you’re suddenly confronted with HTML and JavaScript, which seem to collude with Ruby on Rails within the application you’re working on. At that point, I realized Code School is not targeting rookies like me, but rather folks with some HTML and JavaScript experience under their belt. This was not clear when I began the course.

I assume other absolute beginners are taking the Rails for Zombies course, so here’s my suggestion: It would be very helpful if Code School provided a big picture overview: “In this course, you will code some elements of your application, such as X, X and X. To build the entire application, you must acquire some HTML and JavaScript coding skills. Which elements of your app do they represent? Well, HTML does X, X and X, while JavaScript does X, X and X.”

If you don’t have the big picture at the beginning, you’re stumbling through the course like a blind mole. It would be’s pretty simple for folks at Code School to fix that and it would be tremendously helpful for us rookies to understand Ruby on Rails in the context of building web applications.

Missing Part #3: Understanding the ecosystem.
“API, Stylesheets, JavaScript Libraries… Really nice Ajax search features…” Wait a second, what are you guys talking about? All these terms and concepts unfamiliar to a rookie appear in the third section of the course like zombies from their graves. Code School can fix this by providing additional homework , for example: 
“These are the most important components you need to know about the Ruby on Rails ecosystem. Become familiar with the following sites: X, X and X and read the following blogs: X, X and X. In addition, look up the following terms at Wikipedia: X, X and X.”

As a beginner, you start with a blank slate. Besides learning to code, you also want to familiarize yourself with the Ruby on Rails ecosystem. Some guidance in the form of additional homework assignments would be very helpful.

That’s it for today, except for one question: What’s your opinion on the length of my blog posts? Previous ones were fairly long, and I’m wondering if you prefer reading shorter or longer posts. If you vote shorter, I can split the content into smaller chunks. Of course, I’m also curious to hear what you guys at Code School think about my course suggestions, along with my rookie compatriots. Just shoot me a line at Twitter @RafaelKnuth or leave a comment in the box below. Thanks!

The picture above belongs to Code School. I shamelessly borrowed it without asking permission to publish. Hope the Code School guys are fine with that! (Please let me know otherwise.)

31 1 / 2012

Rookies at Work, Part 2: Look who I met on the path to computer literacy

At last — an ideal entry point to learn coding from scratch! My first blog post on this topic, “I’m On My Way to Computer Literacy: Care to join me?” was followed by a conversation with a group of smart web developers, among them Wiktor Schmidt, CTO of Netguru. He advised me to learn Ruby on Rails and get started at tryruby.org and railsforzombies.org, which I promptly did. After checking out both sites (which I really enjoyed), I returned to learning C#, a programming language written by Microsoft within their .NET initiative.

Goodbye, Microsoft…
I spent a long, frustrating weekend attempting to find an entry point into the world of C#… and finally gave up. Sorry to say, Microsoft is doing a poor job in getting an absolute beginner like me on board. Let me explain: I strongly believe computer literacy will become a basic skill in the future. For our children, learning programming languages will (and should) become as common as learning French, English, Chinese or any other language.

It’s all about democratizing access to technology. I envision a world in 2040 or 2050 in which coding is as popular as driving a car. Everyone will do it! Students who want to organize and share schoolwork, music bands hoping to sell concert tickets online… Everyone will write code.

Microsoft provides tons of C# content at Channel 9 and MSDN (Microsoft Developer Network), and there are books, such as “Microsoft Visual C# Step by Step” and “Beginning Visual C# 2010” (both of which I purchased), but none of these resources is suitable for an absolute beginner (although the authors claim they are). So, let’s take a look at what Microsoft is doing wrong, what the Ruby community is doing right and what Microsoft can learn from the folks at Ruby.

… Hello, Ruby.
Don’t get me wrong. I’m a huge Microsoft fan; I believe it’s the most underestimated and underappreciated tech giant on the planet. But Microsoft makes it incredibly difficult for us rookies to get started with C#. Take car manufacturers: The reason many companies in the automotive industry produce toy cars for children isn’t because toy cars are profitable. They produce toy cars for children to establish a relationship with future customers at the earliest stage possible. Microsoft isn’t providing the right toys for the vast toddler group I represent.

Millions and millions of people use Microsoft products daily, just as I am while writing this blog post. So why does Microsoft make it so difficult for us to learn how to create our first apps? I don’t get it and I suppose no one outside the Microsoft Empire does either. In stark contrast, the Ruby community provides exactly what rookies need. That’s why I turned to Ruby and turned my back on Microsoft C#.

Come on in. The door’s open.
The first neat thing about
tryruby.org is you immediately start writing code on the webpage without being asked to register. I went through this short interactive course about eight times just for the sake of getting used to Ruby. With each repetition, I gained a better understanding of the language. Once I felt comfortable, I registered at the Code School for further courses. Although they charge a monthly fee of $25 US-dollars, I gladly paid it, simply because I had the opportunity to try Ruby before buying it and I was convinced it’s the smartest path for an absolute beginner.

When you want to get started with Microsoft C#, on the other hand, you have to register at MSDN, get a Hotmail account (“Why do I need another email account?”) … In essence, you have to scale a mountain before you even begin.

One foot in front of the other.
After a few rounds at
tryruby.org, I started the railsforzombies.org course at the Code School. The goal is to build a Twitter application for the growing Zombie Walk community. So what’s a Zombie Walk? A gathering of people like you and I who dress like zombies and walk together… such as Seattle, Washington where more than 4,000 likeminded living dead did just that. It’s where I met my new friends in the picture above. (I hope the Code School doesn’t retain a zombie lawyer who’ll kill and eat me for using the photo!)

As a novice, you feel pumped by the prospect of having something cool to show off once you’ve completed the course. “Hey, friends! Look at my Zombie Walk app for Twitter. I made it myself. No big deal… it was fun and pretty easy.”

Now, let’s look at Microsoft’s path to learning C#: You can buy books, each 600-900 pages with endless tutorials and technical deep dives. Throughout, you ask yourself, “What the heck is this good for?” I searched the web and stumbled upon other beginners, at stackoverflow.com for example, trying to find tangible learning materials with usable, real-life examples:

Does anyone know a good C# tutorials (example) step by step? It should be not a description of libraries, foundations and the OOP concept, and so forth, but the writing of any application step by step. For example, a mail client, telephone directory, a simple graphical editor, audio player. Thanks!“

No, Microsoft doesn’t provide that type of learning experience.

Learn by doing.
The Rails for Zombies course contains a collection of videos, each averaging 5 minutes. You can also download a presentation with screenshots from the video and, best of all, each video comes with four to five homework tasks to complete online. Every time you press the “submit code” button, you receive a selection of extra opportunities to play around with code. It’s terrific!

OK, so Microsoft gives you the opportunity to write your first old school app at the very beginning. It displays “Hello word!” on the screen — and that’s where the fun begins and ends. That’s 80s style, guys. Zap me back to the future… now.

Seal it with a KISS.
Because Rails for Zombies videos are short, I watch them up to five or six times. I also complete each of the homework assignments several times for the sake of memorizing the conventions and getting used to the Ruby language. As I wrote in my previous
post, understanding comes with practice.

Now, let’s look at the video courses targeting absolute beginners provided by Microsoft’s Channel 9. Each course is 20-minutes long, which doesn’t sound like a lot of time. But in contrast, the average 5-minute Rails for Zombies course is exactly the hurdle you’re able to take as an absolute beginner. A 20-minute course — quadruple the amount of content — will kill you. I learn far more from watching a 5-minute Rails for Zombies video five times and completing each homework task, than I do watching a 20-minute Microsoft C# video once. Length matters.

I mentioned the indigestible amount of content Microsoft C# books offer. When Amazon delivered these two bricks, I thought, “How many months or years will it take me to become halfway literate with C#?” Flipping the pages, I recalled an old joke about two medical students poring over the Yellow Pages. “Do you understand this?” “Nope.” “OK, then let’s memorize it.”

I hate the idea of learning things I may never use in life, especially if it takes 900 pages to do so. Instead of “knowing a little about a lot,” it makes more sense to “know a lot about a little” as Donald Ervin Knuth, legendary software pioneer and Professor Emeritus at Stanford, advised in a cool video.

You can only win a rookie’s heart by applying the KISS formula: “Keep It Simple and Stupid” or “Keep It Simple, Stupid.”

If at first you don’t succeed…
Learning code takes a bit of pluck, regardless of the language you choose. Your first coding experience as a rookie will be painfully frustrating (unless you’re Dr. Einstein). I was near tears when I tried to solve my first homework in Rails for Zombies. Every line of code I wrote was wrong, even the simplest ones. I felt the folks who created the course were actual zombies sitting in a dark cellar, laughing at the crude code I typed in the online form: “Har! Har! Har! This guy must have a small brain. Small brains are delicious!”

But after a while, I gained a different view of the course creators: They provide an almost ideal framework to learn Ruby by doing (read: by making mistakes and learning from them). I finally was able to complete my first homework and proceed to the next course, repeat courses to ensure I didn’t forget anything and so on. It’s a pain in the beginning, but the Ruby folks understand you have to get real about coding from the onset.

Everything under one roof.
At the Code School, you’ll find everything necessary to write your first Ruby for Zombies app. With Microsoft, you’ve got Channel 9 and MSDN sites in various language versions. For example, the German MSDN site looks different from the English site and contains different content. It’s also incomplete: Some links are dead, others steer you to outdated content and some code samples are broken.

When downloading the English-language version of Microsoft Visual Studio 2010 (which is necessary to write code in C#) on the German site, I was mistakenly provided a localized, poorly translated version that didn’t match my English-language learning materials. After an unsuccessful try, I had to uninstall the cheesy German version of Microsoft Visual Studio 2010 — which took ages, because it’s split into 40 pieces of program I had to remove one by one. I had to outsmart MSDN by downloading the English version from the English site and… Arrrggggh! This is no seamless, user-friendly experience.

An open plea to Microsoft: Please do better.
I’ve been harsh with Microsoft, but for good reason: I know Microsoft can do better. Look at the big picture: The world is changing. We’re living in the Digital Age where computer literacy — including the ability to write code — is becoming a basic skill that should be taught to billions, instead of a small sector of society… just as the Industrial Age required the masses to be taught to read, write and calculate so as to spark innovation and create wealth. Tear down the walls and democratize coding skills, Microsoft. Or someone else will.

I’ll continue to share my learning experience on the path to computer literacy. Watch for the next post and shoot me a line at Twitter if you’d like to chat: @RafaelKnuth.

24 1 / 2012

Rookies at Work, Part 1: The best way to learn code… write code!

Et voilà: My series dedicated to computer literacy is ready to take off. In my first blog post on this topic, “I’m On My Way to Computer Literacy: Care to join me?” I asked readers which name they like most — “Fumble & Pride,” “It’s Not Rocket Science” or “Rookies at Work.” I received positive feedback on the third title (which is my favorite, too). Let’s hear a big round of applause for the winner — “Rookies at Work”! (I started designing a logo for it, which I’ll present in a later post.)

That first-of-a-series blog sparked a conversation (that’s what blogging should do) with a small group of experienced developers at Twitter. Among them was a young Polish team from Netguru, who even offered me an internship under two conditions: 1) I must learn some basics of the Ruby programming language and, 2) I’m expected to work for free. (Seriously, I think it would be fun with these guys. Instead of going on holiday and wasting time at the seashore, I’d be…)

To help me get started, they provided two sources: tryruby.org and railsforzombies.org. I now have some initial Ruby takeaways to share.

First, Ruby feels different. The creators of both sites say it’s the “programming language of Generation Nintendo.” It’s fun, witty, unpretentious and comes with a geeky sense of humor I like a lot. Although I didn’t dig too deep into it, I immediately sensed Ruby is a completely different habitat than Microsoft.NET Framework, which I’m mainly focused on.

Learn through imitation and repetition.
Understanding comes with time.

Unless you’re an Einstein (which I’m definitely not), you simply won’t understand the concept of a programming language when you’re an absolute beginner. “What is a class?” “What is a method?” “Wait a minute… what about strings?” As a newbie, you’re entering a land of confusion. You have to use rounded and square brackets (which are rarely used when writing emails, presentations and such), and type in strange command lines that look as if they were invented by aliens — poem_lines.to_a.reverse… Yes, it’s called coding.

Take my advice: Don’t even try to understand it. There are loads of friendly people out there providing tutorials, blogs and books. Confusion is inevitable in the beginning — no matter how much you stretch your imagination and try to grasp the concept of a given programming language — unless you follow my ridiculously simple, but highly effective advice:

Take coding courses without thinking and trying to understand.


You’ve probably seen a movie where the captain of a huge airplane with hundreds on board suffers a heart attack or similar fate. All of a sudden, the cockpit is orphaned. A brave passenger with zero flight experience steps forward and lands the plane safely, simply by following commands from the ground crew. That’s how I learn coding and I recommend you test my method. Here’s why: You get a lot of satisfaction from accomplishing a task, regardless of how you do it — even if you just type what the course instructions tell you, line by line.

But let’s get back to the movie analogy. If the ground crew starts explaining the basics of thermodynamics to the newly minted captain, all the passengers would be doomed, because as a beginner, you can’t understand thermodynamics in only a few minutes (again, assuming you’re no Einstein). By simply following commands without thinking about them, all the passengers have a chance at survival.

“Press the green button! What do you see on the screen now?”
“A ‘WHEELS READY TO GET OUT’ message.”
“Great! Now grab the control stick and press the blue button on the left…”

After a shaky but safe landing, the rookie pilot receives applause from the rescued passengers and wins the heart of the beautiful stewardess. That’s how life should be!

Now, let’s assume our hero is faced with the same situation over and over again. Each time he boards a plane, something dreadful happens to the captain and he must land the aircraft and save the passengers. Over time, he’ll start to understand the tasks he’s asked to perform by the ground crew. “Hmm, when I pull the control stick too much, the plane rises and goes faster, instead of slowing down.” One day, he reads about thermodynamics and starts to understand flying based on his vast practical experience.

It’s no different with learning programming languages. It might sound a bit foolish, but walk through as many tutorials as you can by mindlessly retyping the code provided. The more you type, the more familiar you become with the language and, over time, start to understand what you’re doing. That’s how we all learn most things— whether walking, talking, interacting with others or riding a bicycle. Did your mom or dad teach you how to ride a bike by explaining the laws of physics? Hell, no! You were asked to hold the steering rod with your hands and pedal with your feet. And although you didn’t understand what you where doing, after a while, you learned how to bicycle. Remember how proud you were?

As adults, we assume we can understand something in theory before we start exploring the subject in practice (if at all). What a waste of time! That’s the best way to become a Jack-of-all-trades, master of none.

The biggest challenge?
Hack! Mistyping code.

Another challenge — even greater than understanding a programming language — is the typing itself. As I said, when writing code for the first time, you use tokens you can barely find on the keyboard, such as {} or [] or ||. Even if you just type in the code from the lesson you’re working on without trying to understand it (as I advise you to do), you’ll mistype code. How to overcome this obstacle? By typing as much code as possible. The more you type and become familiar with the strange vocabulary of a programming language, the fewer mistakes you make and eventually begin to get it. “Wait a sec… shouldn’t I end every line with a semicolon? That’s it! That’s why I’m getting an error message.” It’s as simple as that. Not rocket science at all.

P.S.: I hope you’re not discouraged to join my journey towards computer literacy. For me, it’s pure fun. I believe you’ll experience first-time coding in a similar way — if you don’t try to understand, but instead put your trust in the power of imitation and repetition. Over time, it will get you to the point of comprehension. Enjoy!

19 1 / 2012

I’m On My Way to Computer Literacy: Care to join me?

Two weeks ago, I started teaching myself a computer language called C# (read: C Sharp). It allows developers, for example, to write applications for Windows Phone 7, such as the MiniBrowser app I created below.


While hanging around in my favorite café recently, a thought crossed my mind: “We’re entering a Golden Age!” Well, maybe not all of us. But 13-year-old kids who teach themselves to write code and create applications, set up services, start companies — maybe even future empires — certainly are.

“Is it too late to start learning computer languages from scratch if you’ve just turned 40?” I ask myself this question often, but with every app I write, I’m getting more and more confident: “The window of opportunity is still open — even for an old dog like me!”

I believe computer literacy is a crucial virtue, as does Wikipedia:

Computer literacy is defined as the knowledge and ability to use computers and related technology efficiently, with a range of skills covering levels from elementary use to programming and advanced problem solving.”

In a not-too-distant future, computer literacy will separate those who own the restaurant from those who bus tables. That might sound a bit dramatic, but take a look around. Everyone has a PC, everyone uses a smart phone or tablet, everyone is engaging on social networks. Our world is already divided between those who consume digital technologies and those who actively shape them. It’s like two continents drifting apart — and the gap is widening quickly. On which side are you standing?

Puzzle it out.
As I wrote in a previous blog post, I started teaching myself some initial IT basics a few months ago: I took a server apart and put it together again, started taking a closer look at virtualization technologies from VMware… Now these “puzzles” are coming together and starting to make sense: I’m taking my first steps as a rookie developer within the Microsoft.NET Framework. And I’m exploring VMware products, such as ESXi 5 and vSphere 5, to virtualize my physical hardware: I run Windows 7 applications on a virtual machine, Windows 8 Developer Preview on a second and Linux on a third.

It will take me years to become computer literate, but it’s not too late. I’ll document my learning progress with a blog post series, and hopefully inspire you to join my journey to computer literacy.

Apropos blog post series: I’m mulling over a title and can’t decide which works best. What do you think? “Rookies at Work”… “Fumble & Pride”… “It’s Not Rocket Science”… Or none of these? Perhaps you have a better idea? Please leave a comment or shoot me a line at Twitter @RafaelKnuth. Thanks, I look forward to hearing from you!

17 1 / 2012

How to Get Started in Social Media, Part 5: Teach and Learn

I began this blog post series as a collection of answers to questions I’ve been asked by managers assigned to launch and run social media initiatives in their corporations. With this fifth post, I will alter the modus operandi a bit: Instead of just answering questions, I’ll also discuss topics I haven’t been asked about. Please shoot me a line on Twitter @RafaelKnuth or leave a comment below. Thanks!

Achtung, here comes my uber-theory!

My uber-theory goes like this. Most of our interactions with other human beings, machines and corporations have one common purpose: to teach or to learn. If you want to learn how late it is, for example, you can ask a person sitting nearby, “What time is it?” You could also examine a device — a watch on your wrist, your smartphone or your PC. You can even call a telecom provider’s hotline and a friendly voice (in most cases, female) will tell you the time.

It’s unlikely a corporation will call to ask you how late it is, but they may want to learn if you’re happy with their product, when you’re planning your next purchase and other product-related feedback. If you aren’t disturbed by the caller and are in a good mood, you’ll provide the desired information.

Of course, the same company could send you a brochure on their latest products and teach you about the new bells and whistles. To make a long story short: Teaching and learning are two sides of the same coin. Sure, most educational initiatives (better known as marketing) launched at companies are irrelevant, poorly targeted or both. How many times have you received an advertisement for a product that didn’t match your interests — today alone? Dozens, I’d guess. But let’s put this issue aside for now; I’ll return to it later.

While the interactions above are pretty simple, others are complex. Let’s say, for instance, you want to understand string theory, but you have no educational background in particle physics. You’ll likely examine various sources: Buying a book on the subject or inviting a super-nerdy friend to dinner are among your options. In most cases, you’ll utilize the social web by asking, “Are any interesting videos or blogs discussing string theory?” There are likely thousands. The cool thing about the web is that it’s social. You can ask a blogger by leaving a comment when something is unclear to you, congratulate a video’s creator for great work and then share with others who also are interested in string theory.

The social web is the best educational platform on earth. If not the universe.

As you may recall from my “Only Swimming Will Teach You How to Swim: How to get started with IT from scratch“ post, I’m an absolute IT beginner who’s willing to learn as much as possible. My learning experience is routinely driven by trial and error, which makes it very frustrating and chaotic when I run into continuous errors. On the other hand, I’m in a dream-like state when my learning curve is steep but free of obstacles. This is the point I want to make: My journey is driven by blogs I find on the web, in forums I stumble upon and in feedback I receive from readers like you.

For example, when I tried to learn some basics about Windows 8, I posted many of the issues I faced on Twitter. It’s kind of a “message in a bottle” experience, because you never know who’ll respond. But I always got a response, mostly from complete strangers. I thanked them all and I got really cool answers. My favorite one came from @RickVanover: “You’re welcome. It’s all about the community.”

It’s all about the community.

I love that statement. If you’re supposed to run a social media initiative, make it your daily mantra. It’s all about the community… It’s all about the community… It’s all about the community…

But let’s get back to the educational materials you send out to customers by the thousands or even millions — your brochures, flyers, paid tweets, emails and more. Most marketers are happy with response rates somewhere in the lower percentiles (a strategy I referred to as “fishing with dynamite” in a previous post). You turn off 99% of (potential) customers hoping to get a call from the remaining 1% or so.

I should mention community does not equate with communism. The social web is an entrepreneurial platform par excellence: I personally make purchases worth thousands and thousands of US-Dollars annually based on conversations with community members: What type of hardware should I buy? Which events should I attend? What books should I read? Which courses should I take? With more than 2 billion people using the social web, it’s a hub for trillions of businesses.

Ask the right questions: What do you want to teach? What do you want to learn?

What if your company truly started educating customers instead of spamming them? What do your customers want to learn and understand? What do they want to accomplish and what obstacles will they face along the journey? And what does your company want to learn and understand? To perhaps enter new markets you may not fully comprehend but yearn to?

The lesson here? A social media initiative based on the desire to teach and to learn increases the likelihood you’ll become an organic part of the social web.

In upcoming posts, I’ll provide practical advice on how to become part of this ecosystem by contributing blog posts, wikis, tweets, etc. In the meantime, make a list of things you want to teach others — your customers, partners, the general public — and those you want to learn yourself. Think and explore!

22 12 / 2011

How to Get Started in Social Media, Part 4: What about using canned tweets?

This blog post series is a collection of answers to questions I’ve been asked by managers assigned to launch and run social media activities in their corporations. If you have questions, or if you’d like to chat, shoot me a note on Twitter @RafaelKnuth.

Question: What about using canned tweets?
Answer: No.

That’s one of the most frequently asked questions. Many managers are worried their team won’t engage in social media and try to resolve the issue by creating lists with predefined messages. All their team members need to do then is pick a canned tweet from the list, and copy and paste it to their profile.

People want to talk with other people, not with answering machines.

Let’s pick an everyday situation. How about going to a party with a list of canned conversation starters? Sounds odd, doesn’t it? It’s part of our human nature that we’re scared of the unknown. “What if I don’t know a single person?” “Will people stare at me?” “ “Or worse, ignore me?” People face exactly the same fears when engaging in social media, especially when doing so on behalf of their employers. “What if I do something wrong and get fired?”

Yes, Twitter is confusing. Yes, at the beginning you won’t understand those weird conversations packed with strange abbreviations. Yes, you might do something wrong. And yes, you might change your social media strategy over time. But while most people stick with the crowd and only move along with them, others are tempted to try out the new. “What if I change the game?”

Embrace the brave ones.
They’re less than 1% of your team, but they make all the difference.

The video link below shows how, in only a few minutes, you can start a movement. I love it, and it reflects how I think about social media engagement.

http://www.youtube.com/watch?v=fW8amMCVAJQ

A movement always starts with a small bunch of brave, curious people who want to be part of something new, fresh and cool. In my experience, on average only 1% of all people in a corporation can be considered the brave ones willing to take the first step. And they’ll keep moving forward even when the going gets tough.

But what if you have a team of only 10? The answer is pretty simple: You’ll have to do everything by yourself and likely won’t get any support at the beginning. If a lonely nut chooses to join you, welcome him as an equal and provide everything he needs to keep engaging. It’s all about empowering your team — even if the team is just you and another nut.

Should you force your team to engage?

No, you shouldn’t. I grew up in a communist country where people were forced to engage, for example, in military parades:  Swinging huge, red flags while singing dull songs praising the achievements of communism, such as fulfillment of the five-year plans (which, in reality, were never fulfilled), or glorifying leaders (who, bluntly speaking, were dumb, hated bozos).

Forcing people to do things against their will gives your company an air of North Korea or Belarus. People likely will boycott your initiatives and sooner or later, quit their jobs. Forcing people to do things against their will is a bad idea.

I personally can’t understand how people refrain from engaging in new and cool things like social media, but I had to swallow that pill. (And I encourage you to do so, too — the sooner, the better.)  But here’s the good news: When you respect people’s decision not to engage in social media, they will respect you in return. They won’t boycott your activities and likely won’t talk behind your back. You’ll have the freedom to do what you think works best for your company in social media.

Don’t pressure those who lack courage; they’ll follow once the crowd starts moving in your direction. Instead, embrace the brave ones and start real conversations about your company on the social web — rather than using canned tweets.