All posts by Tomáš Hromník

What actually happens if you step out of your comfort zone regularly

There has been written many articles about stepping out of your comfort zone. You have probably read about it. If you haven’t, just search for “Step out of your comfort zone” in your search engine and you will find a lot of articles. I will describe what’s the problem of not stepping out of your comfort zone and I will describe my personal experience with this topic.

Are you lazy to read? Listen to it here: https://soundcloud.com/elfoslav/step-out-of-your-comfort-zone

Small comfort zone

Many people have very small comfort zone nowadays. They need hot water to wash themselves, they need to eat each 3 hours, they don’t want to get wet if it’s raining, they put themselves in their bubbles which protect them from discomfort zone.

People are afraid to step out of their bubble, to step out of their comfort zone because everyone wants to feel safe and comfortable. It’s natural to want to be in comfort zone. Unless it’s not.

Need to discover

Except natural need to stay in comfort zone, people have natural need to discover new things. We want to discover what’s behind boundaries of our knowledge. If we want to discover new things, we often have to step out of our comfort zone. Stepping out of our comfort zone means facing our fear. We have fear because we don’t know what’s outside of our bubble. We have fear of the unknown. Once we discover there is no reason to fear, we will want to discover more and more.

From comfort zone into discomfort zone

When we get out of our comfort zone, we literally feel uncomfortably. We want to get back into our comfort zone. But if we persist in discomfort zone, we will discover that it becomes our comfort zone.

From discomfort zone into comfort zone

Once we discover the fact that discomfort is not in fact discomfort any more, the discomfort will become our comfort zone.

comfort zone

We will not have fear of the unknown any more and we will enlarge our comfort zone. This will significantly improve our life. Someone calls it magic.

where the magic happens

Stepping out of your comfort zone means pushing your boundaries.

You will basically become a superhero. Your comfort zone will be much bigger than comfort zones of other people’s. You will not have a problem to do things that regular people don’t do. comfort zone of other people

Getting out of my comfort zone

I had known about benefits of getting out of comfort zone for a long time before I tried it. I would probably never try it if the following thing did not happen:

It was 3rd January 2015 when I wanted to take a shower. I found out that hot water did not work. I needed to take a shower so I underwent a cold shower. It was not so bad as I expected. I told myself that I will take a cold shower instead of hot shower since then. It was hard to abide by this resolution. I was tempted to combine hot water with cold water to lessen the discomfort. But I realized that if I resist the temptation, it will improve my willpower and it will have positive impact on other things in my life too. I like to do things that majority of people don’t do. Majority of people don’t take a cold shower (at least in my country). If I tell someone that I take only cold shower, they say: “Really? I don’t believe you”, “Why?”, “You are crazy”,… you will get the same reactions if you do something that other people don’t do. If you will get out of your comfort zone.

Regular visiting of discomfort zone

Regular visiting of discomfort zone is important. If you step out of your comfort zone just once, it will have almost no impact. If you step out of your comfort zone regularly, you will see the result after a few cycles.

When I started taking a cold shower, I was resistant, but I persisted. I noticed that cold shower has really positive impact on my life. My hair started to grow more rapidly. I had no problem to swim in a cold lake whilst my friends had. And I started visiting discomfort zone more often. I tried to walk barefoot in a city, now I walk exclusively barefoot. I talked to homeless people and made friendship with them. I was able to talk in front of people at a conference without stage fright. And I will surely do a lot of uncommon things in the future.

I know how hard is to step out of your comfort zone. But once you start and you will do it regularly, your life will change significantly in a positive way.

The problem of many startups

What is a startup?

First, let’s clarify what a startup is:

“A startup is a company working to solve a problem where the solution is not obvious and success is not guaranteed,” says Neil Blumenthal, cofounder and co-CEO of Warby Parker.

From this definition we can understand that startup should solve a problem. Do you know what’s the problem of many startups? They do not solve real problems. They make problems. They make problems for their users, customers, partners,… I have worked in a startup that made problems. The startup didn’t solve any real problem. The “startup” was an e-commerce solution for selling discounted goods. It was not just an ordinary e-commerce where a user can choose from many items. There were only 3 items at a given time on the screen. The items contained title, image, description, price and a button for freezing price. The price was falling down continuously and when it felt down to a certain value, the item was replaced by an advert for 6 seconds and then was replaced by another item. It looked really cool and it was cool to build it. We copied the idea from droptilyoushop.com and we run it in Czech republic.

