Grigor Yeghiazaryan

Software Developer and Designer

Un-procrastianation

| Comments

I have been a single developer working on my side projects for the last two years and I should admit that I have not been productive during this period. Procrastination hit me too.

It’s very likely to get off track and leave projects unfinished when you are on your own.Working with a co-founder produces better results. But what to do if you are a single founder?

I think I found the key. It’s a simple and beautiful way to overcome procrastination and stay focused.

You just need to find someone who you can report to. Right, that’s it.

It can be a friend, a family member, a co-worker. Someone who cares about you and your work enough to read your status reports and give feedback. And someone whose opinion about your performance is very important to you.

In my case that someone is my girlfriend. And this produces fantastic results. We both care about each other. She reads my reports every day and tracks the progress. And I feel motivated to get the work done each and every day. In addition she’s is in the target audience which makes her more excited. And she’s not a technical person which forces me to write the reports in human readable way and which helps me to focus on the most important things.

I have been practicing this for two months now and it totally works for me. I’m more focused, more productive and result-oriented. I’m un-procrastinated!

How to Ask Questions

| Comments

While browsing questions of new users at Stack Overflow I noticed that many questions get less attention and low rating due to being weakly formed. In this post I want to highliget some of the common problems and show how to make your questions better.

Read the official guide

If you are posting first time the ”how to ask” is must read. Not doing so means no respect to community and you will probably get appropriate response. The rest of this post are additions to official “how to ask”.

Learn from good questions

Look at high rated questions and try to understand how they are formed. Try to use similar logical structure, language and style for your posts. Improve quality of questions incrementally, by looking at other posts and taking into account feedback for every new post.

Change the names to Foo Bar

Domain specific names usually distract from the main problem. Also your names may be long which is also distraction. Try to rename variable and function names to some gerneric names. Foo and Bar are just examples, you can come up with other generic names.

Format the text

Use the text formating capabilities of the system. It’s important to format the code sections, highlight keywords in the text, use quotes and lists. Learn the Markdown sytax and make formating a habbit. Again look at the other posts for style examples.

Show your interest

When posting a question about your problem you may want also to tell what you have tried so far that didn’t work. This shows that you are really interested in the problem and it’s not a homework type question, though nothing’s wrong with it.

Be short and specific

Drop redundant data that is not related to the question. Redundant information is another type of distraction. Generally your post should not contain any information that is not helping to understand the problem.

Keep it up to date

When you start to get answers to your question you may need to make corrections and clarifications in your post. Also even if the responses don’t answer your question completely but make some clarification you may want to edit your question and add additional information to help others to understand it better.

I wrote this having Stack Overflow in mind. But the advices are general enough to be useful in general.

Lean Startup Is Hard

| Comments

Lean startup methodology is a scientific approach to entrepreneurship. I’m scientist and I love it. It’s revolutionary. But it’s hard. For some entrepreneurs it’s even harder than making something with a fear of ending up with a useless thing thus wasting time and money.

I assume you are familiar with the basic ideas of lean startup. Otherwise try to grasp the main principles or better read the book.

So why I think it’s hard and what can be done about it? Let’s consider the following practices:

Finding right people for customer interviews is hard

Even we can imagine our target users, getting to real people is hard. The right people may not be around and may not be accessible. Also we need to be able to identify whether the interviewee is the right person and is part of target audience. Otherwise we get inappropriate feedback and incorrect results.

Conducting customer interviews is hard

Even we realize that interview is set up for discovery and proving or disproving the hypothesis, we are still unconsciously biased. We may be so attached to our beliefs and ideas that we can miss the real feedback from interview. It’s the human nature. We first believe then find justification.

Figuring out MVP is hard

What should we build for our first iteration? How “lean” should it be? If it’s too “minimal” users may not find it useful enough. If it has more features then we may be wasting time building a useless product. I’m currently thinking about how to define MVP and trying to come up with some useful advice. So will write about this in future.

Designing experiments for validated learning is hard

As in science experiments are the essence of lean development. Everything starts like a ship being launched in a sea of uncertainty. Every feature being developed, every direction being taken need to be tested. But it’s hard to figure out what to measure and how.

Pivoting is hard

How do you know if it’s time to give up doing one thing and try another? Are you sure that there is no more hope and it’s safe disposing of your current idea? And again we are emotionally attached to our initial idea because we are used to build for success not failure.

