Wednesday, February 23, 2011

Video: Javascript the good parts

Gotten this from the google blog, high recommended from my colleagues on how to write good javascript.



As usual, I will only share the good stuff. Pun not intended.

Saturday, February 19, 2011

Learning iPhone development via iTunes

This link is shared in Facebook by one of my friend and I am quite surprise seriously Stanford is giving this course free of charge. I have yet to listen to it so do feedback to me on the quality of the lessons. If I'm not wrong, MIT also does provide a wide range of courses for free.

IMO, schools should still focus on lessons on improving engineering processes and practices. Application development on specific product come and go and hence it will be more beneficial for graduates to come out of school with the life-long "soft" skills like design pattern, best practises etc rather than going in too technically on a specific product.

Well its just my 2 cents opinion.

90% of the battle

Just to note down a conversation I had with a solution architect in the company. There is one particular portion that strikes me as I always thought that implementation phase might be the longest phase among the SDLC or  software development life cycle. I was surprised that it can be much shorter than what I think.

If the assumption is truly spot on, actually 10% of the time is doing implementation!

How can it be done? Probably the O2C SDLC will fit in perfectly. As programmers from China/India cost only 1/3 of Singapore, we can use 3 times the number of engineers to speed up the process. There are important consideration using this approach and one of them probably is whether the task can be split and run in parallel.

Having a infrastructure that is catered for the similar task also help the project to be on time tremendously. I will make some assumption that my current project should be at least 3-5 years and because of the infra, process has accelerated by 50% and more.

This is probably why the engineers won't get paid well unless the specialization is very niche. And that is what I'm aiming for: to have a balanced soft and hard skill set with my specialization on niche areas. Sounds like I'm asking for the best of both worlds :D

Thursday, February 17, 2011

Moving on (to brunei)

I shall announce that the I have resigned from my job and move on to another company. Well I'm still doing the same job but with lower benefits.

As of now, I am in Brunei as a senior software engineer helping out with the requirements gathering. It is a rather refreshing experience compared to pure engineering job in previous company. I have been meeting up with several clients for the past 2 days and the skills required is quite different and hence I have to adjust myself to a totally different mindset. Like writing good and understandable minutes so that you don't have to rewrite and save the time for other task example sleeping.

Engineering is pure technical skills while requirements gathering is more of a soft skill. What I have learn is that once you are good at technical skills, you should be ready for gaining the domain knowledge for a specific sector. This is where you would value add. Knowing the processes of your client will help in knowing your client requirements beforehand and the obstacles ahead.

Knowing to do your task is one thing but the approach is also important. Requirement gathering is a human task and taking a soft stance towards your customer can help in building a cordial human relationship. As much as you want to get the things done, you also want your customer to be happy. Right?

I also learn about having a process towards gathering requirement is also beneficial. Talk with your customer about their requirements and then generate out a set of questionnaire for them to fill up before meeting up with them helps in reducing the time for requirement gathering.

Longer working hours seems like a norm like right now, just back from work and dinner, I am already at the living room with colleague ready to push on to finish the next task.

Time is short. Ciao