We had been building it for 5 months. We launched it and we failed. The main issue was with acquiring new customers. We were not able to earn enough money after a few months because we didn’t have enough customers. We didn’t have any marketer in our team. That was the main fail. But beside this, I realized that it was not the true startup by definition. It was garbage. We didn’t help anybody in fact. We didn’t solve any problem. I realized that many startups are garbage. They don’t help anybody. I have built a few useless applications that didn’t help anybody.

Startups should help

I have realized that I want to help to make this world to be a better place to live. I want to build something that will help someone. I have decided to teach people to code because there is a shortage of people in IT. I have decided to create a Web development school where I will make web developers from regular people. How will it help to make this world better? That’s a good question. Many people have ideas in their heads but they don’t have skills to bring the idea to life. Once they learn to code, they will be able to build something cool that can help people. They can learn to code by themselves but the Web development school will speed up the process. My web development school also helps companies to find good quality web developers.

Will your project help?

If you have an idea in your head, ask yourself these questions: “Does my idea solve a real problem? Will my project help someone? Will it make this world better?”. If you answered “yes” to all the questions, congratulations. You have an idea that can be labelled as a startup idea. Try to bring this idea to life to make this world better. If you don’t have a team, you can and should try to do it yourself. You will find the right people who will help you with your project later. Trust me. I have started building CoderMania without a team and random people offered me help later when they saw that the project is cool and helpful.

An idea is still just an idea. Execution is the secret ingredient of success. Just start.

I found my life purpose

I recently found my life purpose. It feels good! I wish everyone could find his life purpose and fulfil it. When I read this article: “Life purpose“, I had already knew I found my life purpose.

This perfectly describes me:

Once we get out of the bubble, and see things with a wider view, we can start a journey along a path like this:

  1. We can start to see the needs of others, and feel for their suffering.
  2. We then work to make their lives better, and lessen their suffering.
  3. Even if we aren’t good at that, we can learn skills that help us to be better at it. It’s the intention that matters.
  4. As we go about our daily work, we can tie our actions to this greater purpose. Learning to program or become healthy (for example) isn’t just for our betterment, but for the betterment of others, even in a small way. This gives us motivation on a moment-to-moment basis. When we lose motivation, we need to get back out of our bubble, shed our concern for our discomfort and fears, and tie ourselves to a bigger purpose.

My life purpose

I found my life purpose recently when I started to be interested in spiritual life. I found my life purpose at age 26. My life purpose is to teach people. It does not matter what I teach. I can teach web development, spiritual practices, how to become a better person, inspire others to make the world a better place to live. That’s my mission in this life and I really love it. And people love it too! I enjoy what I do, people enjoy what I do. I enjoy when I can give my knowledge to others and they are grateful for it. I can feel the energy that flows between me and my students. It’s perfect. It’s hard to describe how I feel. It’s like you would win the jackpot in lottery. Really.

Find your life purpose

If you don’t know what your life purpose is, read this article: “How to Discover Your Life Purpose in About 20 Minutes” and I hope you will find it.

Revolution in e-learning

You can learn almost anything online nowadays. I will focus on learning to code in this article.

There are many resources for learning to code online. It’s hard to choose the right one. As a beginner you don’t know if the source you are learning from is the better one or the worse one. Most of learning resources don’t provide feedback. Feedback is important factor in the process of learning. Feedback can improve learner’s skills prominently. I learned to code from non-interactive resources like text or video tutorials and tried to build apps myself. These times are at the end.

Learn to code with feedback

Year 2015 is the year of interactive learning. I have built an e-learning platform for learning to code called CoderMania. Students can learn to code thanks to automatically evaluated exercises and they can even ask for help if they get stuck.

Learn to code | CoderMania 2015-01-15 17-59-11-level2

This way of learning is better than reading or watching tutorials. There are also other sites for learning to code interactively. But CoderMania is the best at least for JavaScript IMHO ;-).

Learn to code with instant feedback

It’s great to learn to code interactively with ability to ask for help. But it takes some time while a student gets feedback. What if a student could learn specific topic like HTML, ask for help and get instant feedback? That would be great, right? And that’s where stream platforms like livecoding.tv, coders.tv and watchpeoplecode get on. I have tried all of them and I have chosen livecoding.tv because it has nice profile page for streamers, schedule of streaming events, big community of streamers and viewers, nice user interface and big potential. I will use livecoding.tv for my Web development school. Initially, I wanted to teach people mainly via videos on Youtube but (scheduled) streaming seems to be a much better option. The only disadvantages of livecoding.tv are that they delete videos shorter than 20 minutes after one week and they don’t provide an option to download videos. I don’t know why. But that’s not that big problem for me. I will try to make sessions longer than 20 minutes and it does not matter to me where videos are stored. Livecoding.tv continuously improves their service and that’s the best about it.

