Set up a system of Continuous Integration that automatically compiles your code and runs your Unit Tests. The best system of cross-training is Pair Programming. Do The Simplest Thing That Could Possibly Work. Avoid unnecessary complexity. You Arent Gonna Need It. Write your code with Extreme Clarity. The Source Code Is The Design. If you have a question, Ask The Code. And always Refactor Mercilessly.
I've put up the slides to a series of Chalk Talks on Java and Swing design principles which I gave at Activant a few years back.
Here also are the slides to a series of Presentations on Java (and other topics) which I gave at Hewlett-Packard in 2003.
Back in 1999 I wrote a couple of short articles on JNI and RMI, with code examples, respectively entitled Adapter Classes for the Java Native Interface and Implementing Multiple Remote GUIs with RMI.
Here are a few of my favorite Quotations on the topic of software engineering.
I've given a lot of thought to the tools I use. Here's my Ideal Integrated Development Environment and my list of Essential Programmer's Editor Features.
School didn't help me much, except for the first few weeks of first grade, where I learned to read. After that, I pretty much taught myself. Here's a list of My Favorite Programming Books.
Tired of programmers producing pathetic HTML with WYSIWYG authoring tools? Get a clue, guys!
Use a text editor and do it right.
Here's my One Hour HTML Course.