• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Liutauras Vilda
  • Bear Bibeault
  • Tim Cooke
  • Junilu Lacar
Sheriffs:
  • Paul Clapham
  • Devaka Cooray
  • Knute Snortum
Saloon Keepers:
  • Ron McLeod
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • Frits Walraven
Bartenders:
  • Carey Brown
  • salvin francis
  • Claude Moore

How to stay up-to-date with Java ?  RSS feed

 
Bartender
Posts: 1120
38
IBM DB2 Java Netbeans IDE Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi there,

this question was born in my mind after I  finished reading Effective Java, 3rd Edition, by Joshua Block, from cover to cover. It's an amazing book, full of precious advices for a better Java usage in everyday programming work, and very interesting when illustrates some of the flaws that still pollutes JRE after so many years after first release ( it's somehow conforting to know that even Sun's best programmers did mistakes ... )

In chapter nine, where some general advices about programming in Java are discussed, I found an "item" (i.e a topic, in the book's jargon) particularly challenging, where the author talks about the need for any Java programmer to know, in detail, what the standard library offers. With great lucidity, Bloch agrees that it's practically impossible to study all the details and facets of the whole standard library, while he states that any java programmer should, at least, know well java.io, java.util, java.lang and subpackages.
This implies, as far I understand, that it's mandatory to keep oneself updated with java standard library.

Hence a question raises spontaneously: even if I claim to be a senior java developer - and I believe that's true, in the sense that I've been professionally practicing java programming for the last fifteen years - I wonder if I ever over-existimated myself,
in the sense that a long experience measured in terms of working years doesn't automatically imply a deeper knowledge of the matter (in this case, Java).

In my professional work, I'm stuck with Java 1.6, and sadly it's not upon me to move towards last version of the language. I used Java 8 only now and then, for niche applications,  so that at practical level I'm a beginner with Streams,for example. Never used fork-join, or try-with-resources, "new" concurrency APIs (latches, semaphores, and so on).

Reading Effective Java I discovered there's a lot of things I don't know, and I think it's good, because it shaked me from a false sense of confidence. At the same time, I'm a bit scaried because I'm evaluating jobs for a Software architect role, and I think to be to much ambitious with respect my real knowledge.
Despite the fact I think to be able to learn quickly new Java features, I wonder if it would be a terrible mistake to move on a new job, where maybe I would be expected to be already a guru.
What would suggest me to do, friends ?


 
Saloon Keeper
Posts: 10101
212
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I suggest you keep up to date. If your professional situation doesn't allow for that, you need to do it at home.

Always use the latest version of Java on your home computer. When a new version rolls out, read the release notes to see if there are big changes to the API, and try to use new features when you're working on hobby projects. Don't have a hobby project? Start one. When looking through the API documentation to brush up on a method you haven't used in a while, make sure to quickly browse through the overview to see if there are cool new methods you haven't seen before.

If you can't get some new stuff to work right away, force yourself to fix it. The other day I had problems getting some Java 9 modules to work correctly with Maven and NetBeans. I learned a lot about Java 9 by forcing myself to find the root cause of the problems.
 
Marshal
Posts: 64086
215
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Stephan van Hulst wrote:. . . . If your professional situation doesn't allow for that, you need to . . . .

. . . find a different job. It is, at least to some extent, part of the employer's and employee's responsibility to keep up to date. Employers should provide opportunities for keeping up to date, and employees should avail themselves of them.
Give an informal half‑hour talk over a cup of coffee about the Java9 module system, or private methods in interfaces, or something. Or get one of the juniors to do the same.
Get your company to buy a few of the most recent books; if you wait a bit you can find a half‑price offer from the publisher
Go to Devoxx, JavaOne, or similar. Tell your employers it is a valuable experience and that they ought to pay for the ticket.
Post solutions here on the Ranch using new code; if it doesn't work, rest assured somebody here will know how to sort it out
 
Marshal
Posts: 6684
464
BSD Linux Mac OS X VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I recently also had to fulfill some gaps in my knowledge, and I found pluralsight (note: I don't get any benefit for mentioning it or am connected to it in any way) to be a very useful resource, hence bought a subscription, where you can watch courses of nowadays trend technologies/topics, courses seem to be very well organized and to the point. Content in particular I'd say is of a high quality as follows not just a-Z random content, but rather in addition to main theory, wraps content in some real life situations what you probably may encounter at work. Lecturers seem to be well experienced either in academia or industry or both. The reason I'm mentioning that is, that it is fairly hard to find trusted content on Internet let's say as a reference for something or as a full tutorial, unless you have enough experience to assess yourself (but even that takes a lot time), so that makes this resource especially valuable for the beginners.

Courses range from computer science topics, data structures and algorithms to frameworks and etc. Search is organized by languages, IT roles, etc...

Fairly recently I've finished course "Applying Concurrency and Multi-threading to Common Java Patterns" which I found to be very useful.

And I know at least 2 companies who buy their employees subscriptions as part of training process so they could go and watch certain courses.

So consider pinging your current employer or consider buying yourself a subscription, which possibly could help you stay up to date. Of course what Stephan and Campbell mentioned, practice would be the main activity which you'd need to spend time on regardless.
 
Stephan van Hulst
Saloon Keeper
Posts: 10101
212
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Campbell Ritchie wrote:. . . find a different job.


Not everyone is in the position to do that.

It is, at least to some extent, part of the employer's and employee's responsibility to keep up to date.


Some jobs require legacy technology to be used, and they're still jobs that need to be done, with employees that need to do them. Why do you think COBOL programmers get paid so well?

I agree that it's not ideal to work at a place where you can't work on the bleeding edge and advance your knowledge, and if it makes you unhappy you need to find something else. It however, is NOT the responsibility of the employer to make sure every job is always done with the newest technology that's out there.
 
Campbell Ritchie
Marshal
Posts: 64086
215
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I think I have laid it on a bit too thick. Sorry.
I didn't mean that all jobs should require bleeding‑edge technology, but even COBOL programmers need to keep their skills up to date. Even if legacy languages don't change, best practice does change. For example to go back to what Claude posted, if you look in the three editions of Effective Java, you will find Bloch takes a different view of inheritance in 1/2 and 3. None of them complimentary, but it shows that although the inheritance mechanism hasn't changed, awareness of its problems has, and best practice has. Even COBOL programmers should get together and share best practice or experimental techniques fo try out.
 
Master Rancher
Posts: 3177
119
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
In Holland, actuaries that are member of the Actuarial Society, must gain at least 60 study points in a period of three years (something likewise for accountants, doctors et cetera). Does such an obligation not hold for professional IT people?
 
Claude Moore
Bartender
Posts: 1120
38
IBM DB2 Java Netbeans IDE Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Stephan van Hulst wrote:I suggest you keep up to date. If your professional situation doesn't allow for that, you need to do it at home.

Always use the latest version of Java on your home computer. When a new version rolls out, read the release notes to see if there are big changes to the API, and try to use new features when you're working on hobby projects. Don't have a hobby project? Start one. When looking through the API documentation to brush up on a method you haven't used in a while, make sure to quickly browse through the overview to see if there are cool new methods you haven't seen before.



This is a good advice. Let me say that it's pretty much what I've always tried to do, i.e try to keep myself up-to-date essentially studying good books and developing some toy projects, which I published to GitHub just to practice with git. In these projects I try to work on some "difficult" topic, for example I developed a multitenant spring boot application where not only the target database, but also the actual implementation of services depends upon the REST-request being processed at a given time; I played a bit with docker + spring; I made some experiments with Angular, REST, and microservices.
I think that's all pretty good stuff to workout with Java technology, but at the same time, I feel that without a "proof on field" all of the hobby projects I develop are essentially toys. Real world applications deal with very different and challenging issues.
 
Claude Moore
Bartender
Posts: 1120
38
IBM DB2 Java Netbeans IDE Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Piet Souris wrote:In Holland, actuaries that are member of the Actuarial Society, must gain at least 60 study points in a period of three years (something likewise for accountants, doctors et cetera). Does such an obligation not hold for professional IT people?


Generally speaking, I don't know if there's a country where you need to get a degree in Computer Science  (or equivalent title) to work in IT fields. At least, not  in Italy. Personally, I don't know if it's a good or a bad thing. If you're clever at programming, shouldn't do that job for life just because you don't have a degree ?
 
Claude Moore
Bartender
Posts: 1120
38
IBM DB2 Java Netbeans IDE Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

I agree that it's not ideal to work at a place where you can't work on the bleeding edge and advance your knowledge, and if it makes you unhappy you need to find something else. It however, is NOT the responsibility of the employer to make sure every job is always done with the newest technology that's out there.



That's right. It's perfectly reasonable that an employer wants to be conservative with respect to the technology used, especially when the codebase written in a given technology is huge. But at the same time, innovation is essential in IT fields.
I've always been propositive with my boss, and willing to use my free time - at home, during holidays and so on - to study new technologies.
But if practice lacks, at the very end I feel I'm studying something I'll have never a chance to use in a real world scenario, and that all my effords are a big  wasting  of spare time I could had dedicated  to my family instead.
This is really frustrating, believe me !
 
Campbell Ritchie
Marshal
Posts: 64086
215
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I think it is going the other way in UK, but I am not certain. I think the problem is that, for a long time, Universities didn't recognise Computer Sciences as a “real” subject. Here, we had a Computing department back in the 1960s, but then we were a Poly rather than a University. In those days, most places either didn't teach computer sciences, or thought it was a branch of Maths. That means lots of people have gone into computing jobs without a relevant degree; as Claude says, you can't sack somebody who has been working successfully for fifteen years because they haven't got a degree. Or have got a degree, in History Chemistry or Music!

Piet Souris wrote:In Holland, actuaries . . . must gain at least 60 study points in a period of three years (something likewise for accountants, doctors et cetera).

Some of those people will be working as self‑employed people, or in a partnership; they can lose their accreditation to work, and therefore their jobs, if they fail to provide evidence of the 60 study hours. Presumably the expenses for such study are borne by the practice or employer, and if they earn fees rather than a salary, constitute a small proportion of all clients' fees.


[edit]Add 3 words underline, and one spelling correction.
 
author & internet detective
Posts: 39232
727
Eclipse IDE Java VI Editor
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Are they planning to upgrade soon? Java 6 is out of extended support.

This is an opportunity to become the "local" expert on Java 8!
 
Claude Moore
Bartender
Posts: 1120
38
IBM DB2 Java Netbeans IDE Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Jeanne Boyarsky wrote:Are they planning to upgrade soon? Java 6 is out of extended support.

This is an opportunity to become the "local" expert on Java 8!



Actually, yes. I think we're going towards Java 8, even if I'd prefer adopt directly java 11.
 
What's gotten into you? Could it be this tiny ad?
Create Edit Print & Convert PDF Using Free API with Java
https://coderanch.com/wiki/703735/Create-Convert-PDF-Free-Spire
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!