Serving the Quantitative Finance Community

 
User avatar
DominicConnor
Topic Author
Posts: 41
Joined: July 14th, 2002, 3:00 am

C++ Jobs

May 17th, 2004, 2:25 pm

Had an interesting chat just now with the editor the UK's largest computer mag.Apparently C++ city jobs are zooming up., he wanted to know why.
 
User avatar
axs
Posts: 0
Joined: February 15th, 2003, 1:14 am

C++ Jobs

May 18th, 2004, 12:29 am

I have seen the same thing in the US for the past four or so months.
 
User avatar
csparker
Posts: 0
Joined: October 3rd, 2001, 7:53 am

C++ Jobs

May 18th, 2004, 9:20 am

I think there is a general hiring boom under way at the moment. Remember the thread earlier in the year from the HH about BarCap going crazy (I heard the same thing informally from a former colleague now at BarCap). All these businesses need their IT support. I've also heard murmurs about the quality reduction resulting from cost cuts since 2000 becoming painful. Not sure why C++ demand is so big. Is it big relative to other platforms / languages? Is everybody leaving college these days with java and .net, so young (cheap) C++ programmers are short on the ground?
Last edited by csparker on May 17th, 2004, 10:00 pm, edited 1 time in total.
 
User avatar
Lwg4101
Posts: 0
Joined: December 4th, 2003, 9:55 am

C++ Jobs

May 18th, 2004, 9:43 am

V useful for high frequency trading, which drives ticket prices down which in turn means banks can go after more market share...seems that way in equities at least.
 
User avatar
richy2003
Posts: 0
Joined: January 23rd, 2004, 1:07 pm

C++ Jobs

May 18th, 2004, 3:58 pm

QuoteOriginally posted by: DCFCHad an interesting chat just now with the editor the UK's largest computer mag.Apparently C++ city jobs are zooming up., he wanted to know why.What did you tell him?
 
User avatar
linuxuser99
Posts: 0
Joined: March 26th, 2004, 2:51 pm

C++ Jobs

May 18th, 2004, 6:02 pm

QuoteOriginally posted by: csparkerI think there is a general hiring boom under way at the moment. Remember the thread earlier in the year from the HH about BarCap going crazy (I heard the same thing informally from a former colleague now at BarCap). All these businesses need their IT support. I've also heard murmurs about the quality reduction resulting from cost cuts since 2000 becoming painful. Not sure why C++ demand is so big. Is it big relative to other platforms / languages? Is everybody leaving college these days with java and .net, so young (cheap) C++ programmers are short on the ground?It's because people have finally realised what an overhyped pile of junk Java really was. Seen lots of Java projects - seen very very few live Java systems.
 
User avatar
tristanreid
Posts: 5
Joined: May 12th, 2004, 6:58 pm

C++ Jobs

May 18th, 2004, 7:45 pm

Quote...It's because people have finally realised what an overhyped pile of junk Java really was. Seen lots of Java projects - seen very very few live Java systems.Wow, I really have to disagree with you there. I'm a software dev and most operations systems seem to be java now. I started my career 12 years ago with C++, but the only work in C++ now is purely functional libraries and minimal tools, not full applications. The advantage of java is easy and quick GUI and connectivity with other systems (db, network, etc). If you have a library of functions written in C/C++ you would tend to write a java, vb, or C# wrapper to access them.Please keep in mind that I'm talking about operations system, like trading platforms. For analytic tools, I mostly see mockups done in VB/excel, which are then expanded into either java or .net (depending on the company).
 
User avatar
tristanreid
Posts: 5
Joined: May 12th, 2004, 6:58 pm

C++ Jobs

May 18th, 2004, 7:48 pm

Quote...Please keep in mind that I'm talking about operations system, like trading platforms. For analytic tools, I mostly see mockups done in VB/excel, which are then expanded into either java or .net (depending on the company).Let me further clarify myself, too: Two years ago I was writing device drivers for a linux handheld. This will never be done in java. I'm speaking of business systems.-t.
 
User avatar
linuxuser99
Posts: 0
Joined: March 26th, 2004, 2:51 pm

C++ Jobs

May 18th, 2004, 8:10 pm

