ailon's DevBlog: Development related stuff in my life

Local(ized) Developer Resources Are A Waste of Talent

8/31/2011 7:02:12 PM

Photo by Stuart Caie

Living in a small country forces you to learn English to some extent to be successful in any area and especially in programming. On the other hand, developers in larger countries like Russia, China, Japan, etc. can be successful with no working knowledge of English, because of large internal communities. And even for them, I would argue, being able to at least read in English is a critical skill that should be learned before everything else. That said it’s pretty obvious why large developer platform companies like Microsoft invest into encouraging local talent in these larger markets to blog and speak about their technologies in local languages. It’s an open market and whoever serves it best wins.

But, as I mentioned above, developers in smaller countries comprehend English technical texts as good (if not better) than in their native language. After all not many know all the “artificial” local technical terms. We may suck at writing and speaking (like I do), but we are pretty good at reading. It’s nearly impossible to be hired for a developer position without being able to read in English.

Unfortunately large corporations have a generalized view on local evangelism. Local talent in small countries is encouraged to blog in the native language, creating content that is either already available in English or that 0,0002% of world’s population can read. Usually both. I think it’s a wasteful practice. Instead of creating real value for the worldwide developer community (and for themselves) these talented individuals waste their time on work that shouldn’t be done at all or done by translators.

And market rules that are easily applicable in large markets do not apply here. Because, guess what? No one cares about reading a blog post about solving a general programming problem in Lithuanian. And if I’m looking for a solution to my problem and can only find a blog post about it in Hungarian it’s a waste of someone’s talent. I could’ve solved my problem. I could’ve subscribed to this person’s blog, followed her on Twitter and suggested my local evangelist to invite her to an upcoming conference. But none of this happens because the global policy is to foster original localized content.

I think it’s stupid.

Tags: , ,

Service Work Kills Products

8/23/2011 4:01:43 PM

Photo by Nicholas Morant

I really enjoy reading stories about people breaking out of the machine and becoming indie developers. In Windows Phone world a role model indie developer is Elbert Perez. He has developed more than 10 high quality Windows Phone games and was able to quit his day job to pursue independent game development fulltime. He is really open about his professional indie-dev life and regularly posts updates about his experience in his blog at

In his latest update Elbert writes (emphasis mine):

I have taken extra side projects to help keep the coffers full, which somewhat slowed down the cadence of which I release my games. My strategy for making games has not changed, but I have become more open minded about taking on work for other people as long as it has something to do with WP7 or games.

And he concludes with

I’ve been really busy with other projects, but I am still working on my games…

That really resonates with me.

I’ve always wanted to be a product(s) “company”. I’ve worked on several products over the years, but I never had a runway (as in cash) to support a year of product development without reasonable return. So I supported my “dream” by doing contract work.

Except providing services pays (relatively) instantly and risk-free. And it’s a hard drug. The one that you don’t even enjoy, but have to inject to avoid withdrawal pains. Combining “working for yourself” with working on a product is much harder than working for a man and working on a product in your off-the-clock time. You don’t have any off-the-clock time when you work for yourself.

I’ve had a product which at the time it was launched (2003) was definitely contending for No.1 spot in it’s category. One problem – it didn’t make enough money to fully support me. And I had no extra money to keep me afloat while I was improving, marketing and otherwise working on it. So I fooled myself that I can work on client projects to fund the development.

Fast forward 5 years and my product, which only got attention now and then, was no longer at the top of the list. It is still successfully used in projects and products but I’ve totally missed a perfect chance at establishing it as a market leader. And the money I made working on these side projects is just money paid in exchange for labor. Bitch work. Even if well paid. No longevity.

So I decided to get rid of all the “service” work and concentrate all of my attention on the “product” work. Unless you have a deep rainy day fund you can’t just do this overnight. So I’ve been launching various smaller sites and products here and there and was able to accumulate Ramen-level stream of repeating income to support my endeavors. I did it on my own for a couple of years, but if you want some guidance on how to achieve this, just read The 4-Hour Workweek book.

So now I’m fully invested in my current product and, even it fails, it won’t be because I neglected it to get some shrimp into my ramen. And that’s how I know it will succeed.

I guess the moral is – if you have a good and promising thing going you shouldn’t waste your time chasing some extra cash. A few extra dollars won’t affect your well-being in the future, but a successful product will. There’s a Lithuanian proverb “Nemesk kelio dėl takelio”. This could be literally translated as “don’t get off the road for a trail”. I bet there’s some English equivalent, but you get the point.

Tags: ,

Modest Windows 8 Wish: System-wide Spellchecker

8/18/2011 4:12:10 PM


The BUILD conference is coming and lots of cool new revolutionary things about Windows 8 will be unveiled. I, on the other hand, want to ask for a simple mundane change from Windows 7 and earlier versions – move the damn spellchecker from Office [team] to core Windows [team]!

I write in 3 languages on a daily basis – English, Lithuanian and Russian. I have spellchecking for all 3 of them in Office apps.

I only have an English spellchecker in Windows Live Writer. That’s why there are a lot of stylistic mistakes in my blog posts, but not many spelling mistakes ;). But if I blog (say) in Russian, I don’t have a luxury of my PC looking out for me. So I have to either not suck at spelling (impossible when the last time I had to spell correctly in Russian was 18 years ago) or simply subject my readers to crappy texts riddled with spelling mistakes.

