Software Development

Become a Java programmer without a college degree

Being a pro on Java doesn't necessarily mean you need a college degree. You just have to take the right steps.

Java is more than an island in Indonesia or slang for coffee: It's one of the most popular programming languages in common usage throughout the web. If you're dreaming of a career in software programming, certification in Java is a popular route to establishing recognizable credentials.

Java is very popular because it inherits the tradition and style of C and C++, but is developed with emphasis on simplicity - making it is easier for a beginner to understand. If you're already an expert in C or C++, then Java is almost effortless to learn. Secondly, Java has portability independent of the platform, which means Java can be executed on most computer environments. This has definitely helped Java prevail in gaining an advantage over other languages. Third, Java uses automatic memory management, which automatically clears out garbage for the programmer and retrieves memory. And it's free!

To be an expert in Java, you don't necessarily have to get a college degree. You just need some initiative, a desire to learn and knowledge of the right steps!

Computer literacy

This sounds simple but it's certainly very important: To become a Java programmer, you'll need to become computer literate beyond just surfing the internet or sending emails. There are plenty of resources out there on the net for you, but you need to be able to find and utilize them. You'll need to know how to download, install, and use necessary programs in order to prepare the Java environment to get you started. Do you know how to access and use Java files? Do you know what Java file editors and compilers are, what they do, or where to download them? These are all questions you need to have clear answers for before you start your Java career.

First, a brief explanation of a file, an editor and a compiler:

An editor is where you write, fix and save your code. You can save files in the format appropriate for your programming language, in this case, Java. Learn more here A compiler "translates" your saved code. Since the computer does not "understand" our human-readable high-level language (source code), we need to translate it into "machine-readable lowest-level language" (machine code) for the computer. Learn more here

Here's the procedure: First, the programmer creates the instructions on the editor and the code is saved in a file. The compiler takes the code and translates it. Finally, the computer reads the "translated code" and executes it.

To download a Java Editor: here

To download a Compiler: Eclipse, Oracle, NetBeans

Note: Make sure you read the directions before you download anything and select the tool you want, so that you install the right things. And of course there are tons of other Java editors/compilers out there that are equally useful! (Feel free to list your favorite resources in the comments.)

Self-learning

Now that you understand how to get your basic Java environment set up, you can move on to the next step-writing your first line of code.

As you know, receiving a college degree in computer science or joining a face-to-face Java instruction program would require you to put in a lot of effort in a short span. It might not be the best choice for you if you can't dedicate a lot of time to your studies, especially if you have a full-time job.

Self-learning might be a better choice because you can pace yourself in the process, decide when to study and for how long; everything is pretty much up to you.

Here are some great sites that offer self-paced, online Java training courses:

Free:

For purchase:

You don't have to limit yourself to just online resources. Another good way to learn Java is through books. There are plenty of good books available everywhere and you can get them for pretty cheap. For example, take a look at Amazon.com

Professional certification exams

Once you've studied Java using all kinds of resources, you may feel comfortable pursuing a professional certification.

Like a final exam in a college class, the professional certification exams measure your understanding and proficiency of Java. Instead of receiving a grade, you'll earn an accredited certificate indicating your mastery. This addition to your resume will help you stand out in the eye of your future employer.

But what kind of certification exams should you pursue? There are various test providers out there. A reliable test administer is the Oracle Corporation, which is the current developer of the Java language. This is a test provider that employers definitely trust. Sun Microsystems is also a good choice (as it is now part of Oracle).

The procedure for obtaining a certificate could be a little complicated because there are a lot of  options at the different levels of Java expertise.

So before you choose an exam to take, you need to understand your own skill level and standing. Here are some guidelines for you. We'll use the Oracle Certified Exams as an example. Oracle Certifications have various types and levels of exams spanning Java fundamentals to advanced programming.

Oracle places their Java certifications in three categories:

  • Standard Edition (SE)
  • Mobile Edition (ME)
  • Enterprise Edition (EE)

Within each category, there are also different levels of exams, which will be talked about in a moment. First, take a look at this chart.