QuoteOriginally posted by: tristanreidQuote...It's because people have finally realised what an overhyped pile of junk Java really was. Seen lots of Java projects - seen very very few live Java systems.Wow, I really have to disagree with you there. I'm a software dev and most operations systems seem to be java now. I started my career 12 years ago with C++, but the only work in C++ now is purely functional libraries and minimal tools, not full applications. The advantage of java is easy and quick GUI and connectivity with other systems (db, network, etc). If you have a library of functions written in C/C++ you would tend to write a java, vb, or C# wrapper to access them.Please keep in mind that I'm talking about operations system, like trading platforms. For analytic tools, I mostly see mockups done in VB/excel, which are then expanded into either java or .net (depending on the company).Thing is you're right - that's what a real lot of people are TRYING to do. I just dont see a real good (successful projects) / (initiated projects) ratio there. I really liked the comments Philip Greenspun made that Java is the SUV of programming languages: “A project done in Java will cost 5 times as much, take twice as long, and be harder to maintain than a project done in a scripting language such as PHP or Perl. People who are serious about getting the job done on time and under budget will use tools such as Visual Basic (controlled all the machines that decoded the human genome). But the programmers and managers using Java will feel good about themselves because they are using a tool that, in theory, has a lot of power for handling problems of tremendous complexity. ” In truth Swing is too slow and complex to use at the front end, EJB is too difficult for even the EJB server vendors to get right (so you spend your whole life surfing the "EJB Server Release Curve") and the majority of stuff I have seen successfully deployedin java could just as well have been done using PERL and all of the quant stuff is done in C++ with people writing JNI interfaces which wrech the "nirvana" of protability which is why you used Java in the first place.
Last edited by linuxuser99 on May 17th, 2004, 10:00 pm, edited 1 time in total.
 
User avatar
tristanreid
Posts: 5
Joined: May 12th, 2004, 6:58 pm

C++ Jobs

May 18th, 2004, 11:51 pm

I think you're way out of date on those 'facts'. I'm not talking about projects that people are trying to do, I'm talking about production systems that are currently managing millions of $ a day. The only time I see people fail projects in java is when they hire a non-java programmer and try to train them. It's not a scripting language! You wouldn't hire a perl guy to write C++! Java is good for some things, and complements C++ very nicely, but that doesn't mean that it's 'easy' compared to hard C++.And swing is _not_ too slow to run an interface in. A badly written interface on a 5 year-old computer might be clunky, but interfaces at our shop respond instantly. The only delays are when there is data being retrieved, and even that is only noticeable to our London users.And what's so complex about EJB? And there is nothing wrong with the vendor implementations that I know of. We're using it to manage our trade processing system. It's pretty straightforward, you just make a class with the functions you want, create a couple of interfaces, and use some xml to control the properties. (it's really nice to be able to control the database transactions and map the properties to sql with xml).As for 'losing portability' by using jni, it's much easier to rewrite only a small percentage of your code. That's the point. I used jni from a trade/order screen so that the bond info could be auto-retrieved from bloomberg using their excel addin. I only had to write a very small wrapper around their COM object, and everything else is in java. I didn't want to write the whole thing in C++, and it would have sucked to do so. The trade screen is also used on unix, but that feature isn't available. And 'the release curve'??? Don't get me started on the release curve. If you take it upon yourself to use the latest release of everything, it's your own fault. Perl goes through revisions that make some old code completely obselete. Microsoft is the worst offender, I used to be a certified MS developer, but my certification means nothing, as OLE/Open Doc, isn't really used on a high level anymore. Maybe I should switch to COM...I mean COM+...oh, sorry, that should be ActiveX...oh wait, let's release something called .Net and get everyone to try it out a few years before we actually implement it...Anyway, I've gone pretty far off topic, please excuse. I'm pretty opinionated on the matter. I program in a lot of languages and use a lot of tools, but I feel like people have something against java, which in my experience can be extremely useful. Perhaps it's because of the way some in academia have called it a panacea. It's not! But it's undeniably useful.
 
User avatar
DominicConnor
Topic Author
Posts: 41
Joined: July 14th, 2002, 3:00 am

C++ Jobs

May 19th, 2004, 7:44 am

I think there is truth in both sides of this argument. Only a fool does a project in C++ or Java.Choice of language should be a reasoned result of your analysis of the problem, not picking a Java/Perl/VB/C++/Algol hammer and looking for nails.Over the years, I've earned good money sorting out deeply sick projects. (As I'm amongst friends I will admit to < 100% success rate)Near the top of the list of causes is forcing developers to use the wrong tool. I watched IBM lose several hundred man years (yes really) because its C++ was diabolically shite, and wouldn't use the vastly superior MS offerings. I've seen people stuggle under the weight of supporting huge unstructed globs of VBA and Excel sheet, when it ought to be a database. I've seen user interfaces take 10 times as long to get half right because they wouldn't use VB for prototyping, and thought they cut a big corner by simply using the test front end into the live system. Was bad.In my experience almost any large project is best served by a mix of languages.Big projects have crap like extracting data from awkward sources, connectivity to uncooperative systems, certain parts where performance is really critical, others where getting it working soon is more important.You will be provided with libraries that only work with particular languages, or where several languages are supported, but only one works.Many Java projects seem to suffer because the quality of libraries for some reason is lower than C++. This will change I expect, but some good people have suffered from this. You need to layer the development process so that you can have people who combine lower IT skills with business knowledge to customise it.I'd guess 50% of the results generated by people on this forum end up in Excel. Excel/Java connectivity is not nice. However writing real time socket stuff in VB ain't nice either, pick one language, fail.When running project I try to let developers pick whatever language they think best for the job. You pay people to think, this is part of it.Fact is they have to live with the consequences, and know which language they are happiest writing this type of code with.If they don't you need better programmers.
 
