college java vs real java - tushar joshi
DESCRIPTION
This presentation was first delivered at Anjuman College for Polytechnic Final Year students on premises of Anjuman Engineering College, Sadar, Nagpur. The audience was students who have learned only Java in their curriculum. UPDATE (19 July 2014) Added some more information, added SOLID principles referenceTRANSCRIPT
College Java vs Real Java
Tushar Joshi
More about Tushar Joshi
• Working with Java since 1996
• 18+ years of Software Industry Experience
• Taught Java for 8 years
• Teacher, Consultant for Java Technologies
• Currently working as Senior Architect, at Persistent
Systems
• Involved in hiring Java candidates for last 9 years
• Member of Oracle NetBeans Dream Team
Java from Curriculum
• Like Driving License
• Necessary and is
very important
• Does not make you
a good driver on its
own
What people need..
• Working software
• Reliable system which will work for
years to come
Java API
• Must know Java API in and out
• Java coding standards
• More important is the ability to learn new API
as it become available
• To know where to find reference
• JSR – What is JSR? What is JCP
http://www.jcp.org
Major API
• Collections
• Threading and Concurrency
• IO
• Swing, JavaFX
Certifications
• Certifications provide opportunity to learn
the syllabus thoroughly
• Optional, they become important in case of
competition
• Problem solving and application of
knowledge to real life takes precedence to
Certification
Problem Solving Skills
• Key factor in getting HIRED
• Ability to apply the knowledge to real
life
• Get involved in projects
• Get involved in User Groups
Only Java or more• With Java you will need
– Database knowledge, SQL syntax
–Web server like Tomcat, Glassfish,
Wildfly
–Web Framework like Struts, Spring MVC
– HTML, CSS, JavaScript
– Design Patterns, Clean Code
Database
• SQL Syntax
• Working with JDBC
• Object Relational Mapping (ORM)
• Hibernate, EclipseLink, iBatis
Web Servers
• Apache Tomcat
• Jboss WildFly
• Oracle Glassfish
Web Frameworks
• Apache Struts
• Spring MVC
• Tapestry
• Wicket
Client Side Scripting
• HTML5
• CSS, LESS, SASS
• JavaScript, jQuery, Jasmine, Grunt
Design Patterns
• Patterns emerged from Experience
• Gang Of Four Patterns
• Solution to typical problems
• Provide you way to communicate
designs
• S.O.L.I.D Principles
Recent Trends
• Version Control Systems
• Build Tools
• Test Driven Development
• Continuous Integration
• Inversion of Control, SOLID Principles
Version Control System
• Concurrent Versioning System [CVS]
• Subversion [SVN]
• Mercurial [Hg]
• GIT [git]
Build Tools
• Apache Ant
• Apache Maven
• Gradle
Test Driven Development
• Test Driven Development [Junit, Test
NG]
• Behaviour Driven Development
[BDD, JBehave]
• Code Coverage [Sonar, JaCoCo]
Continuous Integration
• Continuum
• Jenkins / Hudson
Inversion of Control
• CDI
• Spring DI
• Google Juice
Experience
• Obtain from a startup company
• Ensure you learn all things
mentioned in this presentation
• Make yourself ready for developing
working software
Thank You
• There are no silly questions…