Is instant feedback really needed?

I don’t know. Watching videos and reading tutorials is great option for learning but that’s not interactive. Interactivity is the key for attractiveness.

Interactive learning is the future

And the future is now. Interactivity is important part of learning. When students can interact with teacher in real-time, that’s really engaging. As a teacher, I have tried to write tutorials, make videos and even an e-learning platform but none of them are as interactive as streaming. Streaming gives teachers and students the missing part that they would naturally have in real school – real-time interaction. That’s pure awesomeness. When I have tried to stream for the first time and realized that people from around the world can watch me and ask questions, that was a great discovery and feeling!

I will do streams about web development (HTML, CSS, JavaScript, Meteor.js, MongoDB) on a regular basis. You can watch them on https://www.livecoding.tv/elfoslav/. You will be able to learn to code with interaction with teacher as you would sit with him in the room! You can also choose any stream from the schedule. You can even stream while you are learning and you can get feedback from viewers.

I hope you will enjoy live streaming as I do.

Startup weekend Brno 2015 – a big surprise for me

Startup weekend Brno took place on 19th June – 21 June 2015 at KoPlac. I didn’t go there as an attendee because I had been at 2 startup weekends in Zilina before and I told myself I have to work on my projects, not on someone else’s project. I went there primarily to see pitches and final presentations.

International startup weekend

I was surprised that this startup weekend was in English. There were people from Australia, UK, Peru, Austria, Estonia, Czech republic, Slovakia…

Pitches

There were 10 pitches and about 25 attendees. One pitch was exceptional and it changed my mind that I just want to see the pitches and go home. The pitch was about helping people to learn to code. As you might know, I work on my own e-learning platform called CoderMania and I do an online web development school. When I heard this pitch I immediately wanted this idea to be selected. And it happened. The idea got the most votes and what’s surprising, 10 people joined this team. Originally, I wanted to go home after the pitches but I couldn’t. I had an urge to join this team.

IMG_0018

The initial idea

The initial idea was to help people to learn to code locally. To create communities around the world, to translate learning resources, to do local workshops etc.

Progress

As we had 10 people in our team, there were a lot of ideas. We diverted away from the initial idea. There were ideas for creating a game that should teach people to code. That sounds good, right?

I asked: “Do we have developers for building a game?”

The answer was: “No, but we will find a developer later”.

“Are you sure? You know there is a shortage of developers, do you think you will find a developer who will be able to build the game?”, I asked again.

When I saw their faces, I knew the answer. Actually, I had knew the answer before I asked the question. The answer was: “You are right, it will be hard to find a developer”.

We all knew it. Everyone who pitched at this startup weekend needed a web or mobile developer, or both. There were not many developers. Even if there were developers, they were busy with their full-time job, so they could not continue to work on a project. There is a shortage of developers and we would hardly solve this problem by creating a game that would teach people to code. Moreover, the game already exists. We would have to explain to the jury how we differ from it. I wanted to create something unique.

So I told how I see the problem and the solution.

The problem

The problem is obviously a shortage of web developers and developers generally. We needed to go to the core. Why there is not enough developers? Probably because students don’t learn practical things at school. Probably because people struggle with learning to code. I know many people who want to learn to code, but they don’t know how to start. They can’t afford to pay expensive coding courses.

The solution

The solution is to offer free or donation based coding courses. Education should be free. I would never go to college if it costs much money. We could teach people to code for free and make money from recruiting. We could ship our students to companies and companies would pay for it.

Team’s reaction

“You are a genius!”, okay the reaction was not exactly like this but the team liked the idea.

We improved the idea, created a business plan, web page, video and presentation.

The result

The result is surprising for me. We have done a lot of work, but the most important for me was our video and presentation.

People laughed a lot about this video during our presentation. When I saw this video for the first time, I had tears in my eyes how much I laughed. I think it will become viral soon, haha.

We got positive feedback from people after our presentation. We also got business cards from our potential partners/investors. That’s a good start I think.

We would like to do long term coding courses in duration of 6 months. Something like code school. A student who knows nothing about coding will be able to build his own web or mobile application during this school. We would like to increase quantity and quality of developers, train them according to needs of individual companies so students can get a job. I think this idea is unique and that is exactly what I needed when I started learning to code. I would like to have someone who could teach me technologies that companies use.

Final presentations