This post does not discourage the use of lean methodology. I just tried to highlight the problems that most people will face.

It’s hard but not non-doable. Lean startup is a new discipline and there is not much information, experience and success stories around it. For successful implementation of lean methodology new mindset is required. We need to be more detached from our beliefs and ideas, and we need to learn to build for experiments.

Also I think new specialized frameworks and services will emerge eventually that will guide us through the journey called lean startup.

How to Pick Startup Idea

| Comments

I’m at an inclination point, where I think to stop what I’m doing and start a new thing. While working on my last idea I learned a few things that hopefully will help me to choose the right path to success.

Now the question is “if you got a few startup ideas which one you should work on?”

I came up with a few points that you may want to consider when picking an idea for your next startup. So you would want to pick the idea that:

Matches your long term values

This is basically the answer to the question ”why”. If someone ask why you are doing that, you could answer with proud. This has to be something high, something that you would want to do the rest of your life. This is the main reason that keeps you awake in the night and makes you quit your day job to work on it.

Can be built with the technology you want to work with

You need to enjoy the development process. Otherwise it becomes unpaid work. That’s why it’s important to pick the technologies, tools and services that you love. From another side the technology may influence the user experience of the end product significantly. So the choice technology becomes double important.

Solves your own problem

You are the first and the most important customer of your product. You need to feel the pain of the problem and be ready to pay for a similar product or at least become passionate user if it’s already built by someone else. This will help to make right choices along the development and prioritize the key features.

With similar services none of which is as good you’d want

If there are similar products or services that means there are developed markets with existing users and customers. Which means if you make slightly better product or service some of existing users may want to switch. Theoretically! Improving on existing product is safer and chances are you will get a usable product.

Has business model other than advertising

At the end of the day it has to generate money. But how? There are many cool ideas without consistent ways to monetize. Better to think it up front and come up with a strong business model. Personally I hate ad based monetization methods. The customers need to get real value that is much higher than the cost they pay.

General enough, so you can find users

Many experts advice to pick a niche market for small business. However finding users for a specialized product is hard. My approach is to start with a more general idea, pick enough early users and go to more specialized product for better differentiation. And probably end up in a niche. This is very tricky. But one thing is obvious. You don’t want to build something that does not get enough users.

Matches your areas of interest

Blogging is important part of startup marketing. While developing your product you are going to write about and around it. Better if it’s related to your interests. So you can get interesting information and pick juicy subjects for your posts.

These points may be obvious to you. But I wanted to highlight my priorities and pin it to a page.

So what are some of your priorities when picking an idea?

The Why of Your Startup

| Comments

After watching Simon Sinek’s TED talk ”How Great Leaders Inspire Action” I thought how the golden circle could be applied to startups. The central question in the golden circle is “why”. Why are you doing what you are doing?

In this post I’m not going to explain what is the golden circle and why it is so important. If you have not watched the talk, stop now reading and go to watch.

“People don’t buy what you do; they buy why you do it.”

This is the main message of the talk. So what could startups do to show off their “why”?

The “why” can be anything between your values and beliefs to desire of changing the world and making it better place to live. Showing the “why” practically can be as simple as coming up with a good and catchy slogan and as complex as defining company’s strategy.

But to make it clear I came up with five practical things that you can do to show the “why” of your startup.

Express your passion of the subject

Constantly research the subject area. Blog about your findings. Share related news. Discuss allied topics on forums. Show that you are really interested in the subject and not hesitating to spend your valuable time on it. People who have the same passion will follow you.

Write down your values

Have a section where you tell about your values and beliefs. And that should not be something hidden deep under About / Corporate / Management / Values menu. Put it right on the first page, so anyone visiting your site could see it. People who share the same values will follow you.

Show the destination

Present the future as you envision. Tell how do you see the world with your ideas implemented. What they can expect? If they take the journey with you, where they will end up? People who want to get there will follow you.

Tell the story

Behind every initiation there is a story. Why did you decide to do what you do? How it happened that you came up with the idea? Find your story and tell. People who find your story familiar will follow you.

Introduce your team

People behind the scene are the most important part of your startup. Your team mates probably have the same values and beliefs. Show your team. And put it on the first page. People who want to be part of that team will follow you. Some of them even may want to work with you.

These ideas represent my imagination on what could I do to answer the question “why”. It does not pretend to completeness or even correctness.

So what are some of your methods of showing the “why” of your startup?

