Entrepreneurs are made and not born

I was working with my dad in the orchard last Saturday, and after a while we sat down, had a beer and a great discussion. It’s the discussion that pushed me to think about the topic, and write this.
We were talking about the people in the country we live in (Croatia), and how the regions are different, people in one region seem to prosper, and almost struggle to survive in another one. The main reason we found in it was industrialisation levels before 1990’s. The region that was highly industrially developed, was thriving, everyone who wanted to work had a job, an absolute employment rate, the pay wasn’t much, but there wasn’t much to buy either, and people survived, but they also had big ranches, with the government buying off anything that was produced, so they got lulled in.
The region without industry, where people struggled, had a small piece of land, couple chickens, and a cow if they were really rich. Those people fought to survive, day after day. After the war, and destroying most of the industry we had, the first people fell in agony. 20000 jobs lost in a city of 50000 inhabitants, almost overnight is a lot. Most of the people started working with agriculture, but expecting the government to buy off anything they produce, at a highly subsidised rate, and protesting by blocking the magistral roads if that rate is not met. However, the other group of people got adapted to their struggling and took the only way they knew, they become entrepreneurs, mostly doing manufacture and agriculture. And because the market was(is) bad in the rest of the country, they exported everything. So they prospered, had no recession, no big job losses, and are almost completely government independent.
The point that I’m trying to make here is, that entrepreneurs aren’t born, they are made, out of necessity. When there is no one to give you a job where you would earn enough, and you have to feed your family or just yourself, you find a way to earn the money. From this an entrepreneur is born, a regular person, maybe not willing to work in menial 9 to 5 jobs. Not settling for dull governmental job security, or cruising from college till retirement, but living the life, taking risks, and succeeding.

So what if you fail

When you start doing something, especially if that something is brand new to you, there is always a dark cloud of failing hovering over you. The probability that you will fail with almost everything you start doing, at least in the beginning, is pretty high. That fear of failing builds in us, it’s pretty irrational and keeps us back from achieving our full potential.
We don’t start projects because they will surely fail, we don’t give conference talks because we will mess it up and make a fool of ourselves, we don’t write blog posts because no one will read them, and the list keeps going on.
Imagine if all people who win the Olympics thought the same. I won’t run the marathon because someone will be faster than me. That is true in the beginning, but if you keep on puffing through, and learn from your failures, you will surely come out on top. I believe the feeling is linked to the Impostor Syndrome, and that the sense of failing if you try something new and don’t succeed will automatically expose you as a fraud, which you think you are.
Most people have stage fright, no one won their first marathon, and there is a microscopic chance that you will die because of that failure. You won’t die because you messed up (or didn’t) a conference talk, you won’t die if no one buys the product you made, and you surely won’t die if some troll comments on your blog post.
Don’t be afraid of failure, do your best to beat yourself, and try different things, maybe you are really good at giving conference talks, or maybe running, and you won’t even try because you will fail, and what? Is everybody going to laugh at you? So what, laugh with them, people will forget it pretty soon, and if you manage to own it and spin it off, there is nothing you can’t do.

Use Rack::Deflater to get faster first time loads of your app

Is your Ruby on Rails application slow for end users? Maybe you are sending a lot of data through the network. As we rarely test performance on our basic server to client setup, and I don’t mean the maxed out broadband speeds we like to have at our places of work, but regular DSL, or mobile internet user, with the minimal internet speed available.
We also have the false security while browser testing the application on the same machine we develop it on. And it’s really fast to fetch 10MB from localhost:3000 into the browser.
Do you think that pulling even a 1MB response is nice when the DSL speed is 2mbps and that means around 4 seconds to fetch it. Only your assets can grow to that size if you are not careful, and this is far from the response size of larger websites. For example, youtube.com has a payload of ~1.5MB (at least at the time of writing, my front page). And it takes around 4.55 seconds to render on my DSL which is around 10mbps. For a regular DSL user (~2mbps) the time it takes is 8 seconds, and the difference is, of course, the time it takes to receive the 1.5MB of data. For a mobile user it takes even longer because let’s be honest, no one can achieve those claimed 150mbps LTE speeds.
There is a very quick solution to reduce the payload of your Rails (and other Rack based apps) by including just one line of code in yours config/application.rb.

