Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Stanko/cb3e287f9ee6b836cdfad5d04a3fb208 to your computer and use it in GitHub Desktop.
Save Stanko/cb3e287f9ee6b836cdfad5d04a3fb208 to your computer and use it in GitHub Desktop.

Short guide for Startup Software Engineers in 2nd/3rd World Countries *

Hi, so this is quite a personal text as I have been striving to build and work for a couple of startup businesses for the last decade and I’d like to share a couple of observations and perhaps useful tips if you decide to swim in that area, or you lack to understand why are you constantly sinking. First, let me explain “2nd/3rd World Countries” – it’s not necessary related to Eastern Europe, Asia, or some even less developed economies, but in the eyes of Silicon Valley that could be easily considered as “the rest of the world”, however, for the purpose of this gedankenexperiment, I’ll focus on Eastern Europe, region I live in and know well. Second, “Startup Software Engineer” means that you’re obviously an engineer and that you’re fully committed working for a company that yet doesn’t have successful business model, product is in the phase of development, you’re not making any profit and you’re basically burning the cash you’ve got in some form of investment (3F, angel investment, VC, credit card, etc.) and you’re either paid through the equity, salary, or both. To raise bar a little, you’re working for a company targeting global market and your product is not strictly oriented towards copycatting and localizing already existing product, so in other words – you’re creating some global value. I’ll try to walk through the several chapters illustrating what I believe are a common obstacles and challenges.

Why would I want to be one?

Motivations are different, and there are common pros and cons of being a so called “startup engineer:. Common pros are that you have a lot more freedom, your job is more likely to challenge you on every corner, you have a closer contact with the business you’re building, you have a better chance of creating a new value and “changing the world”(tm) and there is a remote chance that you might get lucky and hit a jackpot. On the flip side, you have (relatively) lower job security, more stress, longer working hours, more emotional involvement and you’re constantly damaging your health, social and personal life. You should carefully consider what of these you value more and make a hard choice(s), however have in mind that nothing comes without a price and price is always correlated with the location in your life’s coordinate system. In case you’re young, you don’t have a career to ruin, you want to learn a lot, you don’t have much to loose except your health and your life standard is generally low, price that you pay is significantly lower than the one you’d pay if were an executive in a successful IT company, you have a family to feed and loans to pay.

Demographics

It basically sucks, really. Even the ecosystem of engineers in Valley, where you can witness one of the highest ratios of engineer/square mile, has a relatively small community and it’s easy to reach almost anyone through your direct contacts, but in the case of our local communities we’re facing order(s) of magnitude smaller number of connections and after hanging around for a while you probably know everyone – if not personally, then through the flamebaits on the local social networks. What’s even worse, quality of a such communities is significantly lower than the quality of a referent ones (i.e. Valley, Boston, NYC, London) and it’s not even a linear drop in quality vs #engineers, but until you reach a plateau of having even a decent community you’re pretty much nailed to zero-quality and there are only individuals that bring in certain value, rather than community as a whole. In practice that means that your community can’t give you content and scope that’s necessary for self-development and that you’re pretty much on your own. In simple words this means your community sucks bigtime. That doesn’t necessary mean you suck, but it’s most likely that you suck bigtime as well, especially if you identify yourself with your local community and you’re within the scope of it’s expectations. Startup IT economy of your local community probably boils down to the couple of successful startup businesses with a market cap within $500k-$5m. This is especially bad as there are a small number of success stories that are dragged all over the place and the products and teams behind them are usually minuscular compared to the products and teams in the top tier of startup market. It’s not a rule of the thumb as some of them are really nice guys that are building a great stuff, but more often their egos got inflated by great success compared to the rest of the local startup scene as it’s significantly harder to be humble when there is none to compare to. It’s a big world and have in mind that no matter the recognition and reward you get, you’re always “a”, never “the”. Also, given the small market cap this most likely means that there is a lack of investment, talent and overall interest in your local community and that also means that you have a huge disadvantage compared to the entrepreneurs and engineers who live within the well developed startup ecosystems. You have one key advantage and that is that it’s probably cheaper to build a sustainable startup with the team in your local environment. I don’t really have to say that this means a lot for the investors and founders in the early phase of building a startup company, since if your burn rate is lower, you can survive longer and you can sell equity with a lower valuation and still sell a reasonably small portion of your business which means you get to keep a control of the future of your startup with a better terms for investors. Flip side is that if you’re significantly cheaper to hire, management is more likely to start scaling by hiring more and more people and that will decrease and at the end destroy a quality and the culture of a team. I have seen this happening too many times now and there is only one anti-pattern that I consider to be more destructive than that. It’s a dirty secret, but respect and influence, especially respect for your time, within the common profit-oriented organization is closely related to how much you earn, much more than how much equity you own, or responsibilities you have. It effectively means you can become a slavery within the most-flat corporate organizational environment that exists on the face of the earth – a startup company. However, to make it even worse, you’re not that much cheaper and to give you an illustration – you’re not much cheaper than the junior talent pool coming from MIT, Harvard, Stanford, etc. and moreover if you hire people from that blooming communities, they’re likely to be well connected with the other people in that talent pool. In other words, you have to give something extra – you need to work harder, you need to play more roles, you’ll have to offer a better quality and you’ll often have to improvise in order to create a likewise level of quality and conditions compared to the ones your fellow engineers produce and have in the well developed economies and communities. You’ll also have to start participating and helping to re-build your local community, and that doesn’t mean supporting or ask for a support from the already existing community, unless the community itself nurtures the same values you share, or drives the environment capable of creating a value that would get recognized outside the boundaries a local community, otherwise you’ll most likely find yourself in the trouble once you have to hire engineering, or any other talent. You can look at it from two sides, one is that you’re basically fucked, other is that you have a chance to help building an additional value – a healthy local engineering community. Challenges

