Thompson B.’s Avatar

Thompson B.

86

Karma

1

Questions

Is proficiency in Java enough to get you placed in good company?

I'm a graduate student(MS Computer Science) and I'm gonna be graduating in a year and a half and I wanted to know if there is any skill that I must have besides Java. I would like to know what are the other programming languages/skills that any employer can expect from a potential employee with a masters degree. #computer-software #career #software #software-development #development #java #android #personal-development #career-details #job-application

Ask a new question Answer this question
Updated

4 answers

Proficiency in Java, huh? It's a great start. But, with respect, you should be prepared to tell your interviewers what you've done with it.

These days, lots of Java development is for "line-of-business" applications. Many of them are developed in-house for companies who sell products other than software. Those software projects often use database management systems along with Java. So, you might be wise to get yourself some JDBC and SQL chops to go with your Java skills for those jobs. Those projects are all about turning the company's data into useful actionable insights. So you need to be able to get to the company's data. SQL.

Android phone apps, at least some of them, are written in Java. Again, there are Android-specific skills you can add to Java to prepare for those jobs. Phone apps are about the user experience.

Lots of web server apps are written in Java. In Silicon Valley those apps are starting to show their age. So if you want to work for a cutting-edge Sili Valley outfit, getting a little experience with Javascript (both server-side in node.js and browser-side) might be helpful. Ditto for Python.

Over the span of your career, you can expect the programming language you use to change completely three or four times. So, whatever you do, don't decide you're a Java guy. Decide you're a skilled programmer who's capable of working with a variety of tools, and continually learning new tools.

Last updated Feb 27 '17 at 02:37 PM

I worked for a company that is a Java/Windows shop and I have worked for companies that do not specialize in Java. Mixed shops (Windows/Linux/Unix/Mainframe) usually specialize in many languages.


At the very least, I would learn another type of language used by many companies like Python. Remember it takes hundreds of hours to really learn a language. Being older than you I started with Perl the predecessor to Python. The stages I went through are: beginning Perl, programming Perl, advanced Perl, mastering Perl then mastering Perl/TK and mastering Regular Expressions. As you can see there were many hours studying Perl mostly from books although today the Internet is a great way to learn all levels of a language.


If you are going to work with software at any position in the Software Development Life Cycle (SDLC) you should learn the Continuous Development (CD) and Continuous Integration (CI) applications. Jenkins is an excellent open source /corporate CD application and Puppet is an excellent open source /corporate CI application.


Read more about it at:

https://puppet.com/products/managed-technology/jenkins


Actually, how fast this software environment is moving GitLab is now considered by many to be the best CD/CI application and I have not used it. Yet!!! Although I have used Git on many occasions.

This professional recommends the following next steps:

  • Read articles on the Internet about which programming language companies are using. Remember new languages are being created and old languages discarded.
  • Learn a programming language that companies are using.
Last updated Mar 19 at 12:43 PM

I'd say a bare minimum would be Java and SQL to get you considered. My #1 piece of advice for every college student: Learn SQL. Everything is database driven these days, from simple phone apps to IBM's Watson, and while NoSQL databases are rising in popularity, they are often a complement to, rather than a replacement for, SQL databases. Regardless of what your core language is: Java, C++, Python, or something else, you will have to interact with SQL.


I've hired quite a number of programmers, and things I look for on a resume are:

1) Do they have the core skills I need: a UI language (something like Swing or HTML/CSS), business logic language (Java, Python, PHP), and back-end (SQL).

2) What have they done with those core skills? Did you actually build an application, or did you just sit in a classroom and pass a test? If you list Java on your resume, but have never produced an application with it, I wouldn't consider you. That application can be a side project, class project, or actually at a business - where you built it doesn't matter.

3) Which business area did your application target? If I need a web developer, I'd be looking for HTML/CSS experience instead of Swing. Conversely, if I need a desktop developer, I'd be looking for AWT/Swing instead of HTML.

Last updated Feb 22 at 05:51 PM
Do you want to code, or do something else? If you're looking at software development, if you're proficient in one language you should be able to pick up others pretty easily. I would advise looking at job postings and seeing what is hot right now. Languages come and go! That said, if I were hiring, I would expect a software developer with an MS to be fluent in one language, but also have conversant in others. I would also expect a general knowledge of other areas of the field. You should have basic knowledge about project management, hardware, operating systems, basic UI design, databases, etc.
Last updated Sep 15 '17 at 11:33 AM
Ask a question