This is a checklist that allow an easy onboarding in a new Java project for the employee and team leader. It can be useful during interviews to understand in which environment the client is working.
IDE - choice
- Eclipse - Intellij - Netbeans
- Free choice?
IDE - configuration
- Is it possible to use custom plugins?
- Is it possible to use custom configuration?
- Are there existing profiles to be imported?
Java SE version
- Which version?
Java enterprise framework
- Spring - JavaEE - Other
JavaEE - injection preference
- CDI - EJB
- No preferences (mixing allowed)
JavaEE - application server
- JBoss - Weblogic - Websphere - TomEE - Other
Java EE - packaging
- WAR - EAR
Java Enterprise - Web Services
- JAX-WS - JAX-RS
Project - libraries
- Is it possible to add external libraries? Limitations?
Server operating system
- Linux - Windows
Build
- Maven - Ant - Gradle
CI
- Jenkins - Hudson
Source versioning
- Git - CVS - SVN
Code control tools
- FindBug
- Checkstyle
- Code naming conventions
- Review Code Tools
Tests - Behavior Driven Development
- Cucumber - FitNesse
Tests - Unit Tests
- JUnit - TestNG
- % coverage
Tests - JavaEE
- Arquillian
- How the container is launched?
- Which tools are used (ex. SOAPUI for WS)
Test - Database
- How the database data is tested? Mock, Memory DB, DB instance?
Bugs
- JIRA - Other
Performance Tuning
- VisualVM - JProfiler - Yourkit
Documentation
- Where to find the documentation?
- Format (UML, etc.) ?
- JavaDoc is generated? We have to document class/method created?
Database - Brand
- Oracle - SQLServer - MySql - Other
Database - Installation
- Remote access, login instruction
- Local install. Is it possible to have a local instance?
Database - Client
- Which tool is used? Free choice?
Project Management
- Scrum - RUP - Other
Scrum
- Time and place for the meetings
- Duration of the sprints
- Who is the Scrum Master?
Other questions
- Can I install free/licenced software on my workstation?
- Do I have a remote access to the e-mail and environment?
- Which other tools are used?
- Policies for the use of the hardware / software
- Login for the DB / AS / etc. are set? Who should I contact?