Search This Blog

Thursday, April 22, 2010

how to start with java development

Several people, who have not know me before, asked me What books did you read.
Learning and reading books is a must but not enough.
What is the most important is the personality attitude, pation and how you think, why you are doing coding this way in this area. Once you try to realize you get to be best very fast, you fail as fast as you have started.

In my humble personal opinion, it does not really matter how many certificates you have earned, how many books you have read, but it matters how you think, the manner of you programming and architectural style, how you realize that the code you type is sentences and language that all other people must understand. S/w is the state of art.

well, the Java technologies area is so huge that we can concern only some parts in order to handle very deep hands on experiences.
The Java technologies are splited in to subsets. I recognize the following ones: Java SE, EE, J2ME, Java Runtime, Java Media Framework, JavaFX, ...
It depends on which of them are requested by your business.

What I always recommend to all programmers is to know you domain very well. The s/w design is then determined by the programming language used in your project.
Thus first of all, read the following specifications of s/w standars in order as specified:
+ The Java Virtual Machine - Second Edition.
+ The Java Programming Language - Third Edition
+ Java Community Links, and Programmers Guides on SUN webpages.
+ Understand you virtual machine road map, configurations and garbage collector algorithm. Do not hesitate contact the vendor of SDK. If your SDK version is lower than 1.5, be aware of memory model implemented by the vendor.
+ Read JSR specs under your JRE.

I think Ronald wants to hear a story. Briefly, I am Msc but not any s/w scientist. I hated all other than assembler and Matlab programming till my University. I was a radio ham since 9. I understood all from atoms up to transistors and ICs, and later on processors, especially ADI DSP. At the University I was leading 50% of team and studying high level programming languages and took courses. Started my commercial job as a Java programmer and s/w integrator at IPTV project at the Siemens. So the growth was fast, very fast to me, but I was involved in IPTV team together with developers, external s/w parties, made daily consultings with Entone and Sciatel, managers, integrators and admins. There I understood how important it is to know what and how all parts of project are performing if you want to be a good programmer. Because the code "goes through all of these hands" and even more.

Nowadays focusing on OSGi + Maven, Java Cryptography, Java Security, NIO, own Maven plugin of jar signer, building own servlet with authorization.
The reason was to develop open IPTV client in my private project, and therefore still was not happy because someting was missing: architecture knowledge, domain design model knowledge, systems security knowledge, Agile Methods gab. I was not happy with often refactoring.

Later it would lead me to administrations and teaching students at the University in my 50's when no entrepreneur wants me :)))