Friday, December 13, 2013

How to screw up a startup community


Organize meetings, social events and hackathons, pretend you want to help the community, then use the ideas you saw there to serve your personal purpose. In order for this to work, you have to keep for yourself everything that you work on until the launch day, while you encourage the participants to tell you as much as possible about their businesses. If they ask you something about what you're working on, lie to them, otherwise they might not come to your future events.

This happened to me (I was at the receiving end of this "business model")

I started to work on EatFab sometimes in November 2011 in order to solve the problems we faced with food ordering management (the major problem is that a lot of time is spent to centralize the orders). We started to use it at my current employer in September 2012. 

In December 2012 I found out about Open Coffee Cluj - a group formed for the like minded people, entrepreneurs and people with initiative. At least that's what the organizer of the meetups, Marius Mocian, told us. Everything seemed to work well, we exchanged ideas, we talked about what we're working on, the problems we faced and we had brainstorming sessions whenever someone raised an issue. Except that when Marius was asked what he was working on he was always vague, saying only that he mostly mentors other startups. 

Six months later, around May 2013, a mobile application is launched for the food delivery market in Cluj-Napoca. Shockingly (in an unpleasant way) for me, I find out that Marius Mocian is the one responsible with the marketing of the app, with some responsibilities in product development and he was occupying that role for several months. While keeping his main occupation secret until the last time is legal, I find this to be immoral, to say the least, because he kept organizing the startup related meetups and encouraged us to keep giving statuses related to our workings.

Although all of my gut feeling alarms went crazy, I deceived myself by telling me that it just looks like we're competing in the same market: his application is for individual deliveries, while EatFab is for office food ordering, so we're kind of complementary and he didn't had any kind of moral duties to disclose he is deeply involved in development of a competing application. 

So, I continued going to the events he organized and continued to be very open related to EatFab - that's what you read on hackernews, /r/technology and /r/startups afterall: be as open as possible and let as many people as possible know about your ideas. I brought several people to the meetings, in the hope that we'll grow the whole startup community together. I also went to the Startup Live event that he organized in Cluj just because he didn't had enough participants - I convinced one of the Evozon's owners to pay the tickets for a whole team there and also persuaded several other developer friends to come. All of this, just to help the local startup community to grow and to have meaningful events here.

The cunning gets real

In September 2013, I saw an ad on the biggest social network, aimed exactly to EatFab's market: office food ordering. After thorough investigation (because the domain owner enabled private registration), I found out that the man behind it is Andrei Barabas, the owner of Barandi Solutions - a company from Cluj, with its owner deeply involved in the startup "community" created by Marius Mocian. Andrei also participated to the Startup Live event I mentioned earlier, as a mentor and member of the jury. 

Let me remind you that this was happening almost a year after I told them about my approach on the food ordering market: office delivery for groups of people. And 4 months after Marius's application launch (not quite his app - he's just an employee there) - an application that didn't had the expected impact on the market, although it's a very sexy application and they had a decent budget for marketing.

I found the idea of a competing web application, exactly in Cluj, exactly on the main workings of EatFab, after a very short period of an unsatisfactory launch of a competing app, done by a guy who knew about EatFab as a huge coincidence.