As you can see, there are three different categories. Within each category, there are several levels. The Standard Edition covers the fundamental skill sets that are needed to be a Java programmer; you would need to pass at least the professional level of Standard Edition in order to move on to the upper level within SE, which is the Master, or move on to the upper categories. The arrows (both blue and black) indicate that prerequisites are needed to take that exam. For example, in order to take ME1 or any EE professional-level or expert-level exams, you would need to pass a SE professional-level exam (SE5, 6, or 7).

You can choose your career path based on which certification you pursue. If you just want a certificate showing you have some skills in Java, then Associate SE5/6/7 or Professional SE5/6 are the ones to choose. (Note: Professional SE7 requires you to take Associate SE7 first.) They don't require any prerequisites and are excellent certifications for showing your fundamental understanding of Java. If you want to go a little bit further in depth, consider taking Master SE6 or Professional SE7. If you wish to create mobile applications applying Java, then ME1 is the choice for you. EE is for more business-oriented applications and requires a strong and solid basis of Java. Master EE5 is the most difficult exam available now and has a little different exam content.

Click on the links below to access explanations and details about each exam (exam numbers, objectives, content, prerequisites, &c). I also attached links to study material for some of the exams. These study courses are different from the self-learning material I provided in the section above. They are specifically targeted for the exams you wish to take and they introduce a lot of useful strategies to help you pass the exams.

You can also check the minimum score requirement to pass each exam here.

Standard Edition:

Oracle Certified Associate

Oracle Certified Professional

Oracle Certified Master

Exam: Oracle Certified Master, Java SE 6 Developer

Mobile edition:

Oracle Certified Professional

Exam: Oracle Certified Professional, Java ME 1 Mobile Application Developer

Enterprise edition:

Oracle Certified Professional

Oracle Certified Expert

Oracle Certified Master

Exam: Oracle Certified Master, Java EE 5 Enterprise Architect

The opportunities available for a Java developer are immense, and their knowledge is very valuable. Best of all, to be an expert in Java, you don't necessarily have to get a college degree. Just take the right steps towards developing and proving your skills, and you're good to go.

Bunron Chen is a business development and software engineering intern at OpenSesame, the world's largest marketplace for buying and selling elearning courses. He earned his BS degree in electrical engineering from the State University of New York at Binghamton.

About

Bunron Chen is a business development and software engineering intern at OpenSesame, a marketplace for buying and selling elearning courses. He earned his BS degree in electrical engineering from the State University of New York at Binghamton.

18 comments
dogknees
dogknees

You don't need the degree, but you do need to know a lot of the stuff you would learn when studying for a degree. I have no formal qualifications but I spent about 5 years reading everything I could find and writing dozens of programs to explore algorithms and well structured coding. I also used to help out friends that were taking the degree course when they hit problems.

sysop-dr
sysop-dr

OK, there are so many things wrong with this story it's hard to start anywhere but,let me just jump in. Eclipse, netbeans etc are not compilers, but do have a compiler component for java. They are IDEs, Integrated Development Environments. They integrate not only an editor but debuggers, profilers, configuration management, compilers and a lot of other tools. You could use Eclipse with Java but also with Fortran, C, C++ and a lot of other things. Heck it integrates Word. Next, Java doesn't compile to machine language or machine code. instead it compiles to a "bit code" that is then run from the java virtual machine. A JVM (JRE package includes a JVM) and that in turn reads the compiled bit code and makes it run on the machine/OS you are using. Java Bit Code is not compiled like C or Pascal into instructions for the CPU (machine language) because that is specific to each cpu architecture and isn't portable. Instead it is compiled to this virtual machine bit code that will run anywhere a JVM will run. And memory management, um, most of the time it works as advertised but there are exceptions and one of the biggest is SWT. SWT is Standard Widget Toolkit, which allows a java application to use the standard widgets for things from the OS itself, thus not only does a Java application run on anything but when run on a platform it looks like any other application for that platform and not some strange thing that looks out of place. Write an application for Linux and it looks like linux, run the same app on Windows XP and it looks like a Windows XP app and Run on Windows 7 it looks like something from Windows 7. BUT to do this is sacrifices memory management, so you the programmer must clean up after yourself. More transparent portability but you have to dispose odf stuff when you don't need it and don't try to use it after disposing of it. Now learning Java. Anyone can learn Java, I teach my kids. But learning it and mastering it are two different things. I remember java 1.2 where I cut my teeth on java. From then until now I have gone from 'I learned java' to 'there's a lot more to java then i thought' to 'hey I can make java work with anything, from FORTRAN libraries to data acquisition modules made for Labview'. BUT while people seem to think there is nothing I can't do with java I know there is still a lot to learn. Unless you wrote it from scratch I don't think you could know it all. I've only been using it for 15 years and I have not seen all of it yet. To do anything in any language you need to know basics of programming. Anyone can make a hello world or even make a decent looking application but to use classes, MVC, properly make modular programs with proper separation of objects so that it can be maintained properly and to a methodology that makes sense and makes your programming efficient and more likely to succeed you should go to school for programming, systems analysis, work flow, configuration management, Quality assurance and more than anything else proper testing procedures, tools and test management. (Cause if your testing sucks so will your software.) Anyway my 2 cents worth, good luck learning Java it is a lot of fun.

