Take the 2-minute tour ×

I love programming, particularly OOP. My school experience was mostly in Java/OOP, and I had a job for a limited time in Java, Python, and other OOP kind of languages. However, a move necessitated a change in jobs, and what I've ended up with now is a web-development and database intensive job. I may possibly hold this job for several years. My question is, will this limit my choices later on? Will I be able to find another Java / software-development kind of job, or will I be rejected because my experience will be mostly in a different area?

share|improve this question

closed as off topic by Yannis Rizos Mar 7 '12 at 15:01


SQL and functional programming can be hard; try at your own risk. joelonsoftware.com/articles/ThePerilsofJavaSchools.html –  Job Mar 15 '11 at 19:56
add comment

5 Answers

up vote 6 down vote accepted

Well, the current opinion amongst the developers I know is that if you don't know how to wire up a database-driven application, then you're looking at standing in the unemployment line.

As far as being a web developer? I personally found I create better "desktop" UI after learning how to create web pages, since the Web forces you to think a lot harder about how you present data to you user.

As log as you try to keep a positive attitude towards learning new technologies, I don't think you'll find your current job limits you at all. My only other advice is that if you are worried about getting locked into web development then spend some time on your own learning stuff like Qt, WPF, or Gtk.

share|improve this answer
"[if] you don't know how to wire up a database-driven application, then you're looking at standing in the unemployment line" - if you want to develop database-driven applications, yes. If you want to develop embedded software, desktop software, mobile software, computer games (...), then you'll probably never have to touch a database in years. –  nikie Mar 15 '11 at 16:29
True, although even things like, say, Firefox or Android apps, use embedded databases (I think Firefox uses SQLite internally?). We also do a lot of XML parsing using LINQ, so perhaps it would have been better to say something to the effect of "know how to load a structured data source" instead. –  Tieson T. Mar 15 '11 at 16:50
@nikie Games use embedded databases the whole time. Most desktop software that is used in commercial environments is database driven, although much of that is increasingly done using web technology rather than an old-style windows front end. A lot of mobile software talks to a server, whereupon it's database time again. So maybe you won't have to touch a database in years, but I think without understanding of how to store data in a queryable way, which is all databases do, there's room in that unemployment line. –  glenatron Mar 16 '11 at 10:56
@glenatron: I've been developing software for various industries over the past 13 years, and I had exactly one small project that involved a relational database. Trust me, knowing RDBs is not required for finding good jobs. –  nikie Mar 16 '11 at 12:39
@nikie Maybe it depends on the environment in one's neighborhood? One of the largest growth areas around here (Grand Rapids, Michigan) is the medical sector, and with it the need to manage a lot of raw data, so around these parts, DB knowledge is a major plus. –  Tieson T. Mar 16 '11 at 12:44
show 2 more comments

Not having a job is harder to have on your CV than having had a job that is slightly different to your ideal.

I would say you can always find the work you want to do if you have the expertise. Below the interface there isn't much difference between different types of application anyway, not really. In fact having "I don't enjoy doing web work as much as regular application development" gives you a great answer when a prospective employer asks why you are leaving your current situation.

So in general I would say it doesn't have to limit your choices unless you allow it to.

Ultimately everything you do limits your choices to some degree, just because you are left with less time to explore alternative avenues, but you still have to make choices one way or another. If you have to choose between working with an excellent team in a good environment doing a type of work that is not the exact thing you believe that you enjoy most or working in a much less enjoyable setting but doing a type of work you prefer, you may well find the former is preferable.

share|improve this answer
add comment

Which type of programming do you like to do more of? Are you a mobile developer, desktop developer, web developer, [other]?

First figure out what you really want to do and then work on getting there. If you prefer mobile development which would leverage your java knowledge then start writing mobile apps in your spare time to create a portfolio to showcase your work and keep your skills sharp.

Experience is a big factor when it comes to programming jobs. If you have the Java background with some java experience (and can show previous java work) then holding a job as a web developer shouldn't really hinder you much.

There may be a small project or two that comes up (or acquired) in your current company which requires Java as well.

share|improve this answer
add comment

I've done a fair amount of web development using Java, and I've done OOP with PHP, Javascript and Perl. I don't think there's anything in web development that would get in the way of you taking a Java position later. The only hiccup I could see is that you (probably) won't be qualified to take a senior-level Java position without more Java experience, but often experience with a specific business domain (e.g., CRM) can take the place of some specific technology experience.

share|improve this answer
add comment

Maybe the economy (read: the IT sector) is bad in 5 years. In that case, you will have a hard time to find a job, no matter what kind of experience you have.

Or it will be good, and companies while hire almost everyone who knows how to turn on a computer. In that case, you will easily find a new job, no matter what kind of experience you have.

Lesson learned: Don't worry too much.

share|improve this answer
add comment
