|
I am attempting a come back as a programmer, after an unbelievable absence of 3 years. I need your help to refocus, and select the right technologies for what I'm going to need in the near future.
Here is my story: Java developer for about 10 years, up to exactly 3 years ago when I quit because of some major family issues that required my full time attention all this time. But there was something else, that is important for me to always keep in perspective: I was really burnt down and I also became unhappy because my profession took so much time from me, actually all of it, for constantly having to learn something new and being good at what I was doing. I actually love learning, but I my profession didn't leave time for learning anything else besides computers, and life is so much more than computers. I guess I'm a generalist more than a specialist. So this is the first half of my question, how can I be a hacker but in the same time have a real life outside computers. How do you balance both? Having said that, I am ready to start again and I thought I'd start fresh, since my Java is probably already a bit rusty.
I've been looking these days at things like Ruby, Python and a few LISP flavours. I am attracted to LISP because of the paradigm change it requires, and I'm not really new to it, I used it a bit in the university.
The reason I want to come back is because I do love technology, always did, and I already have a project lined up, for which I'm looking to select a set of technologies that will make productive ASAP. This project is a directory of local activities for people. The closest model I can think of is Craigslist, with the major difference that all the listings have a temporal dimension, they start and end at some time, and that people can rate and comment on those listings. As an example of such activity, let's say a chess class, that starts in 2 weeks and goes for 3 months, 2 days a week. The project is about aggregating such activities, broken down on categories and geographical areas. How would you do such project, most efficiently?
This project is important for me to get it done successfully and on a timely fashion, I don't have time for too much trial and error, to spend much time learning something that turns out not a good choice. That's why I decided to ask you guys.
I would like to choose something that doesn't have a steep learning curve, so I can became proficient with it sooner than later, something with great support for web applications, tried and stable.
Should I stick with Java, since it's the only language I am now familiar with it, and it has so many mature web frameworks? Or is this a good time for me to take the leap towards something like LISP?
I must admit the idea of a paradigm shift associated with my comeback sounds very appealing to me. I've already started replacing relational databases when it comes to the data model with something more semantic, like TopicMaps and/or RDF.
In the same time I want to be realistic and maximize my chances of a successful comeback and project completion.
Sorry for the long post, thanks a lot for your kindness. |
I recently "came back" so to speak. I spent 4 years after college on a development team for a Fortune 500 company that didn't actually develop that much and I came to see my profession as just a paycheck... I got a wake-up call and I've re-discovered my passion.
Congrats. Honestly, I didn't read your entire wall of text there but if you want to get into something cool (and use something you already know) you could do what I'm doing right now and learn Android development. It's a lot of fun and I didn't even know Java starting out. The docs are great.
http://developer.android.com/