5 answers

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

Updated Poughkeepsie, New York

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

5 answers

Ollie’s Answer

Updated Boston, Massachusetts

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.

Updated
Thank you very much Ollie !! I thought it this way like when I tell employers that I'm good at Java, it would also mean that I'm familiar with JDBC, SQL and J2EE and JavaScript. I thought it all meant the same thing (it's all Java coz they're developed by Oracle and former Sun Microsystems ); but now I feel like I should be distinguishing based on the kinds of applications they're used for. And it looks like I've gotta learn node js and python to boost my chances to get a good job out there

John’s Answer

Updated

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.

Jules’s Answer

Updated Portland, Oregon

Hi Thompson -

Congrats on your upcoming graduation! It is an admirable accomplishment.

As a Software Engineering Manager, I interview a lot of candidates in various stages in their careers, including early career engineers like yourself. When evaluating an engineer as a potential fit for my team, I definitely like to hear about technical accomplishments and proficiencies, but I also like to hear a lot about soft skills. These may include:

  • Experience working with groups or pairing
  • Evidence of turning technical or team obstacles into opportunities
  • Examples of positive experiences either mentoring others or being mentored

In general, I'm looking for ways to add exponential value to the team (outside of "just another" engineer).

Good luck!

Leon’s Answer

Updated Fort Worth, Texas

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.

Leon 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.

Lucia’s Answer

Updated Herndon, Virginia
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.