addressalign-toparrow-leftarrow-leftarrow-right-10x10arrow-rightbackbellblockcalendarcameraccwcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscontroller-playcredit-cardcrossdots-three-verticaleditemptyheartexporteye-with-lineeyefacebookfolderfullheartglobe--smallglobegmailgooglegroupshelp-with-circleimageimagesinstagramFill 1languagelaunch-new-window--smalllight-bulblightning-boltlinklocation-pinlockm-swarmSearchmailmediummessagesminusmobilemoremuplabelShape 3 + Rectangle 1ShapeoutlookpersonJoin Group on CardStartprice-ribbonprintShapeShapeShapeShapeImported LayersImported LayersImported Layersshieldstar-shapestartickettrashtriangle-downtriangle-uptwitteruserwarningyahooyoutube

Re: [ljc] Concurrency, multi-threaded programming: under the hood

From: Gerald L.
Sent on: Saturday, March 16, 2013, 6:06 PM
I tend to think that "concurrency" is currently hyped, overly feared and therefore a good litmus test if you're looking for a "good, up-to-date" developer. Let me elaborate:

1. Concurrency is not trivial, but it's a well-researched, well-understood and really well documented area, where the only really new development is the wide-spread awareness that it's relevant for all developers, not just those in a niche.
2. However, all that's really required to master this topic is the usual process of skills-acquisition that good developers go through all the time - what steps that entails, exactly, depends on personality: for me it always starts with first reading the masters (Doug Lea, "Concurrent Programming in Java"; Doug Schmidt, "POSA 2"; Josh Bloch, "Effective Java", the Java Language spec (for the memory model), the Enterprise JavaBeans spec if relevant ... and yes, Ben Evans' and Martijn's "The Well-Grounded Java Developer"), then the relevant blogs and articles, and then the really good JavaDocs for java.util.concurrent, etc. when writing code.
3. The only real difference in understanding concurrency vs. many other development topics is that due to the probabilistic nature of concurrency "just trying it out" will never be enough: some understanding of the underlying theory and conceptual models is really necessary.
4. Even newer developments, like Akka or the concurrent Scala collections, are just variations on the classical concurrency themes: there's lots of accidental complexity to master, to be sure, but nothing inherently new.
5. But because concurrency right now has a lot of mind-share, it's probably a good topic to ask in an interview even for jobs where previously it wasn't considered central. That's a good thing IMHO, because concurrency knowledge probably does tell something about the developer applying for the job, even if she won't be writing concurrent code day-in, day-out.

  cheers
  gerald



On Sat, Mar 16, 2013 at 3:36 PM, Barry Cranford <[address removed]> wrote:
Hi all,

We are often tasked to find Java developers with an understanding of low level core Java. Not necessarily specialist contractors at 5-600 pday, but permanent developers, one may classify as mid-senior level (40-60k). When pushed this is often defined by developers that understand what is going on 'under the hood' e.g. not just how to use popular frameworks but those that understand the concepts and principles beneath them. Whilst some companies will be a little more easy on practical experience, they will push for an understanding. 

Many developers don't make it through interview processes with feedback coming up time and again around a lack of understanding of multi threaded programming and concurrency. I have seen a few conversations recently on the list around these areas so I'm keen to understand the thoughts of the community on this. 

A few things I'm curious about...

- If we could put on some deep dive talks what subjects would you personally most like to have covered?
- Why are some developers drawn to this deeper level and why do some people seem to grasp these concepts so easily against others? 
- If you could offer advice to students starting out in Java development today, how would you suggest learning the fundamentals of these concepts? (reading, self study, projects, talks, oss, something else)?
- Have you been through this learning process in the past and had a eureka moment? What happened for you personally.

If you have any opinions on any of the above please feel free to reply to me personally at [address removed] or through the list. 

Enjoy your weekend!

Kind regards,
Barry




recworks.co.uk | [address removed] | LinkedIn | Skype barrycranford | [masked] |
| Office [masked] |  Fax: [masked]

For all our latest jobs, visit www.recworks.co.uk/jobs

RecWorks Ltd  |  Registered in England and Wales. Registered No. [masked] 

Email disclaimer: This email contains information which may be confidential. It is for the exclusive use of the intended recipient(s). If you are not the intended recipient(s) do not copy this communication, or disclose it to any other person. If you have received this email in error please notify the sender immediately, delete the message from your computer system and destroy any copies.  Except where this email is sent in the usual course of our business, any views or opinions presented are solely those of the author and do not necessarily represent those of RecWorks Ltd. Although RecWorks Ltd operates anti-virus programs, it does not accept responsibility for any damage whatsoever that is caused by viruses being passed. Replies to this email may be monitored and/or recorded by RecWorks Ltd for operational or business reasons.












--
Please Note: If you hit "REPLY", your message will be sent to everyone on this mailing list ([address removed])
This message was sent by Barry Cranford ([address removed]) from LJC - London Java Community.
To learn more about Barry Cranford, visit his/her member profile
Set my mailing list to email me As they are sent | In one daily email | Don't send me mailing list messages

Meetup, POB 4668 #37895 NY NY USA 10163 | [address removed]



--
Gerald Loeffler
mailto:[address removed]
http://www.gerald-loeffler.net

People in this
group are also in: