Monday, September 29, 2008

Team restructured again

Our PHP teams get restructured again, combining 3 teams as 2 teams. It seems hard for the company to keep excellent software engineers. When i started working for this company, we had 15-16 PHP developers, divided into 3 teams. Now, we just have 11 left. The most unbelievable thing is, I have been working for this company only 1 year (actually, less than 1 year until 22 Oct, 08), and I'm the one who have served for the company 2nd longest among PHP developers!

This is not a good sign. I'm quite worrying about the company's future. Although now we are still a big company in Sydney, although the company is trying hard to build corporate culture, there must be something wrong.

Saturday, September 20, 2008

Accidently delete files on linux

Today I accidently delete some files of my project on linux. I wasn't panic because i think there must be some way to recover these files, such like what i did on Windows. I open my browser, google is my default home page. I typed 'recover deleted files on linux' and search. There are some solutions, however, they are all complicated! I thought maybe it is my keyword is not right, no matter all, i'm not a native english speaker. So i tried to search Chinese instead, the result disappointed me as well. It seems there is no easy way to recover deleted files on linux.

Then i became a little panic, what i have to do is to recreate those files again. I believe that is faster than i implement those complicated solutions.

Friday, September 19, 2008

A colleague resigned

Today i got a news that one of my colleagues decided to resign. I feel shocked by that. He interviewed me when i was trying to enter this company. Although later i'm not in his team, i feel grateful to him. He is leading a very important project for this company's future. He succeeded, and now decided to move on. That is quite a normal thing, but i still feel a little sad. I wish him the best in future.

My team leader will be back next Monday from US Zend conference. He will bring back a lot of funny stories & technical resources. I feel excited about that.

I'm gonna have a busy weekend for my new project.

Tuesday, September 16, 2008

What a day!!!

Today, one of my team member was asked to leave. Although he resigned two weeks ago, his last day in our company should be 24 Sep, 2008.

The main reason is probably yesterday's fight with another team member. And that fight did bring very uncomfortable air in the team.

I really don't know what to say. I feel a little bad, upset. I wish him best in future.

Now i have to work harder to keep my project on track. What a day today...

Friday, September 12, 2008

mid-autumn/mooncake festival

14 Sep, 08 is Chinese mid-autumn festival, or mooncake festival. At that day the moon will look round. In Chinese 'round' means 'all being together', 'complete', 'perfect'. So that day should be a day for all family members being together. As to mooncake, there are several stories, which even I don't know too much details for.

As usual, i will spend that day on my own. I always since i came to Australia. I will give a call to my parents in China and tell them i miss them.

I think I need to read some books about design patterns, software architecture. I still have a lot to learn.

Monday, September 8, 2008

Google Chrome

I like Google Chrome a lot, and actually i am using it as my default browser. However, it cannot access hotmail. When i try to access hotmail through Google Chrome, I get the information like 'upgrade your browser'. Another problem is sometime when i try to join some groups in facebook, it seems i can't do that in Google Chrome. At these cases, i have to open my Firefox or IE again.

However, generally, I like Google Chrome. I think it is simple, clean, elegant and fast. I read the comic interpretation of key engineering decisions at http://www.google.com/chrome/intl/en/features.html. I like their ideas.

I don't know if Google has any plan to integrate their online office applications(http://www.google.com/doc/) with Chrome so that one day people just need to open Chrome and start working.

Saturday, September 6, 2008

Notes of reading PHP In Action

I start to read a book PHP In Action. I think this is a great book for PHP developers. Below quoted from the book really impressed me.

Page 38,
"The traditional alternative is typically to emphasize up-front design. The idea is
that you need to plan well ahead and design everything in a relatively detailed manner before you start to code. And if you’re good at doing the design, the resemblance between what you do and what the customer needs will be sufficient to get you through to the first release without major problems. But along the way, you will probably have yielded to the temptation to make some changes that weren’t planned, but make the software more palatable to the users. The fact is that user requirements
change, and this tends to corrupt pretty designs. As programming guru Martin Fowler
puts it: "Over time the code will be modified, and the integrity of the system, its structure according to that design, slowly fades. The code slowly sinks from engineering to hacking.""

Also page 38,
"The way that agile methodologies such as Extreme Programming (XP) attempt to solve this problem is by doing less up-front design, making sure it is always possible to
make design changes, and constantly improving the structure of the code using a set
of systematic procedures known as refactoring."

I think it points out the problems existing in many companies. At the beginning, the whole team is very ambitious and positive that they believe they can produce an elegant, robust and efficient system/application. They do excellent job at design. However, most of the applications end up as a buggy, ugly and unreasonable monster. The problem is, requirement keeps changing and new features keeps being added. You can't foresee all the requirements at design phase. This particularly applies to web application development.

Friday, September 5, 2008

Some thoughts about PHP

Since PHP 5 has contained most of the features of OOP (and the latest PHP 5.3 even supports namespace), people are keen on PHP OOP, framework, architecture, design pattern, etc. It is great to see PHP is evolving so fast and it is easy to understand that PHP users expect one day PHP can somehow compete with JAVA & .NET at enterprise market.

However, people seem to forget that PHP is hot and popular not because of its 'enterprise' level features, but the features like easy to use, easy to learn, flexible, simple, and fast for web development. Without these, PHP could never be as popular as today. It is quite natural that since PHP is used by more and developers and companies and getting more attention than before, it needs to turn to something not just a 'toy' programming language.

People are talking about PHP is becoming increasely similar with JAVA. But I think it is more and more like C++, which keeps all features of a procedure language while allows you to program in OO style as well.

It doesn't mean procedure programming is bad. Actually, many excellent software are developed in this way. If an application is robust, scalable, secure, efficient and less bugs mostly depends on the developers, the code quality, not those things like framework, OOP, etc.

Probably many PHP developers are coming from PHP 4. When they migrate to PHP 5, it looks like they are doing OOP, but actually they think in procedure way. These developers features with long, long, ugly codes in one function. Even a framework is chosed and design is done very well, the chance that you may still producing a buggy and hard to maintain application.