Computer Science degree


Indeed it's been years since I've used the very latest technology. My clients apart from IBM have tended to specifically avoid bleeding edge like the plague until it's a few years old at least, then IF other companies are still using it, and it doesn't go wrong for them, and we actually need it, maybe we'll consider it.

To give an example we just got 150 brand spanking Windows 7 PC's in. First thing they did, uninstalled Windows 7 and installed XP on 'em. Windows 7 had never gone wrong with any of our software - but they know our stuff works perfectly on XP. The time and effort to 'move backwards' of course cost my client tens of thousands, they even had to buy the additional XP licenses whilst chucking in the bin the Windows 7 ones! Windows 7 didn't give any reason to be distrusted, but the business has such a distrust of new technology, basically they never upgrade ever 'just because the new version looks cool' it has to do something we need, that the previous version doesn't do.

They are using a 6 year old version of their front-end software client even though their license is for ANY version. The latest version does all kinds of awesome stuff inc. .net. But the 6 year old version definately works and performs our functionality so why bother upgrading it's just a pointless risk.

The thought from the business is that WE'RE not going to be the people who suffer any of the 'early adopter' grief. Let other companies go through that. We'll have it if it's still considered 'cool and groovy', and has all the issues patched, and we need it, in 4 years time.

So yes, TBH old technology is really king in the city (well, the bits I've worked in). Unix is still loved just because it doesn't crash and does what it says on the tin with no grief basically. C++ is loved because lots of people know it, there are 5 quazillion libraries, licensing is cheap, and it does what it says on the tin. .net is not trusted because we're in the 'let other companies go through the grief and we'll keep an eye on it' mentality.

Yes it's very dull and depressing to work on older proven technology all the time - but now Im' getting more involved in the business side of things I'm actually starting to truly understand the reasoning .. :\

So to get right back to the original point -- new university bloke will MOST LIKELY get most use and a good job knowing unix and C++ and Oracle. Thats the definate '£42K a year and quite a nice easy life' route .. which I believe is what he was originally asking for ..

He has less chane of getting work if he learns .net, and all about - i dunno - Steve Job's new Ipad's innards. He should stick to what will always be wanted if it's the risk of not finding work he's most worried about.

Someone said unix died 15 years ago. Well all the clients I listed earlier make extensive use of UNIX for the really important, bulk work they do. No-one uses anything else (maybe different flavours of unix - or a bit of CICS or AS400 at IBM, but nowt else at all for the big business processing - the really important heart of your business IT? Unix every time. What other OS can compete?)
 
Last edited:
Strangely enough, on that list, BT were one of the early adopters of Scrum, the people pushing to use Scrum here a few years ago ALL came from BT.

http://www.devagile.com/modules/news/article.php?storyid=49

I guess I'm fortunate to be a well-paid, permanent member of staff at a FTSE 100 company who are keeping on the bleeding edge of software development. I guess it's quite a rare thing.

:)


I'd give my right arm to be where-ever you are then. :)

Seeing a windows 7 PC being downgraded right the way to XP because they're scared of new things is a bit depressing :(
 
To give an example we just got 150 brand spanking Windows 7 PC's in. First thing they did, uninstalled Windows 7 and installed XP on 'em. Windows 7 had never gone wrong with any of our software - but they know our stuff works perfectly on XP. The time and effort to 'move backwards' of course cost my client tens of thousands, they even had to buy the additional XP licenses whilst chucking in the bin the Windows 7 ones! Windows 7 didn't give any reason to be distrusted, but the business has such a distrust of new technology, basically they never upgrade ever 'just because the new version looks cool' it has to do something we need, that the previous version doesn't do.

Well, they'll have to upgrade when support runs out, which will be even more added expense, rather than trialling an updated OS with some non-critical staff/workflow and then if it works moving things over gradually. I bet they'll have to rush the move through the week support ends.

As for .net etc., I'd learn Java/J2EE instead, it's what a hell of a lot of enterprise software, powering many businesses is written in.
 
Well, they'll have to upgrade when support runs out, which will be even more added expense, rather than trialling an updated OS with some non-critical staff/workflow and then if it works moving things over gradually. I bet they'll have to rush the move through the week support ends.

As for .net etc., I'd learn Java/J2EE instead, it's what a hell of a lot of enterprise software, powering many businesses is written in.

