This discussion is archived
1 2 Previous Next 22 Replies Latest reply: Jun 23, 2013 2:34 PM by jschellSomeoneStoleMyAlias RSS

Skills/Knowledge needed for low latency/high throughput development

ea33334c-b8a8-437b-9807-a170194a1950 Newbie
Currently Being Moderated

I have a meeting/technical interview next week for a department at work (foreign exchange). It is going to be a technical interview. I know from the team that they use java heavily, using jvm optimisation, modifications to garbage collection, and have servers placed as close to the exchanges as possible to minimise latency. They said they need to work in "micro seconds" opposed to milliseconds and this means being as efficient as possible.

I love java development, but am relatively inexperienced but i really want this job. What would you suggest needs to be researched for a role like this in order to stand the best chance of getting it. I dont think knowing about inheritance, auto boxing/unboxing is going to help much in this?

I am thinking potentially looking at new releases to the java platform such as closures to demonstrate i am keeping up to date with current trends but as for the rest of it i am not really sure.

I would really appreciate some pointers around considerations for low latency / high volume / highly concurrent development in java if possible.

Just for a little more detail, the backend uses KDB database with a java fx front end

Thanks

  • 1. Re: Skills/Knowledge needed for low latency/high throughput development
    rp0428 Guru
    Currently Being Moderated

    Why did they decide to interview you when you clearly don't have the skills needed for the job?


    You are making a serious mistake in judgment if you think you can 'bluff' your way through an interview on topics such as those. Anyone with even a mid-level skillset in Java will smoke you out after just a couple of questions.

     

    The idea that you might somehow throw them off the scent by using a ruse as a 'red herring' by talking about 'new releases' or 'closures' is just plain silly.

     

    If you really intend to go thru with the interview anyway you should spend your time trying to find out what skills you already have that are being used, or migth be useful, for their project.

  • 2. Re: Skills/Knowledge needed for low latency/high throughput development
    ea33334c-b8a8-437b-9807-a170194a1950 Newbie
    Currently Being Moderated

    it is part of my graduate placement. i have to do a rotation to a new team. i hope you were only so blunt because i fogot to mention this ?

  • 3. Re: Skills/Knowledge needed for low latency/high throughput development
    rp0428 Guru
    Currently Being Moderated

    ea33334c-b8a8-437b-9807-a170194a1950 wrote:

     

    it is part of my graduate placement. i have to do a rotation to a new team. i hope you were only so blunt because i fogot to mention this ?

    How is any of what you just said relevant? I was 'so blunt' because you seem to be setting yourself (and your potential new teammates) up for failure. Based on what you posted you are nowhere near qualified for the task you described.

     

    Further there is absolutely NOTHING in what you posted that talks about any skills that you DO have. You didn't mention A SINGLE THING about your skillset or how you might add value to that team or project.

     

    Your educational experience should provide some guidelines for how you advance your skills in ANY subject. Each college course has prerequisites and for good reason. Taking a course when you don't have the proper foundation and background is the surest way to fail. Colleges don't let you do it. You have likely been in classes where some of your classmates were clearly in over their head. For those people that course will be nothing but headache and heartache and their chances of success are minimal.

     

    It is the same with most endeavors including the one you mention in your thread. Naturally you want to challenge yourself when you join a new project or team but you have to be able to hold your own and contribute. Taking on a task or project when you don't have the necessary experience will not only subject you to unnecessary problems but you can easily have a large negative impact on the entire team and project.

     

    I suggest you try to find a different project where whatever (still unknown to us) skills you have can be used to contribute to the team effort. No one expects new team members to know everything or as much as more experienced developers but they also don't want an 'anchor' that is going to drag them down.

  • 4. Re: Skills/Knowledge needed for low latency/high throughput development
    ea33334c-b8a8-437b-9807-a170194a1950 Newbie
    Currently Being Moderated

    Hi,

     

    I think we have a misunderstanding. The role i currently am in within an investment bank is as a graduate developer. I have been in this role for 9 months. I was assigned the team when i joined. The idea is to do 2 rotations to different teams, where the team I want to apply to has a current graduate in it too on the same graduate scheme as myself.

     

    The competition for the role will be between the 13 other graduates on the scheme. We all are applying for each others roles to get a better understanding of the bank and how technology is applied.

     

    I therfore have as much chance as anyone else in the scheme and hence why I am looking for advice to help give me the edge of others via personal research. The job is designed for graduates so its not as if I will need to be profficient in these things I have asked for information regarding - i just need to have an interest and demonstrate a capabaility to learn.

     

    As i prweviously said, the candidates are the 13 graduates, one of us has to get it and I really want it to be me hence why I am asking for help. If you feel like I still have no chance or what not then I appologise, feel free to not reply to my request for advice and help and I will leave the forum without pestering you any more.

     

    Thanks and regards


  • 5. Re: Skills/Knowledge needed for low latency/high throughput development
    gimbal2 Guru
    Currently Being Moderated

    The sh1t is that there isn't much to research here - what you need to know comes from a vast pool of experience and making hundreds upon hundreds of mistakes (and learning from them). Basically what you need to know is how to design applications and code - and do it well. Its the "10 year rule", generally you need to be in the business for 10 years before you really get it and most people simply don't reach that or after 10 years still don't get it. That is not something that can be written down in a book in a way that it conveys understanding, that understanding has to come from personal experience.

     

    So yeah what can you do? I would dig into the concurrency and threading possibilities of Java 6 and up. I would read up about how the JVM ticks internally and what optimization techniques it applies. I would make sure you have at least a working knowledge of the standard Java API and what can be found in there; its impossible to cram usage knowledge of all classes in there into your brain in such a short time, but I would at least be capable of knowing for example when to use a List, when to use a Set and when to use a Map as an example, very basic stuff but lots of people go on for years without understanding the usefulness or purpose behind a Set.

     

    I would make sure you know the language properly also of course, but I wouldn't put to much time into Java 8 and beyond just yet. In the end a programming language is only a hammer, its software engineering in general that is what makes the difference between you being useful or not.

  • 6. Re: Skills/Knowledge needed for low latency/high throughput development
    PhHein Guru Moderator
    Currently Being Moderated

    Ehrm, why do you want it if you have no clue what they are doing? Why don't you ask the other graduate, who's currently in that team, instead of asking some blokes on the internet?

  • 7. Re: Skills/Knowledge needed for low latency/high throughput development
    jwenting Journeyer
    Currently Being Moderated

    probably because "they're kewl dudes" and spending time with them will look good on his resume...

  • 8. Re: Skills/Knowledge needed for low latency/high throughput development
    gimbal2 Guru
    Currently Being Moderated

    I'm sorry fellas, but I think in this case you are misjudging the poor guy. The way I read it, this guy is trying to get ahead of his "competition" for a junior position, part of some sort of internship. The "job" is an opportunity to learn, not an opportunity to make big bucks.

  • 9. Re: Skills/Knowledge needed for low latency/high throughput development
    jschellSomeoneStoleMyAlias Expert
    Currently Being Moderated


    > How is any of what you just said relevant?

     

    I can only guess from that that you do not know how graduate placement works.  They know the person has little experience - that is the point.  Just like an internship.

  • 10. Re: Skills/Knowledge needed for low latency/high throughput development
    jschellSomeoneStoleMyAlias Expert
    Currently Being Moderated


    > I am thinking potentially looking at new releases

     

    You are probably better off trying to convince them of what you do know rather than what you don't.  They are not expecting you to come up to speed on the first day.

     

    However you might look into how profiling works.  Both tools and how to correctly do it.  Both will probably help if their application is really that sensitive to performance metrics.

  • 11. Re: Skills/Knowledge needed for low latency/high throughput development
    jschellSomeoneStoleMyAlias Expert
    Currently Being Moderated


    If you feel like I still have no chance or what not then I appologise, feel free to not reply to my request for advice and help and I will leave the forum without pestering you any more.

     

    I can only suppose that they don't understand what constitutes the type of position that you are applying for.

    Some of the replies certainly seem to suggest that they think that the position that only an expert professional programmer would fulfill and it obvious that it is nothing like that.

  • 12. Re: Skills/Knowledge needed for low latency/high throughput development
    ea33334c-b8a8-437b-9807-a170194a1950 Newbie
    Currently Being Moderated

    I am so glad you understood me I only had good intentions coming here and pretty much felt like it was pointless even asking after reading some of the replys.

     

    Everyone managed to get the wrong end of the stick - which is probably partly due to my lack of explanation. Just to finally add, it isnt about money, it isnt me trying to be the big i am. I get paid the same salary no matter what team i go in to. I just want to go in to this particular team because it is more interesting and I will learn a lot more than going in to a team where I am building generic business apps.

  • 13. Re: Skills/Knowledge needed for low latency/high throughput development
    ea33334c-b8a8-437b-9807-a170194a1950 Newbie
    Currently Being Moderated

    Hi, thanks for helping. Its much appreciated, i literally only had good (and realistic!) intentions.

     

    Do you mean profiling with tools such as JVisualVM, JConsole and using tools like JMX?

  • 14. Re: Skills/Knowledge needed for low latency/high throughput development
    rp0428 Guru
    Currently Being Moderated

    791794 wrote:

     


    > How is any of what you just said relevant?

     

    I can only guess from that that you do not know how graduate placement works.  They know the person has little experience - that is the point.  Just like an internship.

    Perhaps you should reread OPs original post where they said:

    >

    It is going to be a technical interview. I know from the team that they use java heavily, using jvm optimisation, modifications to garbage collection, and have servers placed as close to the exchanges as possible to minimise latency. They said they need to work in "micro seconds" opposed to milliseconds and this means being as efficient as possible. 

     

    I love java development, but am relatively inexperienced but i really want this job. What would you suggest needs to be researched for a role like this in order to stand the best chance of getting it. I dont think knowing about inheritance, auto boxing/unboxing is going to help much in this?

    >

    And then reread my replies where I cautioned OP about trying to blow smoke up their rear ends about having experience that OP clearly doesn't have.

     

    The second that they detect that 'smoke' is when they will decide to pass on including OP on their team. It is one thing to lack experience; it is quite another to lie about your experience.

     

    OPs statement I just requoted above CLEARLY indicates that OP wants to bone up on advanced 'technical' issues and the only reason to do that is to try to convince them that OP has those skills, not merely that OP is 'interested' in them.

1 2 Previous Next

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points