config.middleware.use Rack::Deflater

That will automatically deflate your server responses (which is a fancy word for compression that the browser knows how to uncompress), and you will be serving substantially smaller responses. Of course, your web server must be configured to enable compression, and there is a great guide for that here.

Just Fucking Ship

Two months ago I found out that Nathan Barry has a 24 hour product contest, in which he aimed to produce a real product, in the form of an email course, in 24 hours, from start to finish. It was really interesting following the process where he created a whole product, that earned a fair amount of money, in 24 hours, from scratch. Of course, it wasn’t from scratch, because he already has a couple of design products, but his process of making something in 24 hours seemed awesome.

One of the other people that I follow, and use their products, Amy Hoy, accepted the challenge and had her own product built in 24 hours. I bought both of the products, and although I’m not a designer, I’ll be using Nathan’s exercises for learning.
The thing I’m writing about here is Amy’s book, Just Fucking Ship, which is the sum of all her knowledge on shipping products fast. She takes us through a very convenient metaphor of creating a Thanksgiving dinner, planning for it ahead, and doing only the necessary things that you need to ship the product, or finish the dinner on time. Stripped to bare essentials, the final product (after 24 hours) didn’t have nice formatting, it wasn’t edited, and had no cover. But it was a product that had a price, and a place to buy it. It wasn’t perfect, but it was just enough. I’ve read the first version when it was out, and then the last (edited) one a few days ago. It’s a very short read and intended to be re-read every time you start creating something new. The updated version is much better, with nicer formatting, and although there is no kindle or epub format yet (I really love my kindle), the PDF is very readable on the kindle.
Amy’s language might scare off some of the purists, and it’s intended to. It’s really fun to read a book that is written just as someone would explain stuff to you in person, with real language, not overinflated purist nonsense. Go  buy the book, it’s only $19, and the price will probably increase in the future.

Specialist or Generalist

While reading a lot of stuff about freelancing, consulting and business in general, I stumble upon a lot of suggestions and advices to niche down, become a specialist in some weird and obscure skill, which will give you the recognition of being the go-to person for X. This thing surely works, and you shouldn’t throw the advice out the window, but there is also a different approach, what if someone is not satisfied with doing only one thing over and over again?
I had a pretty great and stable job before I joined the startup I’m working for now. I could have done that job (working primarily as an Oracle DB consultant, writing PL/SQL) for a long time. Maybe make that thing my career niche. But I chose something different, something more tangible, developing web applications. Although I did introduce Ruby on Rails at my previous company, and some of it stuck there, there was something else a startup gives you, something that everyone should experience in their career.
That thing is generalisation, because a startup doesn’t have 150 people working on a lot of things, but maybe 3-5 people, all working on the same system. That is the great opportunity to learn new things, and reuse some things you have learned before. Sure, you won’t be able to niche down and specialise in one particular subject, but you will learn a lot of new things just going along, and working with great people that have the same goal as you. You might start off as a senior developer, but over time you pick up DevOps, front-end skills, design skills, and even business and marketing skills. That is of course, if you choose to do that. You can always stick to doing your job if you see it as a job and never think about this again. But by the mere fact that YOU are reading this, you don’t qualify for the Dark Matter Developers group, and want to know and do more.
What I’m aiming at here is pretty simple, becoming a well rounded individual won’t make you a ninja X technology developer, it probably won’t give you much recognition in the community as being the go-to person for X, but it will make you a better person in the process. You will also realise that your development work isn’t the most crucial part of the product, but that there would be no product without all of the people, and their skills that go into creating it. Understanding how things are built, and what goes into them is a much better feeling than jamming down only on your main skill and monetising it, without a greater purpose in life.