java consulting tips for beginners

14
What does it mean to be a Software (Java/J2EE) Consultant ? Presented by : Sathish Chittibabu Date : May 15 th 2010 Event : Marlabs Training Event

Upload: sathish-chittibabu

Post on 25-May-2015

3.360 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Java Consulting tips for Beginners

What does it mean to be a Software (Java/J2EE) Consultant ?

Presented by : Sathish ChittibabuDate : May 15th 2010Event : Marlabs Training Event

Page 2: Java Consulting tips for Beginners

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

Page 3: Java Consulting tips for Beginners

Code Templates – Eclipse IDE

3/14

Page 4: Java Consulting tips for Beginners

Coding Styles – Example

4/14

Page 5: Java Consulting tips for Beginners

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

Page 6: Java Consulting tips for Beginners

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

Page 7: Java Consulting tips for Beginners

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

Page 8: Java Consulting tips for Beginners

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

Page 9: Java Consulting tips for Beginners

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

Page 10: Java Consulting tips for Beginners

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

Page 11: Java Consulting tips for Beginners

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

Page 12: Java Consulting tips for Beginners

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

Page 13: Java Consulting tips for Beginners

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

Page 14: Java Consulting tips for Beginners

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