bobc4012
bobc4012

I first learned about it in the fall of 95 and picked up the book, "Hooked on Java" by Van Hoff, et al, who worked for Sun, in early 1996. It also included a CD with Java VM, et al. The local community college had started classes on Java that summer. I took the Java classes, plus read the very few books and did the exercises. I remember back in 1997 I was interviewing for Java positions (very, very few around at that time, as it was still too new). I had experience with C, C++, Smalltalk plus a dozen other languages and over 30 years programming experience. It was amazing at the reasons they refused to consider me - the very few interviews that I had generally came back with the same response - "We are looking for someone with 5 solid years of Java programming - sorry!". Of course, being in my early 50s, had nothing to do with it - RIGHTTTT!!! I did mention to a couple of the interviewers finding someone with that much Java experience might be hard to come by. I was bluntly told that they had already interviewed quite a few with that much experience (I was tempted to ask if it was Gosling and his co-workers). I suspect someone without a degree who has some Java experience may get a job, if they are willing to work for considerably less than what some overseas programmer is getting paid.

Gisabun
Gisabun

Let's so. Go to a interview for a Java developer. The recruiiter looks at your CV. No work experirence as a Java developer. No school mentions learning Java. Goodbye. [The exception to the rule if you can program well in another language.]

Tony Hopkinson
Tony Hopkinson

for a pile of certs that you don't need either. Unless you need them to get past the buzzword bingo boys, of course they'll probably want a degree as well.....

annetteg
annetteg

This is also a great list to use to brush up on Java if Java is not the main language you use in your current position. Our reporting software works on both .NET and Java. One way it has been successful is with companies going through an acquisition binge. Great way to unite data and teams as there are potentially a number of programming languages involved. More knowledge = more power. Thanks for the list! Annette with Windward

grayknight
grayknight

Though I'd caution that skipping taking courses is only for those who can easily learn on their own. Having a degree has helped me immensely in writing better code, not to mention getting better job opportunities, and making it easier to learn new languages.

bobk1
bobk1

The Java editor link drops me to www.java.com/en. Can you be more specific about where to find the editor?

Tony Hopkinson
Tony Hopkinson

Like you I'm pretty much self taught. This advert isn't how to be a programmer, it's how to get a piece of paper so you can call yourself a programmer. They may or may not help you learn, as would of course a degree, but that idea that either is the only way to learn is misleading rubbish. The real message behind the post, and the equivalent ones for degrees, and even those who suggest you get both, is selling the formal education, and a misleading validation that you have learned. I've met people with CS degrees and certs I wouldn't let program my VCR, never mind work on my name and address book...

Tony Hopkinson
Tony Hopkinson

of that so the buzzword bing boys can find your number on their card.

Ndiaz.fuentes
Ndiaz.fuentes

A couple years back, you would've needed a text editor an a separate compiler. These days, you'll rarely find a compiler that DOESN'T include a text editor. In fact, Eclipse and Netbeans are actually IDEs (Integrated Development Environmment), which means they include a multitude of tools, among them a compiler and a text editor. So grab a copy of Eclipse, Netbeans or any other IDE, and you'll be fine.

Tony Hopkinson
Tony Hopkinson

Include compilers and editors and other bits and pieces. A couple of years back? More like twenty...