Why I Switched to Octopress

| Comments

I have tried all famous blogging platforms, Blogger, Wordpress, Tumblr, Posterous. Every time switching from one to another I saw some benefits. But I was still unsatisfied. I’m perfectionist and always looking for better ways to accomplish things. Something was still missing. Until I realized what.

I wanted to separate content from representation, have more control over my data, better integration with 3rd party services and cheaper or free hosting.

And here you go. Octopress satisfies all these whims.

Octopress is based on Markdown. Markdown is set of conventions for formating text information. It’s designed for easy input and conversion to HTML or other formats. But it’s also readable in source form.

When I got some experience I decided to write all my documentation in Markdown. And blog is not an exception. It’s more convenient to type in Markdown rather than use different types of WYSIWYG editors.

Another side of using Markdown is separation of content from representation. If needed I can completely change how my posts are rendered. This type of flexibility is one of the things I was missing with other platforms.

With Octopress I can store my posts in Git. This does not only mean version control. I can also keep backups on different servers and migrate easily from one hosting to another when I want.

If I am going serious about blogging I want to be sure my write-ups are kept in a safe and accessible form. This feeling of ownership is another thing I was missing with other platforms.

Octopres requires only an HTTP server. In Octopress posts are stored in HTML files. There is no database. All content is served as static files. This boosts the performance significantly. Any simple and cheap hosting can do the job now. And there are some free options to get started, e.g. GitHub Pages or Heroku.

Octopress is usable out of the box. It comes with built-in integration with many 3rd party services. Comment out a few lines in configuration file and you get Twitter, Facebook, Google+, Disqus and other services connected to your blog.

Though default theme of Octopress looks very solid, we have full control over the look and feel of the site. Based on the design philosophy of Octopress and Jekyll (the static file generation engine) I would think that we have much more control that in any other platform. But I haven’t gone much into this yet. I still like the default theme.

I feel completely satisfied with Octopress now. And that feeling gives me additional motivation for new blog posts.

Why I Write

| Comments

The simple answer is because I feel I need to. But you are here not for that answer.

There are many write-ups about why should someone blog. They cover both objective and subjective benefits of blogging. This is not a generalization of these ideas. I want to tell about my personal reasons, the ones to which I came myself while learning through living my life.

Here are 5 reasons from the top of my head:

I get it better if I write it down

Since college years I noticed that when I write my ideas I get them better. Later I realized how it works.

When you write about something you need to think of every detail of it, make logical connections between pieces and represent it in a simple, readable form. And while performing these steps you think about the subject deeper, from different angles and as a result you get it better.

Since then whenever I want to crack complex subjects down I write them.

Writing improves my writing skills

I want to be good at English writing. Not good, even better.

The single most effective way of mastering something is constant practicing. And how do you practice writing? Right, by writing. But people normally don’t write much during the day, of course if that’s not what they do for living. I also don’t write much at my job.

So blogging makes a perfect sense to me for improving my writing skills.

I want to share my knowledge

Really, I want to share what I know to help others.

And I truly believe that it is also for my own sake. If people around me know as much as I do, then I need to learn even more to catch them up. This is a little secret tool to keep me in constant learning loop.

Actually I think knowledge sharing is a powerful motivator for constant learning.

I want people to know me

Ideally when meeting new people I would let them know my blog’s URL and they could learn about me eventually. In reality no one is going to read all the stuff I’m putting up here. Even if some of them do, I’m not going to write about everything.

But the blog can be used to express my opinion on a particular subject. Whenever they want my opinion on a subject, a blog post can be the answer. And the URL of the post can be thrown in for discussion. I find this an effective way of getting others to know me.

I want to get followers

I would like to be famous. Not kind of star-famous. Simply get like-minded people to read my blog regularly. Why do I need this? Come on, you know why. Read the about page again, I’m bootstraping my startups and I need to spread the word.

I belive if I post interesting and quality content regularly I may have a chance to get my followers.

Resurrection

| Comments

Finally I decided to give another shot to blogging. This is my third attempt.

If you skim over the previous blogs, you will see that it becomes more serious with every new attempt. And hopefully this time it’s already at the level of seriousness that I’ll stick to it.

Crossing fingers and stopping breath for a moment I think loudly “promise to take care of this one”.

More technically, I’m just writing something to test out this new blogging platform that I choose to make my life more difficult.

In short, Welcome!