Friday, September 02, 2011

Recipe#3: Install the Eclipse IDE

No serious Java developer I know writes code in a text editor; you need an Integrated Development Environment (IDE). The benefits of using an IDE can't be emphasized enough, and with many free options out there, you have no excuse. (See a comparison of the major Java IDEs). My IDE of choice is Eclipse.
  1. Download Eclipse (http://www.eclipse.org/downloads/). Because I mostly develop web applications, I use the "Eclipse IDE for Java EE Developers" flavor.
  2. The platform version you get depends on what JVM you have installed. If the JVM is 32-bit, get the 32-bit version of the IDE.
  3. Extract the downloaded .zip to a location that will be Eclipse's installation directory.
  4. Run %install_dir%\eclipse.exe. Should open the IDE and prompt you to configure workspaces. My practice is to specify a workspace for each major project I work on, most of which will have many related Eclipse projects.
  5. Since Eclipse is not installed like other Windows applications, create a shortcut on your desktop to the Eclipse executable.
You'll get more use out of the IDE if you learn to use it properly. Invest in a book on this topic or Google for tutorials (check out http://www.vogella.de/articles/Eclipse/article.html for a start).

Thursday, September 01, 2011

Recipe#2: To Start Developing In Java

To start any Java project, you need to install a Java Development Kit (JDK) on your computer. The kit contains the virtual machine (JVM), the language spec, and a number of other utilities. Only three things need be done to properly install a JDK:
  1. Download the latest J2SE from http://www.oracle.com/technetwork/java/javase/downloads/index.html and run its installer.
  2. Configure the environment variables so that your installation is available on the system classpath. In either PATH or CLASSPATH, add %install_directory%\bin. At the commandline, you should be able to run java -version and see version information.
  3. Create a JAVA_HOME system environment variable and point it to the directory where the JDK is installed. Plenty of Java tools, plugins, applications, and utilities expect this variable to exist.
At this point, you can start developing Java code (using any text editor and the shell/commandline). A word of caution: although Java SE7 has some great new features, some have observed a few drawbacks. Ref: "Java SE 7 'Buggy,' Causing Crashes Says Apache Lucene".

Tuesday, August 30, 2011

Recipe #1: 12 Commandments of a Java Developer

There are only two requirements to become a Java programmer: (1) know the Java programming language, and (2) have an environment in which to program. The first requirement can be achieved through the many tutorials, books, and college courses that exist today. The environment is as simple as a computer with the JDK installed.

To become a well-rounded developer, however, requires much more than programming. Here are my 12 commandments of software development:
  1. Know development paradigms and the software development models. Practice good software development methodologies.
  2. Know the tools of the trade, including IDEs, frameworks, plugins, and other utilities that will make development easier and automated.
  3. Do not reinvent the wheel: there are developers that have likely solved the problems you will face. Use that body of work, build on it. (And contribute). Specifically, there are tons of libraries out there for all kinds of things.
  4. Have project management skills to carry a project from statement/requirements to deployment/maintenance. You have to know everything that affects what you will produce.
  5. Have an industry certification such as the Java certification from Oracle. You should also have evidence of training in other products you are training on.
  6. Diversify your skills. Be able to develop for various platforms (desktop, web, mobile), use related technologies (networking, databases, integration solutions such as ESB), and know best practices.
  7. Network with other software developers and programmers. This is how you will learn undocumented techniques and perhaps land contracts.
  8. Contribute to the knowledge base through blogging and reviews of others' work. If you invent a wheel, consider open-sourcing it. Find a few good forums and respond helpfully to topics there. Be an expert in your craft and share the wealth.
  9. Stay in the know: technology news, research, and software development publications will keep you abreast with what's going on in the world -- and believe me, it affects your craft.
  10. Practice and keep learning: there is always new ways to do things, or new products that could simplify your work. Learn their implications for you. You stand a better chance of landing that job if you can also demonstrate your skills (by perhaps showing something you have developed).
  11. Write efficient and highly optimized code, with good documentation. Test your stuff before you release it. This means that you can write good algorithms and have in place a way to test all your code paths.
  12. [Minor]: know how to setup the JVM, including the various options required for it to perform optimally.

Monday, August 29, 2011

Finally, Returning To Blogging

Yes, it's been ages since I blogged here. Over the next few weeks, I'll be cleaning up this blog (removing personal posts and focusing the blog on technical content, including software development and running a business). Personal posts will be moved to another blog.
The intent of this blog will be to share my experiences and challenges (and solutions, of course) from the world of software development, which is my current occupation.