Sunday, May 6, 2012

Lets work abroad

I've chosen this topic, because I faced it in last few weeks more times then usually. One of my dreams is work in some foreign country. But when you will get opportunity work there you have to answer few important questions to yourself. For someone it can be hard decision. I want to bring up these questions.

If you move out to a different country, you will have to start new life. You can lose contact with your family, friends and your girlfriend or boyfriend. You have to decide if your new opportunity worth for it. You can't visit your parents in Europe from USA every weekend. You don't want to talk to your girlfriend only through Skype. Most of your best friends you will see only on Facebook. If you don't stay in a new country forever it isn't so hard. But I think this is the hardest decision connected with a job in a foreign country.

There can be also cultural difference problems. USA and Europe are closer then Europe and for example China or some arabic country. You have to know what you can expect and don't look through rose-tinted spectacles. You can miss your favorite food or drink too. At first it looks like small problems. But after some time it can be annoying more and more and it can spoil your whole experience.

Last thing that I want to discuss is language. Without proper english you won't probably get opportunity work in foreign country. But you have to consider if your country isn't native english what you will do. It can be hard find new friends outside company in France if you can speak only english.

If you have different questions what bother you and I didn't mention and it, please put them into comments.

Monday, April 23, 2012

Employee education

Hello everyone, in my new article I want to talk about education. You have to learn the new things in every domain. In some you needn't learn so much because changes are slower but my field is information technology and here is every day something new. You have to be more careful, what you learn. There is so much information, that you have to chose only the most important for you. In this article I don't want to talk about education in general. I want to describe how I imagine the ideal way how can your employer support you in learning.

The best way is for your employer, when you learn from your work. If you start with new job or new project, you have to learn these new things. So you just do your job and learn in one moment. But after a while you know everything you need for your job and you will need something new. You can change your job, but this is last resort. If you are in the good company you can have fresh projects and new challenges and you have every time something to learn. But still the company can support you in your education.

From my point of view is the best way how can your employer support you, when you get free time and free hand. The time is the most important. The people usually dont have enough energy for education after 40 hours in their jobs. So it helps a lot, when you get from your work time a few hours to your learning. I think good compromise is around 5 or 10%. Other thing is what I should learn. The company shouldn't determine learning topics because you knowledge base become wider and wider which ultimately will help the company.

Some managers can think that give some time to their employees is bad idea, because they have less time to do their job. This is misleading. The employee have less time but he works more effectively. He have better knowledge and can use modern approaches. And he is happier too, because he see that the company give him opportunity to learn.

What do you think? Do you appreciate this way of education?

Monday, April 9, 2012

My way to Mac OS X

Hello everyone. My next topic is about my switch from Windows to Mac OS X. At the beginning I want to say that I'm not Apple fanatic. I don't like fanaticism at all. The reason, why I switched to Mac, is that I wanted to discover some new things and get experience. In this article I will describe the main differences between Windows and Mac from my point of view. I won't discus technical aspects but only my user experience.

When you get new Mac you will have your operating system preinstalled. The installation comes when you will get your first major update. Apple has different distribution. You can get a new version through AppStore. The installation itself is easy. You have to do just few clicks and wait. Everything is clear and everyone can do it.

I have experience only with the touchpad on Macbook Pro, but it was big surprise for me. I used the touchpad on my old notebooks only in emergency. On Macbook it is much bigger and it have multitouch gestures. Usage is very friendly. I have learned that very quickly. You can scroll in vertical or horizontal direction with two fingers or switch between applications with tree fingers. Now I don't use mouse at all. Other thing is the keyboard. I have Macbook more then 2 years and I still have some problems with the Apple keyboard. The most I miss the key Delete and all shortcuts are CMD+letter (copy and paste for example) but CMD key has different position from CTRL on PC keyboard. Maybe the reason is that I use Mac only at home and I can't learn it properly. The next difference is behavior of the window's control buttons. There isn't any maximize button but there is another one. I don't completely understand its function but it's something like "switch to the best minimal size or to the best maximal size" but I like Windows approach more. The close button ends not the whole application but just the window and the application is still in background. I learned these differences but it wasn't so pleasure like the touchpad.

Basically you can find some alternative for your favorite application from Windows for Mac. 
Sometimes it's better sometimes it's worse. The easiest way how to get the application is to use AppStore, but it needn't be the cheapest one. My favorite development tools are available on both platforms so it is OK for me. Sometimes I miss good free file manager and for professional work I would consider buying some. Game players will be disappointed because the game offer isn't wide enough.

Mac seems to have more disadvantages but it's not true. Macbook is nice piece of hardware and Mac OS is very matured system. If you are openminded and have some money to spare I can recommend it. You can discover new approaches and ways. If you have more Apple devices you can profit from cooperation between them and the whole Apple ecosystem.

Sunday, March 11, 2012

Jelastic - Holy grail of Java hosting?

Today's article is technical. I want to write about a weak point of the Java EE world. If you start to learn Java EE, you have to go through many tutorials and learn a lot of information. Then you can write a simple, useful application and want to put it on the internet for others to see. There is a problem. Where is some hosting for the application written in Java? Yes, the weak point, that I mentioned, is hosting.

One point at the beginning. Next these lines are from a beginner's point of view. I dont want to talk about enterprise solutions.

So you search over internet and find probably these possibilities. But each of them have some restrictions:
  • Dedicated server - The configuration is in your hands. You have to do everything by yourself. If you need only simple hosting for your showcase it's expensive.
  • Amazon Web Services - Again, a very complex and later a expensive solution. The first year is free. But there are a lot of possibilities how to configure it and beginner can easily lost.
  • Cloud Foundry - Your application is tied to a service provider and you need a virtual computer to run VMware images. For me, as a Mac OS user, it's again a little bit expensive.
  • Google Apps Engine - Quite a good choice. An easy interface for configuration and deployment. But your source code is tied to the provider API.
  • Others ...
There is quite a new service that has ambitions to solve these restrictions.  Its name is Jelastic. Jelastic is based on well known products which are usually used on dedicated servers. The runtime environment can be Java 6 or 7 and the server is probably the most popular java server, Tomcat. Everyone can choose their relational database (for example MySQL, PostgreSQL) or NoSQL database like MongoDB. For applications with a high load there is the possibility of vertical and horizontal scaling. Everything is setup in this simple form.

GUI for administration is simple like environment configuration. You can upload WAR applications. Deploy them to Tomcat. Start and stop single services or the whole environment.

You can find important information about pricing here:

Now I would like to summarize everything I've said.
  • Simple
  • You don't have to depend on a provider

  • It's in Beta status now, so it can be unstable.
  • Doesn't have a completely free edition for noncommercial use or low load applications

I have a really good feeling about Jelastic. I hope that pricing will be friendly and in the basic configuration it will be completely free. I don't know now about any critical restriction so Jelastic can be recommended for your java web experiments.