Change your mindset and challenge yourself
I was fortunate enough to have a (virtual) front row seat for Peter Lawrey of Chronicle Software being interviewed for Fintech Focus TV (powered by Harrington Starr) – the full interview is available here -> https://www.youtube.com/watch?v=KxDpV_oarao&feature=youtu.be
For those that don’t already know, Peter is incredibly well-respected in the Java world (check him out on Stackoverflow) and someone who’s insight is highly valued in the technology community, especially when it comes to high performance Java and trading system design and development.?
The interview is full of valuable insight including Peter talking about C-like Java and the power of Trivially Copyable Objects - at the end of the interview, once the filming had stopped, I got to ask him a question.?
What advice would you give to a Java Developer who wants to work in a high-performance, low latency environment but doesn't have the experience?
To be honest, I was expecting him to start reeling off textbooks to study or coding test websites to start looking at, but his answer made so much more sense.?
It’s about changing your mindset and challenging yourself.?
领英推荐
Latency is measurable. It’s really easy to see if it’s bad or that it’s been improved. But because of the way it’s often reported, the ‘average’ latency, is also easy to make it look better than it really is. Average latency is measured by taking the throughput and dividing it by the number of operations.?
Peter suggests that instead of taking the average and showing your boss what a good job you’re doing, take the worst. Take the 99th?percentile measurement and show that. Even if in your current role, latency doesn’t matter at all – as long as it happens in a couple of second it’s fine – start self-imposing boundaries and metrics to get your mind thinking about how you can improve performance and lower the latency.?
Peter suggests that showing your boss the 99th?percentile is a great way of getting time, budget etc signed off to work on performance improvements.?
Across the financial markets, firms are hiring for high performance Java engineers and those with experience are incredibly well paid, often with six-figure salaries and handsome bonuses.?
Change your mindset and challenge yourself - I think this is some excellent advice for engineers who want to work in this world.?
If you’re interested to hear about the firms who are hiring and the skills they’re looking for, email me on:?[email protected]??
Chief Marketing Officer | Product MVP Expert | Cyber Security Enthusiast | @ GITEX DUBAI in October
2 年Ian, thanks for sharing!
Tech Enthusiast| Managing Partner MaMo TechnoLabs|Growth Hacker | Sarcasm Overloaded
2 年Ian, thanks for sharing!
Inventor of hardware and software things. Thinker, Architect, Doer, Coder. Happy.
4 年Oxymoron alert. Java Performance. Look, you can pimp up a donkey. What does it look like standing next to a racehorse? How about pimping up a Ford Escort, and putting it next to a Lambo? Point is - the JVM runs in a Virtual Machine, which is probably run inside a Virtual Machine in the cloud. Write the hard-core stuff in assembler, then you'll understand why a racehorse and a Lambo cost so much.
Senior Java Consultant
4 年The biggest problem INHO is to switch to another set of design principles (C-like Java, yes). You need to familiarise yourself that the high-performance Java requires you to do a lot of things which are no-no in the "normal" Java world: good-bye immutable objects, no more streams, even good old String becomes a source of the problems. I'd say that "on average" the high-performant Java code is much less readable and a bit harder to maintain that the "normal" Java code which implements the same functionality. So the "change your mindset" is a nice idea but first you need to decide if you're ready to make your code more convoluted and less readable in order to satisfy your self-imposed "99th percentile" requirement. This decision will require you to provide more extensive tests (less transparent code now will rely more on testing) and make bug hunting a bit more challenging (although not as bad as it seems first). It might be OK in your case but it is definitely not something which will work everywhere. So I'm agree with Marco Dalcò's : the mindset is nice thing but if you want to get into this world, you'd rather join a project which does have the requirement for the high performance. For the most of other project, such change will lead to the excessive ownership costs without adequate outcome.
Quant Intern. Algorithm Researcher / Creator. Java / Python Developer.
4 年??