There were 5 final presentations. You can watch them on Youtube! Coderhood‘s presentation is at 01:06:15.

The winner

We didn’t win. We ended up on the 2nd place. The winner is mySmarties (44:45 on the video above). Congratulations!

startup weekend Brno 2015 winner

It’s not important to win but to participate. I think all attendees of this startup weekend learned something new. And not only that, they made new friends and connections. I think they are all winners.

The people

I went to this startup weekend to meet new people. I met a lot of people, I can’t even count it how many people I met. This weekend was crazy. Like a big roller coaster.

rollercoaster

The friendships and connections I made during one weekend are incredibly valuable. At least, I think so.

Thank you startup weekend

I thought I will not get new experience as this was my third startup weekend but I learned something new. I learned to better cooperate with larger team. I understood I cannot do everything. I need to delegate work so I can focus on what I love to do – programming, writing and teaching.

Thanks to my team that helped to create something unique. The team was passionate about Coderhood idea for the duration of the startup weekend and I hope their passion will last longer than just a few days.

Special thanks to the organizers of the first startup weekend in Brno. This event would never see light of this world without them. They even allowed me to join this startup weekend later so I could work on what I am passionate about.

Thanks to all attendees for coming and I hope I will see you soon. Good luck with your projects!

Some photos: https://www.facebook.com/media/set/?set=a.1612044319077056.1073741839.1486335158314640&type=3

Extreme interest in web development and coding

I’ve decided to do a web development school because there is a shortage of good quality web developers and programmers. I wanted to do it locally in Brno (Czech republic) and Dubnica nad Váhom (Slovakia). But I was not able to find enough students locally, so I decided to do the school online for everyone in the world – globally. I promoted the school on CoderMania‘s page on FacebookTwitter,  Reddit, my Twitter, Facebook and Linkedin. This gave me 14 students. I wanted at least 20 students, but I did not expect that I will get 50+ students when I write an answer on Quora and share the school on Learn MeteorJS properly group on Facebook.

25.6.2015 quora answer shared web dev school in Learn MeteorJS properly

 

I would like to teach more people, but 50 is more than I can handle. There would be even more students if I would not set a limit of students for the school. I can’t imagine how many…

I don’t want to underestimate my students but I know that many of them will not be able to learn and do homeworks each week. I have tried a few courses on Coursera but I had no motivation to finish any of them. That’s why I will try to motivate my students and tell them how their lives can change if they will learn to code. I will teach them what I learned in 3 years of web development. I hope at least 20 students will finish the school and they will be able to find a job as a web developer. My goal was to train at least 5 programmers/web developers but now it’s 10 and more. At least 30 new web developers each year… Can you imagine how much new web developers will be born in 5 years thanks to my school? 150+… It’s exciting and I am looking forward to it!

Programming for non-programmers – JavaScript practically

If you don’t like theory (like me), you will enjoy JavaScript practically. And you will learn to program faster by doing practical things than reading tons of theory.

If you have Google Chrome, great, just press key F12. If you have Firefox, install Firebug. If you have another browser, download Chrome or Firefox. If you are done, press key F12. Developers console will show up:

firebug-img

Write “Hello” in your console (with quotation marks) and press enter. You can write mathematical operations 5 + 2 – 3, 3 * 4, 6 / 2. Try one longer example: 1 + 2 * 3 / 6 – 4. Order of operations is the same as you learned at elementary school. Also, minus minus gives plus: -1 – -5.

Define a variable named firstname (in console):

var firstname = 'Tom';

To give a value from the variable, type variable name:

firstname // "Tom"

You have probably seen this annoying window:

alert('Hello');

Funny, right? You can write more alerts:

alert('Hello');alert('Welcome to JavaScript world!');

You can write any JavaScript command in developers console. But how to create real script which you can send to your friend? Create a file named index.html with this content:

<script>
  alert('Hello, I am Script. JavaScript.');
</script>

Open this file in your browser. If you can’t open this file by double clicking, click right mouse button on this file, choose from context menu “Open with” and choose Firefox or Chrome. Everything between <script> and </script> is considered as a script. Try to write in your script:

console.log('Hello, this will show up in your console');
console.log('2 + 4 = ', 2 + 4);

Press F5 (refresh) and you will see the result in your console. You can turn on/off your console by pressing F12. After every change in your HTML file you need to refresh your browser. If you want to write something in HTML file in JavaScript, use function document.write:

document.write('Hello, this will show up in your HTML document');
document.write('2 + 4 = ', 2 + 4);

