Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am currently acquiring my associates degree in software engineering. I have been told in order to be successful in a computer science field you have to specialized in something. After researching several areas I have decided I want to specialize in Java Database Connectivity. It earns a decent income and seems interesting.

I would like to know what the field is like. What the job, bosses/managers, pay, etc...
I just want to know as much as I can first hand from the people that currently work in the field. What are some tips you would give a new-comer in college and what do you wish you had known before getting into the industry?

share|improve this question
1  
Success in computer science/software engineering doesn't depend on specialization. It depends on your ability to solve problems, understand users and continuous learning. Additionally JDBC is just a technology for connecting to databases from Java. It's not exactly a technology that can be specialized in. –  Jake Woods Apr 26 '13 at 3:38
    
Thanks, I guess that just goes to show how inexperienced I am in the field. I have to admit that I am very intimidated by the continuous learning aspect of the field. I am worried that I will eventually get burned out. However, I know very little about programming at this point and once a foundation has been built I am guessing that it won't be as difficult to stay fresh as it was to build the initial foundation of knowledge. Am I right or wrong with this thinking? –  Newbie_JDBC_2013 Apr 26 '13 at 4:00
    
The initial learning curve can be very intimidating but I've found that as you gain more knowledge it gets easier. But you never stop learning as once one section is easy it's time to move onto another harder or different section of programming. You can be financially successful in programming without continuous learning but I couldn't imagine picking a point in my career where I'll say "I think I've learned enough, it's time to stop". –  Jake Woods Apr 26 '13 at 4:06
    
I have to admit that part of the reason I was ever interested in this field is because I have a very busy mind and am very intrigued with how software systems work. I don't think I will ever not want to know something new. I guess I have that newbie enthusiasm that just wants to know everything now even though I do understand its a process. Thanks for taking the time to speak with me on this. I don't know any programmers and appreciate this community. I have also been told that this field takes a lot of creativity. Has that been your experience? –  Newbie_JDBC_2013 Apr 26 '13 at 4:15
    
Creativity is definitely a huge part of it. Your users are going to come to you with a broad and ambiguous set of problems and your job is to figure out how to explain and implement those requirements in a way a machine can understand. Machines don't tolerate any ambiguity so it required a lot of creativity in the way you solve those problems. I've been programming for close to 7 years now and I think it's really important to hold onto that enthusiasm for new knowledge. Luckily programming is a field where there's always more to learn. –  Jake Woods Apr 26 '13 at 4:26
show 1 more comment

closed as not constructive by Joris Timmermans, thorsten müller, Bart van Ingen Schenau, GlenH7, Jalayn Apr 26 '13 at 12:42

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

2 Answers

up vote 4 down vote accepted

As a software engineer/computer scientist your success doesn't depend on any specialization but rather your ability to solve problems, understand users and most importantly your ability to learn and apply new information.

JDBC is a technology used in the Java programming language to interact with databases. It's just one of the myriad of Java technologies you might encounter if you chose to learn Java. However it's not a good candidate for specialization as it's only one tiny part of the puzzle that is a software application.

Income, Stress, Bosses, Worklife, etc... will all depend on the companies you choose to work for. Some types of software development companies are known to have higher burn-out rates and worse working conditions on average (such as games). But your actual situation will vary greatly from company to company as with any other field.

What's most important is just to be interested in software. Write a pet-project or learn a language on your own initiative. You need to constantly excercise your learning muscles and learn how to write programs that help you solve a problem you have right now. As you learn more about programming it'll become easier to grasp difficult concepts. You don't need to study 24/7 but it's important that you enjoy the process of learning new concepts.

share|improve this answer
add comment

Certainly every server side Java developer should know JDBC, but it isn't a topic to specialize on, for three reasons:

  1. The scope is very limited. You can grasp the concept in a day, and really grok the details in two or three weeks. It's just a thin layer over SQL, not enough fancy stuff to become a guru
  2. Modern architectures are build on top of JDBC. You don't need to know much JDBC if you use JPA, Hibernate or other ORM frameworks.
  3. In times of "big data" the NoSQL concept becomes more and more important, and obviously there is no JDBC for DBs like MongoDB. Some frameworks like Spring Data try to unify SQL and NoSQL sources.
share|improve this answer
add comment

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