User avatar
tristanreid
Posts: 5
Joined: May 12th, 2004, 6:58 pm

C++ Jobs

May 19th, 2004, 1:55 pm

Well said! You have expressed it much better than I. linuxuser99, you have made many valid points about the relative weaknesses of java, and I gladly concede that you are in many cases correct about its flaws. I am perhaps too vehement in defending it because I see many projects fail needlessly to bad programmers, who aren't really playing to java's strengths. Perhaps with a better language, the strengths wouldn't be so hard for those programmers to grasp! Also, any java programmer who hasn't tried eclipse, please try it, it's free and will make your life better.DCFC, if you ever have to use excel/vba (or any COM object for that matter) from java, please check out 'interface tool for java' from IBM alphaworks. It's got a tool called bridge2java that automagically creates java wrapper files for COM, and manages the COM lifecycle. It's pretty handy, for an alpha tool. Not that I would recommend building a project around this design! It's handy for using smaller functions that you wouldn't otherwise have, though. Also good for regression testing if you are porting from excel/vba to java. And now that I've helped drag this forum so far off topic, maybe I can help us get back? What C++ libraries/tools do you find most useful (and create the most employment opportunities) for the quant. developer? Or non-C++ tools, like some excel addin?thanks,-t.
 
User avatar
linuxuser99
Posts: 0
Joined: March 26th, 2004, 2:51 pm

C++ Jobs

May 19th, 2004, 5:27 pm

To come back to the original question I do think that the glut of C++ vacancies is because people have become disillusioned with Java. But I think this is because too many managers believed the "one tool for any job on any platform" crap. I have seen a lot of failed Java projects - but then a lot of these were using it for totally inappropriate tasks - ie it was a management failure rather then any fault of the technology. For the right project you can deliver just as successfully in Java as anything (eg end to end external internet connected STP stuff - you wouldn't choose anything else).What I suspect is that managers are now re-looking at their legacy C++ code and extending / enhancing it, having realised that they need new functionality but that they will not get the "quick win" they were promised with other technologies (.NET as much as Java).I remember the early 1990's when there was such an amount of demand for VC++ skills that the FT ran an article on it - again it was flavour of the month. Did it do everythignt hat was promised of it? No. Will all the C++ projects currently being initiated deliver? No - those that are targeting an inappropriate task will crash and burn (eg would you do GUI development in C++ any more?)The whole IT industry is fad driven and to some extent runs in cycles. Me - I cant wait till F# takes off big!
 
User avatar
DominicConnor
Topic Author
Posts: 41
Joined: July 14th, 2002, 3:00 am

C++ Jobs

May 20th, 2004, 8:47 am

The c++ demand is being driven by several factors.They've stopped making new C++ programmers. Few universities teach it, so even if the work load had remained flat, there would be a growing shortage.Linux and Windows are in their hearts, C++ operating systems, high perofrmance or low level work is simply easier in C++.The people who are making the strategic decisions are familiar with C++, and Java still has this slightly flakey reputation.The Java development tools are still far behind C++, though catching up.There is a lot of C++ in banks. Huge piles. Most IT, whether it be on a trading floor, back office or exchange is extending existing systems, and this is usually best done in their original language.A stupid factor is HR departments. Java is a quite common skill these days, and C++ is harder to learn, so they add a c++ filter to reduce the number of CVs sent to them. HRs are always "overworked", so fewer CVs = better candidates. Being harder, C++ is however a vaguely useful filter, since if you can beat C++, few programming tasks will outwit you.