I believe that you’re presented with just few of a really important challenges, however that doesn’t make your situation any better:

  • You have to grow beyond your community. No, not inflating your ego, but grow beyond the local standards, not comparing against them. If you start comparing yourself against the people surrounding you, unless you’re extremely lucky to find yourself in environment that’s composed of people that are all extremely talented and productive, you’ll easily become a smart-ass. And let me tell it right away, you’re not in that kind of environment, if you are – I’ll just consider you statistically insignificant. Comparing and striving towards great minds spread through the world will make you humble and more receptive towards the vast amount of knowledge available out there and you might also realize that the world is a small place.
  • You have to work beyond your capabilities. That doesn’t mean you have to exhaust yourself to death, but it means that you have to work on the projects and goals that are larger than you, that will challenge your current capabilities and knowledge and force you into a situations you haven’t been before. This is the mechanics for growth and if you don’t grow, you’ll die. It will also help you being humble when facing the challenges and other people and will sharpen out the distinction between the qualities you’ll respect and common bullshit.
  • You have to learn constantly. You know shit and you know it, learn constantly and you just might feel better about it.
  • Connect with the people outside your local community, especially with those whom you can learn from.

Conclusion

I’ve come to realize that I love my job, and if that wouldn’t be true I’d hardly keep up with this pace for years and it’s absolute necessity to love it as there are much easier and better paid options than being a software engineer, especially in the terms of what you pay and what you get. I am also a socialized introvert and I realize that I neither can or want to work alone and that I want to work with the people that I consider to have qualities I lack and I can learn from, people that are able to challenge me and vice-versa. Also, quality is developed and nurtured rather than possessed and I believe (I don’t have a proof!) that talent is equally spread around the world and that only education and local community can create the difference, and those two are inseparable as well. I currently live in Serbia and I am convinced that both our education and local IT community suck and I apologize to anyone who feels insulted by that, but If someone does, she/he should be. You suck, I suck, we all suck, however I am also convinced that we can make it better and that we’re the ones that have to make the difference in our local communities as nobody will do it for us. That doesn’t mean just being active through the local social events and networks, it’s the least important aspect of it, it means striving towards the global quality, being humble, working your ass off, lowering the tolerance towards the bullshit and being kind and gentle towards the talent. It also means sharing, if you get to be successful, or have a chance to help people from local community to grow, choose whom you’ll work with but don’t be arrogant, you are not better, you were just lucky. We act as the one but we succeed or fail as a community.

Published on 20 October 2010

* Originally published on http://blog.prng.org/2010/short-guide-startup/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment