File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Meaningless Drivel and the fly likes How do you study to keep up with the ever increasing competition for jobs ? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Other » Meaningless Drivel
Bookmark "How do you study to keep up with the ever increasing competition for jobs ?" Watch "How do you study to keep up with the ever increasing competition for jobs ?" New topic
Author

How do you study to keep up with the ever increasing competition for jobs ?

Myke Enriq
Ranch Hand

Joined: Feb 13, 2012
Posts: 115
A lot of you claimed in a previous post that your are learning new languages in your free time in order to become great programmers , and thus have your pay check secured in spite of the ever increasing number of programmers in the world.

So , how and what do you study , where do you find time for that and how does this fit in you general lifestyle ?

And secondly, what do you mean by great programmers ?
Henry Wong
author
Sheriff

Joined: Sep 28, 2004
Posts: 19070
    
  40


Well, I believe that the pragmatic programmer ...

http://www.amazon.com/The-Pragmatic-Programmer-Journeyman-Master/dp/020161622X

recommends learning one language every year. Admittedly, in the last 5 years, that does seem a bit high to me (I probably target half that). I probably lost count of the number of languages that I learned and forgot, so unless a language comes ridiculously highly recommended, I don't learn languages for fun anymore. All the languages that I learn, I actually use in my day job.

On the other hand, when I was younger, I loved learning languages for fun. I probably went at twice the recommendation. My favorite language that I learned and never used professionally is probably prolog. My favorite language of all time (probably due to nostalgia) is probably Turbo Pascal. I still have a fondness for assembly, specifically 8088/8087 -- but these days, due to how instructions pipeline and stuff, an assembly language programmer probably wouldn't be as good as an optimizing C compiler.



As for the second part of your question... I learned languages because I needed them for work. I learned languages because it was fun. I never learned languages because of "increasing competition for jobs" or securing a paycheck, so I don't have an opinion regarding that.

Henry

Books: Java Threads, 3rd Edition, Jini in a Nutshell, and Java Gems (contributor)
chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1873
    
  16

No idea about "great programmers" as I'm certainly not one! But I'm trying to become a better - and more marketable - programmer, and it's getting much easier to do this now we have resources like Coursera and Udacity. Both these organisations offer you excellent tuition from expert teachers in a wide range of subjects related to computer science, from algorithms and compilers to introductory programming in Python or HTML5, many of which are directly relevant to current trends in the industry or can simply help you to become a better developer. And it's all for free, so all it costs is time. I've done a few Coursera courses and they have definitely opened my eyes to new possibilities and given me the basic foundations to start pursuing new career goals.

My interests are around alternative JVM languages, functional programming and "big data", all of which feel like they will see healthy growth in the next few years (*), so I'm trying to construct a plausible set of skills around that area. In the last year I've also done some Python courses with O'Reilly School of Technology, which I had to pay for, but the courses were much better and cheaper than most commercial training courses I've seen. I'm now using Python occasionally at work for ad hoc scripting, and it's also been very useful in exploring statistics and "big data". But as an experienced OO developer you could easily learn Python from a book if you wanted.

It's probably a good idea generally to keep reading about and trying out different technologies to keep up to date with what's going on in the industry. I still have a big stack of Java/Scala/Clojure books to work through - and I still haven't finished Bear's excellent "Secrets of the JavaScript Ninja" book either. Unfortunately I didn't do enough of this kind of thing in the past, and I failed to keep pace with the changing market. So right now I'm having to focus on improving my Java, which underpins a lot of the technologies I'm interested in, and also allows me to earn a (currently rather modest...) living in the meantime.

But you seem to have lots more Java experience, so you already have a massive head start on me, and there should be lots of interesting and potentially lucrative areas available for you to explore if you want to. And of course there are lots more options if you want to move beyond hands-on developer roles e.g. business analysis, architecture, training etc.

All you need is to put aside a few hours a week, and you can start learning something new to extend your skills and prepare you to take advantage of new opportunities in future. And it's fun too.

Finally, "The Pragmatic Programmer" is a fine book for any professional developer, but I can also recommend Chris Duncan's "The Career Programmer" for a useful and entertaining perspective on how to stay in work as a programmer.

(*) Seems I'm not alone: Dean Wampler also reckons "Copious data" is the killer app for functional programming...


No more Blub for me, thank you, Vicar.
chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1873
    
  16

@Henry: Maybe look at Cascalog - Prolog-ish logic programming with extra added buzzwords (Clojure, Big Data, Hadoop)!
Jeanne Boyarsky
author & internet detective
Marshal

Joined: May 26, 2003
Posts: 31074
    
232

Most "great programmers" went into programming because they find it fun. Which means there is a natural affinity to want to play with things in one's free time. It's not just learning new languages. It's trying out new things, reading and for us here - interacting with others. There is a big difference between the programming you get paid to do and what you pursue just for fun.

Personally, I read a lot (books and websites), blog, participates in forums, code for this website, code for no purpose at all and lately take MOOC classes. Some of this happens while I'm commuting. And some is done "whenever."


[Blog] [JavaRanch FAQ] [How To Ask Questions The Smart Way] [Book Promos]
Blogging on Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, OCAJP, OCPJP beta, TOGAF part 1 and part 2
Jeanne Boyarsky
author & internet detective
Marshal

Joined: May 26, 2003
Posts: 31074
    
232

"increasing competition for jobs"
I don't think about this. Once you've worked a certain number of years, you HAVE to work for an employer who values skills over the illusion that a new programmer is cheaper. Yes, I earn more per hour than someone right out of college. But I'm an order of magnitude more productive. A good employer recognizes this. (I'm not old enough to have to deal with age discrimination, but I recognize it exists.)

And this is true even when the language changes. As an example, we are often asked to solve problems that nobody has done before. Even within the same language. Having other experiences and skills is what provides value there.
Frank Silbermann
Ranch Hand

Joined: Jun 06, 2002
Posts: 1390
I don't think keeping up with new languages is all that difficult. What I find more challenging is keeping up with new libraries, APIs, tools, frameworks and ways of working.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: How do you study to keep up with the ever increasing competition for jobs ?