To be honest I'd encourage people to try and program as abstractly from the language as possible / feasible. It's all too common for some programmers to be "stumped" because a routine they rely on in one language doesn't exist in another. In fact this happened to a colleague of mine just today. And in reality sometimes it isn't even the more "specialized" routines, I had to outline an basic approach to a split function the other day because someone couldn't figure out how to actually implement one :o
 
.NET is certainly used a hell of a lot in enterprise environments.
One of the previous posters mentioned how C++ is still essential in banking, that doesn't tie up with my experience.
A lot of banks have C++ stuff around, but most new development is done in either .NET or Java.
I'm currently working on a trading system that has to deal with hundreds of thousands of trades per day and we are using .NET for the middle tier and client.
I'm not aware of anything new being developed in C++ in my department at the moment, most is C# with some Java in there.

To be honest I'd encourage people to try and program as abstractly from the language as possible / feasible. It's all too common for some programmers to be "stumped" because a routine they rely on in one language doesn't exist in another. In fact this happened to a colleague of mine just today. And in reality sometimes it isn't even the more "specialized" routines, I had to outline an basic approach to a split function the other day because someone couldn't figure out how to actually implement one :o

See, I would say that you should program using the full features of the framework available to you. Certainly the principles behind the frameworks are very useful to know should you ever not have them there.
A split function is pretty trivial and if someone can't figure that out then to be honest they probably shouldn't be in that career, nevertheless I don't think you should reinvent the wheel if your framework provides that sort of functionality.
 
Last edited:
I'm not so sure about the suggestions of Java, a lot of people really really hate it (I'm not exactly in love with it myself). We're in the process of moving our core business engines from Java to .Net at the moment and I suspect more than a few other companies are too...
 
See, I would say that you should program using the full features of the framework available to you. Certainly the principles behind the frameworks are very useful to know should you ever not have them there.
A split function is pretty trivial and if someone can't figure that out then to be honest they probably shouldn't be in that career, nevertheless I don't think you should reinvent the wheel if your framework provides that sort of functionality.

I guess it depends on what your organization wants, for us we want developers rather than C# / C / C++/ Java coders so it's essential to be able to implement a solution in a language that might not be your preferred choice. We think that enables teams to be more agile with how they react to certain projects they are assigned. Though saying that I can see the use to having people that know every detail of a particular language.
 
I guess it depends on what your organization wants, for us we want developers rather than C# / C / C++/ Java coders so it's essential to be able to implement a solution in a language that might not be your preferred choice. We think that enables teams to be more agile with how they react to certain projects they are assigned. Though saying that I can see the use to having people that know every detail of a particular language.

I certainly understand your point and agree that a good developer should be able to implement those things if required.
I'm currently working on a project for a company that has a 5 year roadmap of rationalising the development platforms and making .NET the de facto standard. In that case developers will be many times more productive by knowing the .NET framework very well and using the features it makes available rather than implementing the features themselves because it abstracts the development from the language/framework.
 
I'm not so sure about the suggestions of Java, a lot of people really really hate it (I'm not exactly in love with it myself). We're in the process of moving our core business engines from Java to .Net at the moment and I suspect more than a few other companies are too...

Personally I consider them to be on a par with each other. Java has higher market share but only because it existed for a good 4 or 5 years before .NET came along. I suppose also the multi-platform helps it as well. Although technically .NET is multi-platform as well (especially with the help from great folks like Mono) but a lot of organisations ignore it because Microsoft has, at least thus far, left it as a rather grey and unsupported area. This could be changing in VS2010 though which supports the Mono runtime.

There seems to be far more diehard Java fanatics than with .NET though. I don't know why this is. I've heard it all from these sort of people... from ".NET isn't multi-threaded", ".NET doesn't have a JIT compiler", "WCF web services are not standards compliant".
 
By the way, on the subject of the banking sector...

http://arstechnica.com/business/new...se-click-choked-the-nyse-cost-a-bank-150k.ars

Hmm yeah... sounds like really swell sector to work in if you're a passionate programmer :p Not.

I will freely admit I'm only in the banking sector for the money at the moment. There aren't many other places where I could save up a deposit for a house quite as quickly as I'm doing right now.

The problem in banking is that traders have so much more influence than your average user.
When a trader who makes £100K per day for the bank says he wants a particular feature by next week then you would generally pull out the stops to get that feature by next week. It may not be tested, it may not even work entirely correctly but the trader gets what he wanted.

Thankfully that attitude seems to be changing now and they are realising that that approach means people can't practice proper IT and they end up with shocking systems.
I'm fortunate enough to be working on a new project where we're trying to do things properly - time will tell how it ends up though.
 
Back
Top Bottom