Getting a job where they were prepared to give me time to learn because programming was only part of the job, and I had other skills (my academic background) that were needed for the rest of it.
Back in the Pleistocene epoch, I graduated from college with an EE degree and three courses on programming: one in BASIC, one in FORTRAN (focused on circuit analysis), and one on Cyber Assembly Language. My first job (with DEC) was in diagnostics (PDP11 memory diagnostics, then VAX CPU diagnostics). After about 4 years, I discovered that I enjoyed the software aspect of the job a lot more than the hardware, so I made a change (still within DEC) to a software development position (in display systems -- pioneering my entry into the world of user interfaces where I remain today).
P.S. Part-time I obtained my MS, also in EE but with a Computer Engineering concentration.
P.P.S. Almost without exception, I learned the skills needed for my next job on my own time. What I was doing in the current job was rarely anything I could use to progress. If I hadn't done study on my own, I'd be designing antennas or something like that.
Yohan Weerasinghe wrote:errr, anyone knows a online method to achieve this??? Definitely not freelancing...
If you're talking about learning new stuff, there masses of online materials for Java/JEE - including tips and tutorials here on JavaRanch.
Lots of stuff online for other languages - Python especially has some good free books online e.g.Dive Into Python, Green Tea Press, etc.
As you know, there are also various certifications, although these are mostly useful to give you a framework of stuff you need to learn, as employers don't seem to value them much otherwise.
For more formal study there are various options for distance-learning, ranging from the O'Reilly School of Technology certificates offered in collaboration with the University of Illinois, to full degree programs from universities such as the UK's Open University and others.
If you're talking about gaining experience online, then you're right: freelance work probably won't achieve this unless you are really lucky. As a freelancer I've spent years learning new stuff in my spare time, but nobody wants to pay a freelancer to do new stuff (I've even offered to work for free on occasion but so far without success), because they want you to do the stuff you're already experienced at, and do it fast and well!
You could look at open source projects where you might be able to apply the skills you're learning in your spare time e.g. the Open Data Kit is an interesting project that I've been looking at recently (although I need to get my Java back up to speed and get to grips with Maven - so many tools, so little time!). Several JavaRanchers have already mentioned that they look for this kind of thing when recruiting.
Or try your local Java User Group and see if anybody there has some ideas/work for you.
Yohan Weerasinghe wrote:errr, anyone knows a online method to achieve this??? Definitely not freelancing...
If you're talking about learning new stuff, there masses of online materials for Java/JEE - including tips and tutorials here on JavaRanch.
Lots of stuff online for other languages - Python especially has some good free books online e.g.Dive Into Python, Green Tea Press, etc.
As you know, there are also various certifications, although these are mostly useful to give you a framework of stuff you need to learn, as employers don't seem to value them much otherwise.
For more formal study there are various options for distance-learning, ranging from the O'Reilly School of Technology certificates offered in collaboration with the University of Illinois, to full degree programs from universities such as the UK's Open University and others.
If you're talking about gaining experience online, then you're right: freelance work probably won't achieve this unless you are really lucky. As a freelancer I've spent years learning new stuff in my spare time, but nobody wants to pay a freelancer to do new stuff (I've even offered to work for free on occasion but so far without success), because they want you to do the stuff you're already experienced at, and do it fast and well!
You could look at open source projects where you might be able to apply the skills you're learning in your spare time e.g. the Open Data Kit is an interesting project that I've been looking at recently (although I need to get my Java back up to speed and get to grips with Maven - so many tools, so little time!). Several JavaRanchers have already mentioned that they look for this kind of thing when recruiting.
Or try your local Java User Group and see if anybody there has some ideas/work for you.
Good luck!
Thanks for the reply Chris, I really appreciate it. And I like that open source project idea! If anyone knows such, or if anyone is interested in taking me into such project, please make a post here.
Yohan Weerasinghe wrote:...And I like that open source project idea! If anyone knows such, or if anyone is interested in taking me into such project, please make a post here.
Just to clarify, the ODK project is nothing to do with me (I wish I were that smart!), and it's already been running for several years, so if you want to participate in it you can start right away.
Yohan Weerasinghe wrote:...And I like that open source project idea! If anyone knows such, or if anyone is interested in taking me into such project, please make a post here.
Just to clarify, the ODK project is nothing to do with me (I wish I were that smart!), and it's already been running for several years, so if you want to participate in it you can start right away.
You're unlikely to find anything online that'll exactly match what you want to learn. So stop letting others wag your tail and show some initiative.
Surely, there's some project you can come up with that fills a need you have? I've taught myself multiple technologies by creating projects such as: checkbook balancing, recipe sharing, DVD/CD library management, a Black Box game and other games, lightning strike tracking, and so on.
Come up with something that interests you in which you can use the technology you want to learn, and write it. It doesn't matter if anyone else ever sees it or not. It's the learning experience, not the project you are after (though it's really nice when the project is useful as well).
Bear Bibeault wrote:Come up with something that interests you in which you can use the technology you want to learn, and write it. It doesn't matter if anyone else ever sees it or not. It's the learning experience, not the project you are after (though it's really nice when the project is useful as well).
I have (or used to have) tons of little projects like that. The majority of it never seen by anyone else, or never got fully finished, but it was just for the learning experience and to have fun with it. I should show Bear this little web app I once made where I put all my Java code right inside the JSP
As I told before, I also have plenty of them. Now 11 is remaining, the ones which I liked most. Don't know what happened to others . And in my latest app, I jumped into a BIG TROUBLE by trying to make it "Loosely Coupled" and "More Cohesive"
Koen Aerts wrote:I should show Bear this little web app I once made where I put all my Java code right inside the JSP
I'm sure that would make all of my hair fall out. Oh wait...
I know of a web app that actually wrote each line of HTML using a JS document.write call.
Most experience is learned on the job / through community work and self help (reading books / articles / blogs). You lose what you dont use. Keep learning and challenging yourself everyday and you will stay sharp.
Koen Aerts wrote:I should show Bear this little web app I once made where I put all my Java code right inside the JSP
I'm sure that would make all of my hair fall out. Oh wait...
I know of a web app that actually wrote each line of HTML using a JS document.write call.
Most experience is learned on the job / through community work and self help (reading books / articles / blogs). You lose what you dont use. Keep learning and challenging yourself everyday and you will stay sharp.
Thanks for the reply Deepak. I really appreciate it
I agree. Here's the link: http://ej-technologies/jprofiler - if it wasn't for jprofiler, we would need to
run our stuff on 16 servers instead of 3.