College Java vs Real Java - Tushar Joshi

Post on 13-Jan-2015

855 views 2 download

Tags:

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 reference

transcript

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…