Selasa, 30 Juli 2013

Oblivious About Money

Howdy, so in these days my friends and I has a quite interesting topic after graduation. It is about money, more specifically, salary. Many of them try to make a lot of explanation about how much salary they want for their job. Some of the quit their current job because of their relatively low salary. Some of them think negotiating salary is hard and sensitive. Most of them thought that salary is the next big thing we have to choose. For me, fortunately, it is not. 

I think, salary is not a pretty big and sensitive thing. I mean, I will never leave my current job just because it's low salary. My lifestyle is adaptable to my salary. Unfortunately, most of the people do not think like that way. They think their salary must adapt their lifestyle. They need to buy things that they think they need it. If we tried to focus or maybe refresh our thought, I think we want too much, while our needs is very little. Here is the summary of my salary negotiation with my CEO. I tell how much I want, he said he can only give me this much, done. I take it. Not more than a couple of minutes. I love the job, that is enough for me to finish the deal.

The second thought is about the money itself. I've never think very hard for money. All the precious thing in the world is free. Chasing money is just ridiculous. All the experience in the college, with my friends, or Intermedia, it cannot be brought by money. Some times I'm not sure if myself is oblivious about money or I really had a false thinking here, but i think I'm doing well until now. I will keep learning new things forever. :D

Minggu, 21 Juli 2013

Life After Graduation

Alright, now, I will tell about my life after graduated from my college. It's been 4 years, but still, I do not think that I have learnt that much to compete with international engineer that graduated from MIT or any other renowned college. But, here are some of the things I learnt besides technical skills. At the first year, I play too much games with my friends. I do not read many books that year. I still do not aware about a great challenge in the future. Fortunately, one of my friends told me to learn programming. Many of friends decline to learn programming that day, but he insisted to learn it by himself. I asked him "Why do you learn while the others still playing and relaxing throughout the freshman year?". He said "Because it's fun". It even more fun than any games. That year I learnt about passion. Many people could say it's weird to have fun at work or maybe love it, but I started to understand. They haven't found what they love to do. Thus, I need to find mine.

The second year, I do quite a number of contest in the field of IT, my major. I participate at a lot of events. I even hold more than three positions at more than three organizations. I came home late every days at until one day, I was sick. My grades are down and I cannot sleep properly as the huge amount of work to be done. It was a depressing moment of my life. I tried to control everything and failed. I want to repair all the broken things and failed. That year, I learnt patience. I need to know I, myself, have limitations. I cannot do all things by myself. I need to focus on one thing and finish it one by one. 

The third year is my stable year. I had focus on my major, I read quite a lot of books. I read a lot of articles. The most notable thing in my third year is that I learnt about giving my whole self. In layman term it means I truly give my time and effort to one thing. I tried to give myself to a division of an organization and I think I have done it pretty well. I cannot tell about it's detail, but it was an amazing moment. To think that I have the courage to do silly thing like I waited at in front of the class after the examination just to greet and meet with them. 

The last year. In short, I finished my final project. That year, I learnt about education. The education world is vast and huge. Humanity has come to the times when one people cannot master all the discovered things, but it doesn't mean that we have to stop learning. We need to learn new things at all time and from all things. There are possibilities that a child younger than us, would tell things that we did not know and it is the right thing. So, keep learning guys. :D

Selasa, 16 Juli 2013

The Use of Object Relational Mapper

Hi, now I will talk about object relational mapper(ORM) and the use of it to reduce development time dramatically. ORM is a programming technique for converting data between incompatible type systems in object-oriented programming languages according to Wikipedia. In layman terms, ORM translate traditional relational database into object oriented one. Each record at the database is treated like an object in OOP. You can access foreign key or any relation with simple method at the object. While in using SQL, we need to write custom SQL for every different data we need and it was really time-consuming and boring.

By using ORM, you might not need to write SQL syntax or even maybe not knowing anyhing about SQL. Everything can be accessed with one line code. Of course it would reduce the development time greatly. IMO, writing SQLs are one of the most boring part of the development, it would boost your mood too! Yeah. :D. There are a lot of factors if we want to reduce the development time, one of the most effective factor is to boost the programmers mood. Reducing time in tedious task like writing SQL and building CRUD for every models and focusing more in the application logic will boost the developer mood. Thus, development time will be reduced.

In my developer career, I have tried several ORMs. I think, I prefer to use ORM that has been integrated to the framework rather than use the independent one. It is easier to use and not much configuration needed to run it. Like Yii, Rails, and Django, they developed their own ORM for their ows framework. PHP Doctrine or Python SQLAlchemy are examples for independent ORM. The drawback of using ORMs are database load will increase depend on how complex is the query. In short, hardware is cheap and developer time is expensive. It is better to use spend more money on hardware rather than give work to the developer. :D