What’s worse is that in Internet Explorer 9 there’s no spellchecking at all. I know that there are 3rd party spellchecking add-ons, but they made the browser unstable in some circumstances. I honestly tried to use IE9 as my primary browser for a month or two but eventually gave up. There are other reasons why I use Chrome and not IE9, but absence of spellchecker is definitely my number 1 issue with IE.

The fact that all of the above mentioned products are made by Microsoft and that I have spellcheckers for all 3 languages installed on my machine is ridiculous. There’s no excuse for this except for some organizational issues inside Microsoft and I shouldn’t be exposed to them as a user.

I’m totally looking forward to all the cool things in Windows 8, but, please Microsoft, end this idiocy with spellchecking. There’s no excuse for not having a system-wide spellchecking engine with an API for 3rd party apps in 2012.

Tags: ,

The Age of Designer’s Revenge

8/16/2011 6:33:25 PM

Photo by Dan DeLuca

Back in 2004, when Transvaal Aquapark collapsed in Moscow, I remember reading a very long rant by some structural engineer about what she thought was a global root of the problem. I couldn’t find that post right now, but I remember the point of it vividly.

In USSR no one really cared how buildings looked. It was important that they don’t collapse and primitively serve their purpose. Structural engineering was way above than architecture in the ranks. Architects were sort of oppressed by engineers.

Sounds familiar?

Then Soviet Union collapsed and suddenly everyone wanted their buildings to be pretty. The balance between architects and structural engineers switched. And architects held a grudge from being abused and disregarded for all these years. So they started oppressing and disregarding engineers. The point of that lady was that it got to the point where engineers had no say in what makes sense and what doesn’t, which eventually led to tragedy.

If we take a look at software engineering, it’s difficult not to see the parallels with soviet structure engineering. Programmers “oppressed” designers for decades. In engineering driven companies like Google or Microsoft this is probably still the case. Listen to this episode of “This Developer’s Life” where Microsoft’s designer Michael Bach complains about this still being the case and mentions the Douglas Bowman’s post (linked above) about Google. But look at Windows Phone and you will see that the situation is changing.

This post was inspired by this tweet by Aral Balkan.


Aral is a well known user experience designer and speaker from UK. His talks are really inspirational and very well presented (even if a true geeky developer could argue that he is selling common sense ;).

Immediately after seeing this tweet I’ve remembered that architecture/engineering rant from 7 years ago. If you’ve never lived in USSR you’ve probably never seen this transformation. But worst type of tyrant is someone who was oppressed before and is holding a grudge. Or is this the only possible type?

So we’ve oppressed designers for decades. Some of them are definitely holding a grudge. And it seems that now is their turn to rule. Hopefully it won’t result in any global tragedies, but we, developers, should prepare to be abused. Or, you know … switch to user experience design.

Tags: ,

Don’t Automate Technical Administrivia in a Startup

8/12/2011 2:22:50 PM

Photo by Chris Stickley

Yesterday I’ve spent 6 hours semi-automating a technical administrivia task on AdDuplex.

Up until now I did log archiving and truncating manually, along with some other things. I did it once in 2 weeks at first, then once a week and lately 2 times a week. Each time it took about 10 minutes of attention (netto). It actually takes about half an hour but most of that time I can do other things while different processes are in progress.

Whenever I told that I did this manually to a corporate alpha-geek developer or admin they frowned. As a self-respecting developer you are supposed to automate these things. I always responded like “it’s on my to-do list but with a relatively low priority”, but I always felt like I’m hiding my laziness under this “low priority” mask.

Some time ago I’ve read a book by Rob Walling titled “Start Small, Stay Small: A Developer's Guide to Launching a Startup”. Here is a brilliant quote from it:

Every hour spent writing code is wasted time if that code could be replaced by a human being doing the same task until your product proves itself

This brings perfect sense to what I’ve been masquerading as “low priority” task. And I disregarded this advice yesterday.

I’ve spent 6 hours working on something that took me 20 minutes a week to do manually. This means that my “investment” will only payoff in 4+ months and there’s no guarantee that in 2-3 months I won’t rewrite some parts of the system in a way that will render this automation code obsolete.

I’ve effectively borrowed time from my own business and didn’t add any value to users in the process. I could’ve worked on something that is useful, but I behaved like a disgusted “self-respecting” developer, not like a businessman. And now I’m writing this down, so I don’t behave the same way again.

Tags: , ,

Fundable Startup

8/9/2011 6:00:43 PM


I've recently visited AngelList and saw a list of startups with their tagline next to the name. Approximately half of these startups had a tagline in the form of "[Insert hot startup here] for [insert some niche here]".

It was amusing at first, but then I remembered something I've read or heard somewhere. The idea was that good Venture Capitalists do extensive research on the companies and markets they are going to invest in. And lazy VCs just assume that good VCs did their research on this concept so it's safe(r) to invest in these "copycats" than in something completely new and unproven.

So, I created a tool that helps you find an idea for your next great and — most importantly — fundable startup by randomly combining other hot startup names with some industries and niches.

Unfortunately I was unable to come up with something fitting this formula for my own startup. Let me know in the comments bellow or @ailon on twitter, if you have an idea. Or you can just follow AdDuplex on AngelList.

Tags: , ,

Copyright © 2003 - 2017 Alan Mendelevich
Powered by BlogEngine.NET