Archive for June, 2008

Future of computing

June 29, 2008

A very interesting introduction to the future potential avenues for technological advancement in computing. Quantum computing would be very interesting, I wouldn’t mind one of those quantum computers. But chemicals and DNA computers could have endless applications and could change the face of computing as we know it.

http://news.bbc.co.uk/1/hi/technology/7085019.stm

working for a bank

June 28, 2008

This year I’ve started a new job within the financial industry, for a major investment bank. Is the IT any different in a bank as opposed to the “real world”?

Well, although it’s a bit early perhaps to form an expert opinion on this, I can say I have noticed important differences.

 

In a bank, IT is support. That doesn’t mean necessarily being on the phone and helping traders use the software, it means the IT is there just to support the business. Nothing more. If the business discovers one day that it can do without IT, that’s it.

Banks are very pragmatic entities. In the good time, they grow and pay big bonuses. But in the bad times, they’re among the first to slash jobs. They have to be flexible, they’re in the services industry, they have to keep the fix cost down. Due to the ongoing credit crunch, a lot of banks have put a lot of people on the streets. Fortunately not too many in IT, but banks are known to be merciless, so if the situation gets worse, who knows what’s going to happen…

But job security is more of a concern in the financial industry than in “common” IT. If you’re looking for job security, then maybe financial IT is not for you. But it’s something you get used to, as everything else I suppose.

 

Because the IT is only there to support the business, it needs to be more flexible and the turnaround needs to be much quicker than in “common” IT. The “business” generally perceives the IT within the bank as very slow. They want new features yesterday all the time. If they can do it in Excel, they will do it themselves.

 

As such, demands for quick turnaround put pressure on the quality of the product. The IT products within the financial community are not fantastic. They’re mediocre, but they only need to get the job done, not to win awards. There’s not much time set aside for fixing code and you can find rotten code in many areas but as long as it works, why fix it. That’s the attitude.

 

Flexibility is key. That’s because the traders change their minds a lot. And especially with the credit crunch, a lot of things need to be reinvented. Strategies that used to work before, don’t work anymore. But also traders are not the most patient people. For them is all about the money and bonuses, so they can’t understand why IT are so slow in delivering what they need. That’s why most of them stick to Excel, because they can do a lot of stuff themselves.

 

Salaries are much better in banking than in common IT. And there’s always the bonus. People work more, better and they appear to care more because they’re always thinking about the bonus at the end of the year. Schedules are made so that they deliver before the bonus period, even if the product might need a bit more TLC before deployment.

So expect to work harder for better salaries and bonuses.

At the same time, it’s an opportunity to learn more about technology. The more you work, the more you learn, isn’t it?

 

Technology is generally lagging behind in banks. Banks are late adopters, very conservative people. So don’t expect to be on the cutting edge of the technology. But it’s not very bad either. A positive spin would be to say you only work with mature technologies.

Multi-tasking: you can’t do it!

June 26, 2008

Very entertaining introduction to how the brain works and to his book.

It has some really good insights. One is: exercise! And if you do, do the aerobics, not weight lifting.
Another one: you can’t multi-task! There’s more, but enough from me, I need to do something else now!

Python, the beauty and the beast

June 26, 2008

I’ve started developing in Python at work about 2-3 months ago. I like Python as it has a very intuitive syntax and it’s very readable (the forced indentation probably helps a lot). It is really easy to write code using Python and the result is much cleaner than in other languages.

That being said …

One thing that catches me out however is my C++ inherited reliance on the compiler to catch trivial errors. With Python, I have to be more careful before I run the code and also test the code properly (and I mean every function/branch, etc.) just to make sure that it doesn’t crash because some uncaught silliness.

One other beginner’s mistake is to confuse global with local variables, a mistake that the interpreter punishes you silently for. For example:

global1 = ”

def ChangeGlobal():
global1 = ‘Hello globals!”

ChangeGlobal()
print global1

If you think the snippet above will greet you with a “Hello globals!” you better read that Python book again. What happens here is that within the ChangeGlobal function, the interpreter silently defines a local variable named global1 and assigns it the value ‘Hello globals!’. At the end of function call, the local is thrown away as the stack unwinds. The global variable global1 is unaffected as it refers to something else entirely.

The fix is simple once you realize what’s going on. You can change the function to this:

def ChangeGlobal():
global global1
global1 = ‘Hello globals!”

The line “global global1” tells the interpreter to search for a global named global1 instead of instantiating a local named global1.

All simple stuff that won’t power rockets, the only problem is that everything happens silently and you can fall foul without knowing. Maybe a bit confusing, the interpreter allows reads from globals without having to introduce them with the ‘global’ keyword. Which creates a sense of false security.

There are tools like pyChecker that help you catch problems, but they won’t catch all of them. And then, there’s the required discipline of running the tool regularly. Sometimes if you use some combination of C++ and Python, it makes the whole task much more difficult.

Symbian is dead, long live Symbian

June 24, 2008

This is the news that tipped me into starting this blog:
http://www.theregister.co.uk/2008/06/24/andrew_on_symbian/

The inevitable has happened. Nokia finally swallowed Symbian. They bought almost a controlling stake in Symbian when I was still working for Symbian, 4-5 years ago. Back in those days, Nokia was becoming more and more tighly coupled with Symbian. Nokia was Symbian’s biggest licensee, biggest customer, selling the majority of Symbian powered devices.

But there was one problem. Symbian was own by a consortium of licensees/customers. And the more Nokia was selling, the more unsettling the rest of the customers. The no-brainer: “You can’t differentiate if you’re using the same stuff as your competitors.”. And Symbian’s owners were all competing with each other.

Among the first to bail out was Motorola. They were betting on Linux and some Windows Mobile. In the end, Nokia and Sony Ericsson were the main licensees/customers and that’s because they’ve already made huge investments in the UIs: S60/S90 and UIQ.
NTT Docomo and Fujitsu were however big success stories for Symbian in Japan. And they will still continue to be.

Back when I use to work for Symbian, there was a close cooperation between Nokia and Symbian, although the communication wasn’t very good and Nokia was seen by the symbianites as a very pragmatic customer, sometimes unreasonable in its desire to cut corners for the benefits of more sales and time to market, and in some cases even canibalising the platform for its own purposes.
Nokia was really the only main driver in terms of requirements. And they were paying dosh for that.

There’s a sense of inevitability about the whole thing.

Personally I will follow the development of this with interest as I’m curious:
1. how many people will be made redundant (as Symbian and Nokia have many potential synergies in their operations
2. how will Nokia make any money by open sourcing the OS (probably they won’t)
3. how many licensees/customers will drop Symbian (Sony Ericsson already seems to be firing half of its UIQ team – sad really)
4. how will Symbian compete with the iPhone and Google’s Android, the latter being no doubt the cause of all this (Google is planning to give the Android for free and make it open source)
5. how the whole open-source model work
6. how has the code change since I’ve left 😉

 

In the beginning…

June 24, 2008

Not many things to say in the first post. I have been thinking for a while to start write a technical blog. But I’ve always given up, not seeing myself writing for too long before chucking it.
But an event today finally convinced me to start writing…