Ops, everything is on one line. Add between lines HTML tag <br /> which will add new line:

document.write('Hello, this will show up in your HTML document');
document.write('<br />');
document.write('2 + 4 = ', 2 + 4);

Ok, we have learned to write into HTML document in JavaScript. Now we will write a script which was my first “useful” script:

for (var i = 1; i <= 30; i++) {
  document.write('<p style="font-size: ' + i + 'px;">Hello</p>');
}

In example above, there is some HTML and CSS. If you want to build JavaScript applications you will have to learn HTML and CSS. What does the script above do? We simply use for loop and write 30x Hello. We also set font size based on value of i variable (1 – 30). Try to scroll your browser. Nice, right?

Where is JavaScript used?

Everywhere. Really. Facebook uses JavaScript, Google uses JavaScript, everyone uses JavaScript. More info about where and why JavaScript is used would be for another article. In this article, I will show you what we can build with JavaScript, HTML and CSS:

What next?

If you want to learn more about programming web applications, you have to learn JavaScript (properly), HTML and CSS. And you will have to learn to use Google for searching information. You will need it.

You can learn more about JavaScript on w3schools. You will also find learning resources for HTML and CSS there.

The best way to learn to code is by reading and understanding theory and doing exercises. Try it on CoderMania.

You can also try Codecademy.

Learning through play. You can play CodeCombat game, learn to program and algorithmically think. I have finished a few levels and I enjoyed it. The game makes you think and it’s fun at once.

Alarming lack of programmers – solution

Every IT company is looking for a programmer and there is a big lack of programmers. Many companies have open job positions for programmers all year long. And maybe they won’t find any suitable programmer all year long. And the situation in the future will be even worse.

According to Code.org infographics there will be more than 1 000 000 open job positions (in USA) in computer science in 2020.

This is alarming. If there will not be enough programmers in the future, technology can stagnate or go very very slow.

There is a solution!

Yes, there is a solution. Every company should do programming courses for free or for a small price. Hire a person(s) who will train your future developers. I know, it’s not as easy as it sounds. It might be crazy. But imagine the company doesn’t need to look for programmers and wait for the right ones. The company will train its own army of programmers. Trained programmers will already know the company and the company will know programmers. It’s duplex relationship. So you just need to hire one developer who will train tens of developers for your company. Ok, maybe not every trained developer will want to stay in your company, but I think most will do. Because you have a relationship. Try to make the relationship strong. And you will get the right people.

I, personally, believe this is the right way for solving the “lack of programmers” problem. Many people do not know what programming is. Many people won’t learn to program themselves. They need someone to motivate and guide them. That’s why classic online courses are not enough.

I will do a programming workshop for free for my friends and I hope they will like it. I have a goal – I want to train at least 5 professional programmers, if not more. I don’t want to see people live in poverty when they can earn much more money as programmers.

If you think we need more programmers in the world and you like my idea, please spread the word. This is a serious problem and we need a solution for it.

EDIT: I build new e-learning platform for learning to code: CoderMania. CoderMania’s goal is to be “Ultimate guide for web developer”. I am looking for partners and people who want to improve quality of e-learning and web developers. Feel free to ping me on Twitter, Facebook or e-mail.

Why JavaScript?

I was a PHP programmer and I liked PHP frameworks and MySQL. It was before I knew Node.js and MongoDB. JavaScript is a programming language in which you can program server side applications (Node.js), client side applications, mobile applications (cordova/phonegap), windows 8 applications and maybe more. IMO JavaScript is universal language. I love it.

I will focus on web applications. I’m sure you made some PHP application and tried to write some JavaScript which would load some dynamic data (AJAX maybe). Yeah, now imagine you write some code in PHP for a long time and then switch to JavaScript. Different syntax, right? You are confused with JavaScript syntax because you spent too much time writing PHP code. You don’t know how to concatenate string in JavaScript, because you think you are still in PHP and you try to do things in PHP way. WRONG! What if we could write whole application in JavaScript and beware this context switching? We CAN! Node.js is the way. There is a lot of frameworks based on Node.js (ExpressJS, SailsJS, GeddyJS, MeteorJS,…).

The advantage of pure JavaScript applications is you just need to know ONE language. No more context switching between PHP/JavaScript or whatever/JavaScript. Another advantage is that you can share objects, functions and variables between server and client. Write once, use everywhere.

Nowadays developers can be divided into backend and frontend developers. But with Node.js they can be frontend and backend developers simultaneously. It sounds easy. It is easy. Just use JavaScript on the server and you will be happy.