What does it mean to be a Software (Java/J2EE) Consultant ?
Presented by : Sathish ChittibabuDate : May 15th 2010Event : Marlabs Training Event
Coding Styles
• Good coding styles with proper comments, documentation etc., • Try to make it Javadoc complaint – So you can generate
Javadocs when you build and deploy your code• Try to use Standard code templates (Organization
specific) imported into your IDE• Be aware of Too Much and Too Little comments
2/14
Code Templates – Eclipse IDE
3/14
Coding Styles – Example
4/14
Version Control (SCM)
• Learn to use the version control system• Be disciplined in checking in your work in SCM• Avoid stepping on other’s toes• Provide proper comments/notes when checking in your
work• Keep your Unit/Local development environment synced
up
5/14
Test Driven Development (TDD)
• Unit test your code– New development, Bug fixes, Enhancements
• Write junit test cases for every class you write• Try to test every line of your code (Full test coverage)• Automated test coverage report during build process• Use Spring’s Junit test Framework
6/14
Build, Deploy Process
• Different environments – Unit/Local, System, Integration, UAT, Production
• Know your project build, deploy process• Ant builds or Maven builds – know how to do it• Manage your different build versions in different
environments
7/14
Project Design
• Be prepared to write a design doc, summary doc for the work you have done.• Ability to explain the design (the module/use case) to
peers in simple terms with much clarity.• Be open to accept design/code review comments • Do’nt get defensive and don't take things too personal.
8/14
Task Estimates for Building REST WS• Most of the projects are Agile/Scrum based• Should be able to give good ball park estimates for the
work to be done. • E.g., give an estimate of how long it would take to
develop a use case.
9/14
Problem Solving
• Do not rush to fix a problem. • Instead analyze and research extensively before coming
up with a solution.• Take an extra couple of hours to think for the long term
solution. • Don't do stop-gap or patch up work.• Some times Complex problems require Simple
solutions. • Follow the KISS principle• Develop trouble shooting and debug tools during your
development
10/14
Keep Learning
• Keep yourself up to date of the technologies that are out there that you use every day. – Newer versions of software– New Tools– Standards, solutions etc.,
• Feel free to suggest new technological options for the project.• Don't be just a do-er. • Create, Innovate and share your knowledge.
11/14
Java Developer
• Get your hands dirty with different versions of Java (1.4, 1.5, 1.6) , Spring (2.5, 3.0) etc.,• Don't be afraid to use data structures (Lists, Maps, Sets)• Should have good understanding of DB concepts.• Should be able to write good SQL queries. • A java developer is expected to write SQL queries to be
used along with spring. • Understand DDLs, DMLs, Table, Views, Materialized
Views etc.,
12/14
Day to day tools
• Should be very good in using Eclipse IDE. Try out the various plugins available. • Be able to run Ant within eclipse, run a stand alone Java
application, start/stop App/Web servers etc.,• Be proficient in Unix commands, ftp commands, shell
scripts. • Most of the production environments are in Unix/Linux
environment. • So you should be able to manage the file system, edit
files, run scripts etc.,
13/14
Day to day tools
• Have good experience in using FTP tools (wsftp, winscp) • Unix tools (Putty, Tera term, Terminal)• File comparison tools (Beyond Compare, Win Merge) • Image editing tools (for taking screenshots, marking on
the screen shot etc., )• Source Control System (SubVersion, Clear case,
AccuRev)• Also be proficient in using Word, Excel, Powerpoint etc.
14/14
Top Related