Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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 Mar 7 '12 at 15:01

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

SQL and functional programming can be hard; try at your own risk. – Job Mar 15 '11 at 19:56
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

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

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

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

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.