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.