Being in the same market, I thought about letting Marius Mocian know about my findings. 
I also asked him if he knows anything about it - his answer was a very strong "I have no clue", but said that he'll ask Andrei about it. A few days later I asked Marius if he talked with Andrei and he said that yes, but that he can't tell what the site is about and that I'll have to ask Andrei.
Today I met with Andrei (the guy who works on EatFab's copycat) and asked him about what he's working on. 
His answer "The web part of Marius's application"

Business rules, and types of people

While what Marius Mocian did is not illegal (not from what I know at least), it is highly immoral: lying, deceiving, cunning and betraying are not healthy ways to build communities and businesses. While my unfair advantage is the usage of +Perl and +Mojolicious, having a high productivity and short time to market, it looks like Marius takes the idea of unfair advantage literally. 
Marius's kind of people when employed, are able to develop a parallel business based on your business model while you pay them a monthly income in good faith. They're able to steal the source code of your application, put a different skin on it and try to build a company based on it (Marius said once that copycats of his app started to appear on the market soon after their launch - an affirmation which in hindsight might mean more than I thought). 

I hate rants and public complaints, and this post is exactly that, but, while I learned about Marius Mocian the hard way, I want to ask you to help other people find out about this typology. 
So, please share this article on reddit, hackernews and wherever other people involved in technology and startups are present so that when someone will be interested to collaborate with Marius, they'll do it knowingly.

Also, by making this type of articles popular, people will become aware on the importance of honesty and will realize that the greatest asset we have as individuals is our reputation.

Sunday, October 13, 2013

Why I'll never leave Romania as a software developer

I am a +Perl software developer for since 2010 and I'm a paid software developer since 2006 years. I live in Cluj-Napoca, which is the second most populous city in Romania. 

After about just 3 years after I become a paid programmer I started to have this feeling that I wouldn't have the same standard of living in another country as a software developer that I have in Romania. Back then I was netting around 700 EUR/monthGiven that the average net income in Romania in that period was less than 325 EUR, it was probably the fact that I'm earning more than 2x than the national average income that created this feeling that I don't want to leave. Anyway, that was just a feeling and although I was earning that much compared to the rest of the people, I felt like struggling with money from one month to another. This struggling was caused mainly by my lack of money management skills.

Programmer's Income in Cluj-Napoca

Although the trend changed here and there from time to time, the general rule for paying a decent software developer in Cluj is the following (I'm always talking about after tax money - net income): 

  1. the developer starts with about 400 EUR
  2. every 6 months she gets a 100 EUR raise

Within some exceptional cases, things might vary - for good, or bad. 
In a good sense the programmer is able to force a raise:
  1. by simply asking
  2. by going to interviews to other companies,
  3. by changing workplaces from company A to company B and then back to A
  4. and of course, by having extraordinary performances and negotiating a raise
In a bad way, programmer's income can increase slowly if:
  1. the company he works for does not perform well
  2. he is not a good negotiator
  3. the company is a shitty one and, given that he's satisfied with what he earns, is not raising his salary although he deserves so
  4. he is not performing well

So, it not exceptional to find a programmer with 5 years of experience netting 1500 EUR/month, or one with 7 years of experience who earns 1700 EUR/month.

From Feelings to Numbers

Recently I found the great numbeo site which gathers prices from the cities all over the world and exposes them publicly. More, it can show comparisons between 2 cities regarding prices, salaries and correlating that with the total purchasing power, it gives estimates of one's needed income in order to live in another city.  With its help I could justify the feelings and confirm my hunches that it's impossible to live that well in other part of the world as I do in Cluj:

CityReference IncomeRent in foreign cityIncomeYearly net income
New York48485,494.402,214.007,708.4092,500.80
San Francisco44845,081.872,216.007,297.8787,574.40

How I reached those numbers

Reference - it is how much one should earn in the given city to have the same quality of life as in Cluj, when in Cluj earns 1500 EUR net/month. In the table are displayed money after taxes, or net income, paying rent in both cities.
Income 1 - It is the net salary that one should earn in in the given city in order to be at the equivalent of 1700 EUR in Cluj, paying rent in both cities. I consider 1700 EUR, because this is close to my actual salary and it is an average income for one developer with 7 years of experience.
Rent in foreign city - rent for a 3 bedroom apartment, outside of city centre
Income 2 - given that I don't have to pay rent in Cluj and I'd have to pay in the foreign city, this is computed by accumulating Income 1 column and Rent in foreign city column
Yearly net income - Income 2 column multiplied with 12 

More Data Needed

We'd definitely have a much more clearer image if there would be a column with average programmer net income in those cities. Unfortunately, most of the sites I've looked are displaying only the gross (pre-tax) yearly income and it is rather impossible to compute the net income without thoroughly knowledge of the local laws and fiscal policies. So, if you have knowledge of the average net income a programmer earns in the above cities, please share them with us in the comments and I'll update this post.

Programmers Lifestyle in Cluj-Napoca

Given the low purchasing power in Romania in general, the day by day prices are also very small. Have a look at the numbeo page with prices for Cluj
In 1700 EUR/month you have whatever type of life you want - for a party animal, a way of living here can be: 
  1. eat in the city every day (12 EUR for 3 meals/day * 30 days = 360 EUR/month).
  2. go out in the most expensive clubs every weekend (30 EUR/night * 8 nights = 240 EUR/month)
  3. have as many beers you can drink every day of the work week in the most expensive pubs (5 beers * 1.5 EUR/beer * 22 days = 165 )
  4. circulate only by taxi (5 EUR/day * 30 days = 150 EUR)
  5. pay rent and utilities (370 EUR)
  6. total: 1285 EUR/month
If you like to live healthy, the costs are much lower. 
Cluj-Napoca is a university city, during the academic year its population increases with 33% (100 000 students are here) making it a busy town. Almost every day there is some cultural event to be part of, a movie projection somewhere, a concert to attend, or a party in some club. Being surrounded by so many young people makes me feel younger (I'm not that old though, I'm 31).
I live at one end of the city and Evozon's office is in the center of the town. It takes me 10 minutes by car to reach there, it's great.


Besides money, there are definitely other things when I considered moving, like entrepreneurial opportunities. That is why I chose the above cities: they are some of the most active cities with regards to startups and IT in the world. Those would be the cities I'd consider moving to when my entrepreneurial desires will take over. But until then, I am staying here and I'm doing my best to be an active part of the young startup communities that are getting born in Cluj.

If you read this far and liked the article, get rid of your shyness and share it using the buttons on the left :)

Saturday, August 17, 2013 for promoting Perl

I got the opportunity to be present at YAPC::EU 2013 in Kiev and it was great. I even had a lightning talk in which I talked briefly about PRForge and presented a way in which it can help the perl ecosystem to increase its overall reach and audience.

Although I prepared my talk thoroughly beforehand (by repeating it more than 10 times in front of my computer's camera), when I reached the stage my voice started shaking and I got so nervous that I wanted to run off the stage, thus I didn't manage to get into much detail regarding prforge. I hope this post will clarify the details I left out of the presentation and bring in some more.

What is PRForge

PRForge is a web platform, where users can create groups based on shared, common interests. Whenever a member of a group posts something in that group, the posted URL will get promoted automatically on each other's member social profile through a set of social network actions: 
  • facebook share
  • facebook like
  • retweeted
  • favorited on twitter
The above are the social actions that we've implemented for now. In the near future we might integrate actions on Google+, LinkedIn, Pinterest and others.

PRForge is made with Perl, Mojolicious, DBIx::Class, Bootstrap and a healthy dose of love and passion.

Popularize Perl through PRForge

Use PRForge to promote Perl and get in a win-win-win situation, whichever of the below categories you find yourself in:

Perl supporters, fans and enthusiasts

You will get to be seen by your friends as hard core perl users and perl evangelists, because you'll have several perl related articles on your social network profiles with no effort.

Perl bloggers and content creators

You will increase your overall audience because of the contstant and extended sharing that takes place through PRForge.

Perl community

The overall increase in perl awareness can be nothing but beneficial to all programmers, because they will be exposed to an efficient and highly productive language - Perl.

Get up and running with PRForge and promote Perl

In order to use PRForge to promote perl, you have to satisfy several conditions:
  • you must have an account on PRForge
  • you must be a member of the Perl group on PRForge
  • you must have PRForge's Firefox plugin installed
  • you must have Facebook and Twitter accounts logged in with that Firefox instance
If you want to be able to promote Perl related links through the group, you must have the role of influencer in the group. Right now, I am the only person who can promote you to influencer, because the UI is not implemented yet in PRForge. So, please hit me an email after you join and ask me to make you one at tudorconstantin at gmail, or write in the comments section of this blog post (although, I think I'll find out more through the email)

  1. Sign-up PRForge and join the Perl Group
  2. Download (from the "Go get it champ" URL in the left menu bar) and install (by drag&dropping the prforge.xpi file downloaded earlier over your ff browser) the Firefox plugin
  3. Log into FB and Twitter on that FF instance
  4. Drop me an email and let me know if you want to be an influencer (if you want to be able to submit perl stuff to be promoted through the group)
That should be it - let the Firefox browser instance running with your FB and Twitter accounts logged in, and it should get jobs to to from PRForge whenever an influencer posts something to the group.

Promote Links

For now, only individual Facebook and Twitter posts can be promoted. So, below are the steps you need to make once you are an influencer in the Perl group.

For Facebook: 
  • the one who promotes the URL, will share it on facebook publicly
  • go to the individual link of the post (by clicking on the timestamp near the world globe icon of the post)
  • paste that link into PRForge

For Twitter:
  • go to the individual URL of the tweet (click on the tweet, then click on details)
  • paste that link into PRForge

Privacy Concerns

You have to install the PRForge Firefox plugin, which, as any other plugin, can do a lot of stuff - the only thing PRForge does, is making requests to the social networks that you enabled for each group you are a member of and to to ask for jobs, in the context the browser has (ie: in the name of the logged in account).

Regarding what other users will do (what links they'll share), we can not know that beforehand, but we start with the assumption that all the members of the group and especially the influencers are well intended. I will do my best to find out the relationship each influencer has with Perl and deny the advancement to influencer to people that have absolutely no whatsoever with Perl.
Will any influencer be able to submit links that promote the manly blue pill and fake brand watches? Sure they will, but just once, because they'll get banned right afterward.

I want to let you know that PRForge is in close, private beta, and the only group that got access until know, is the Perl group. This is because I feel that programmers can relate better to potential bugs that might appear in early stage products (like PRForge).

If my YAPC lightning talk didn't convince you to join PRForge, I hope this post did, so please sign up, join the perl group and start making noise about Perl. It's a whole world out there who doesn't know what is losing for not using Perl - let's help them!

That's it. If you need further help, please don't hesitate to contact me - in the comments or at the email I specified earlier in the post.

Tuesday, April 16, 2013

Translate Perl Tutorials to Ronglish

+Gabor Szabo, the editor of +Perl Weekly and the author of +Perl Maven had a great idea to translate good Perl tutorials in as many other languages as possible. We already have three Perl articles translated in Romanian

This as a great opportunity for you to learn +Perl  by translating (if you don't already know). If, on the other side, you already know +Perl you have the opportunity to give back to the community. For me it's great feeling to know that I can contribute back, I highly recommend you to try it.

Native language vs English

We know it is best to learn programming in English, but there are some categories of people who are not very proficient at English and find it difficult to understand it: kids, for example.

Translating to full native language is not beneficial either. Imagine you'd translate the string into Romanian's coarda. I'm sure some sensible folks would find that insulting. In addition, getting people used to technical programming terms in English will make it easier for them to understand tutorials later. All of the above are justifications to officialize and use the famous Ronglish language as a target translation: glue phrases into Romanian, while technical terms kept in English.

Spreading the word about Perl

The most important plus regarding translation is the opportunity to get +Perl close to developers.
From what I saw until now, people tend to see us, the Perl developers, as some kind of mysterious creatures, everybody knows that we exist, but nobody knows  any of us.
They are right: we call ourselves mongers, monks, one of our logos is a velociraptor, our frameworks promote unicorns and rainbows.
For me personally this is flattering, it makes me feel a special kind of developer. I want others to try this feeling too - it is much more easy than one might think.

Do it!!

Enough talk. To get started translated, go to the Github Repository of Perl5Maven and read the instructions. You'll also find there the way +Gabor will promote the translated articles.

If you liked this article, follow @tudorconstantin on twitter to keep in touch.