SlideShare a Scribd company logo
(Better)
Career in Java
   Mert ÇALIŞKAN
     March 2013



                   @ankarajug
                   #javaizmirde
AnkaraJUG
  first event @ November 2012...

  Founding Fathers:
    Barış BAL
    Çağatay ÇİVİCİ
    Mert ÇALIŞKAN

http://bit.ly/ankarajugKAYIT
    ankarajug.blogspot.com

    facebook.com/ankarajug

    twitter.com/ankarajug         @ankarajug
                                  #javaizmirde
Mert ÇALIŞKAN
             10+ years of experience w/ Java
              Coder @ T2.com.tr

Open Source Software Advocate, Founder, Implementor

Member of Apache Software
Foundation and OpenLogic Expert
Community

Author of
PrimeFaces Cookbook
from PacktPub

   tr.linkedin.com/in/mertcaliskan             @ankarajug
                                               #javaizmirde
To JAVA?             or NOT..? :)
Come to the Dark Side..!
                                          @ankarajug
                                          #javaizmirde
Agenda



History of Java
Versions of Java.. SE, EE and the others..
Java Web Frameworks
Better career w/ Java
Q&A
                                      @ankarajug
                                      #javaizmirde
YOU KNOW THIS TRANS-ATLANTIC?




                                @ankarajug
                                #javaizmirde
• RMS Titanic
  sank in North Atlantic Ocean
  on 15 April, 1912 on maiden voyage

  So Eventually Everything Dies...!
  Tragic analogy, ok :)


• You, Me, All of Us...
• Companies, Technologies...
• Key point is: You should avoid not making it like
  Titanic, which sunk in 2hrs and 40 minutes...!
                                                   @ankarajug
                                                   #javaizmirde
Where it all began...
                       Founded February 24, 1982

                       Sold to Oracle January 27, 2010
                       for $7.4 billion..!

Sun was mainly selling Hardware, but they also working
on computer software like Java, MySQL and NFS..



Founded in 1977 by Larry Ellison and a couple of clever
guys, their motivation is to compete with IBM’s System R,
which was a relational database.
                                                    @ankarajug
                                                    #javaizmirde
James Gosling... was the
      FATHER of Java



Age: 69


                                     Age: 58
                         $$$ makes you look
                             younger..!
                      Larry Ellison...
                          is the new BOSS
                                        @ankarajug
                                        #javaizmirde
History of JAVA
Java Language Project started in June 1991

(James Gosling and his fellas)

First named as: OAK                           The Duke
Running byteCode on Java Virtual Machine

WORA (Write Once, Run Anywhere)

First started with applets in the WEB world

With the dawn of Java Enterprise Edition, Servlets
made their way to rule the world.

                                                @ankarajug
                                                #javaizmirde
Editions of JAVA
Java Card: application on smart cards

Micro Edition (ME): mobile phones + set-top boxes

Standard Edition (SE): Cool Software Platform    The Duke
Enterprise Edition (EE): Oracle’s Enterprise Computing
Platform

Java DB: Oracle’s supported version of Apache Derby.

JavaFX: Aim was RIA (looks dead for me)

Personal Java: (discontinued) Java edition for mobile and
embedded systems based on Java 1.1.8
                                                    @ankarajug
                                                    #javaizmirde
CHRONOLOGY OF JAVA SE
  JDK 1.0           JDK 1.1               Introducing
January 23,    February 19, 1997    Abstract Window Toolkit
   1996

                                 J2SE 1.2
Swing was on Board           December 8, 1998

                                                 J2SE 1.3
               HotSpot JVM and JNDI
                                                May 8, 2000

 reg-ex, Java Web Start                J2SE 1.4
 embedded XML parser               February 6, 2002

   J2SE 1.5
                    New Cool Features on Language
 September 30,
     2004         Generics, AutoBoxing, var-args & etc...
                                                          @ankarajug
                                                          #javaizmirde
CHRONOLOGY OF JAVA SE
                    Renamed to Java SE instead of
  Java SE 6         J2SE from now on.
December 11, 2006   Support for running scripting
                    lang. like Rhino.


                       Dynamic lang. support like
    Java SE 7                    Groovy
    July 28, 2011
                        String in switch (finally!)


    Best is yet to come..!
    lambda expressions...       Java SE 8
     streaming..filtering..     Summer, 2013
          closures...                          @ankarajug
                                               #javaizmirde
Enterprise JAVA
    Java EE = Java Enterprise Edition

    Extends Java SE

   javax.faces.*              UI + JSF Related Stuff
  javax.servlet.*            Handling HTTP invocations
javax.enterprise.inject.*   CDI, Like Spring dependency
     javax.ejb.*                         Inj.
                                      EJB Stuff
 javax.validation.*                Bean Validation
javax.persistence.*                  Persistency
javax.transaction.*            Stuff for transactions
     javax.jms.*                  Messaging Stuff
                                                     @ankarajug
                                                     #javaizmirde
CHRONOLOGY OF JAVA EE
   J2EE 1.2            J2EE 1.3           J2EE 1.4
December 12, 1999     Sept. 12, 2001      Nov. 11, 2003

    Servlet 2.2       Servlet 2.3       Servlet 2.4


 JSP  JAX-WS          Java EE 5        Servlet 2.5
EJB   JAX-RS          May 11, 2006
 JMS   JAX-B
JTA     JPA
JAAS    JSTL          Java EE 6
 JSF any many       December 10, 2009 Servlet 3.0
 EL   more...
                                                      @ankarajug
                                                      #javaizmirde
Java Frameworks..

Ok you get to know the language in 4 years...

But you DEFINITELY NEED to learn the
frameworks. Java is mostly about frameworks
      (lots of open source ones).

I think you ask yourselves now.. Which one should
we go with?

They differ in context, if you want do WEB,
       here is a list what you can find around.


                                                 @ankarajug
                                                 #javaizmirde
Java Frameworks..
              UI                              Controller/Dep.Inj.
        JSF        Struts                   Spring          Guice         HiveMind

Spring MVC    WebWork        ZK               picoContainer          XWork

   Wicket      Tapestry      GWT
                                            Model/Persistence Layer
      Echo3     Cocoon       Vaadin
                                                 Hibernate          iBatis

     Integration                                         Toplink      KODO

Apache CXF    Apache Axis2              IDE                 EclipseLink

                                  Eclipse     IntelliJ
      Spring WS
                                               IDEA
                              JDeveloper
                                            NetBEANS
                                                                             @ankarajug
                                                                             #javaizmirde
One framework to rule them ALL...




          Spring

                                @ankarajug
                                #javaizmirde
Java Frameworks..
                                         Spring

      Spring Security          SpringSource OSGi Test Stubs
     Spring Web Flow             Spring Security Kerberos
   Spring Web Services                   Extension                 Spring Social Twitter
 Spring Dynamic Modules          SpringSource dm Server           Spring.NET CodeConfig
    Spring Integration            SpringSource dm Kernel         Spring.NET REST Client
        Spring Batch             SpringSource dm Server             Spring.NET Social
    Spring Batch Admin                    Samples              Spring.NET Social Dropbox
         Spring.NET                Spring Data Commons         Spring.NET Social LinkedIn
       Spring AMQP                      Spring Data             Spring.NET Social Twitter
     Spring AMQP.NET                 Spring Data JDBC         Spring.NET Visual Studio 2010
      Spring GemFire                  Spring Data JPA                   Extension
 Spring GemFire for .NET             Spring Data Redis            Spring Social Yammer
        Spring LDAP                   Spring Data Solr                 Spring Shell
       Spring Social                   Spring Mobile               Spring Data GemFire
    Spring for Android             Spring Data MongoDB          Spring Migration Analyzer
         Spring IDE                  Spring Data Neo4j          Spring Integration Splunk
Spring BlazeDS Integration             Spring Gemfire             Spring Integration Print
  SpringSource Bundlor              Spring Data Hadoop            Spring Security SAML
         Spring Roo               Spring Social Facebook
       Spring Python               Spring Social LinkedIn
                                                                                 @ankarajug
                                                                                 #javaizmirde
Java Frameworks..
                                         Spring

      Spring Security          SpringSource OSGi Test Stubs
     Spring Web Flow             Spring Security Kerberos
   Spring Web Services                   Extension                 Spring Social Twitter
 Spring Dynamic Modules          SpringSource dm Server           Spring.NET CodeConfig
    Spring Integration            SpringSource dm Kernel         Spring.NET REST Client
        Spring Batch             SpringSource dm Server             Spring.NET Social




                                   53
    Spring Batch Admin                    Samples              Spring.NET Social Dropbox
         Spring.NET                Spring Data Commons         Spring.NET Social LinkedIn
       Spring AMQP                      Spring Data             Spring.NET Social Twitter
     Spring AMQP.NET                 Spring Data JDBC         Spring.NET Visual Studio 2010
      Spring GemFire                  Spring Data JPA                   Extension
 Spring GemFire for .NET             Spring Data Redis            Spring Social Yammer
        Spring LDAP                   Spring Data Solr                 Spring Shell
       Spring Social                   Spring Mobile               Spring Data GemFire
    Spring for Android             Spring Data MongoDB          Spring Migration Analyzer
         Spring IDE                  Spring Data Neo4j          Spring Integration Splunk
Spring BlazeDS Integration             Spring Gemfire             Spring Integration Print
  SpringSource Bundlor              Spring Data Hadoop            Spring Security SAML
         Spring Roo               Spring Social Facebook
       Spring Python               Spring Social LinkedIn
                                                                                 @ankarajug
                                                                                 #javaizmirde
Head Start...!
PrimeFaces       CXF                 Hamcrest Mockito
                          Spring
JPA     Hibernate                           jUnit


                     DEMO
https://github.com/mulderbaba/testinfected

             AppFuse
             is a full-stack framework for building webapp
             on the JVM.
             http://appfuse.org/display/APF/AppFuse+QuickStart
                                                      @ankarajug
                                                      #javaizmirde
Open Source Licenses

            Question here is:
But how do they license these frameworks?
    How can I use them in a free way?




         Open Source Initiative

                                       @ankarajug
                                       #javaizmirde
Open Source Licenses
Academic Free License 3.0 (AFL-3.0)                                     MirOS Licence (MirOS)
Affero GNU Public License: See "GNU Affero General Public License       Microsoft Public License (MS-PL)
3.0 (AGPL-3.0)"                                                         Microsoft Reciprocal License (MS-RL)

                 Question here is:
Adaptive Public License (APL-1.0)
Apache License 2.0 (Apache-2.0)
Apple Public Source License (APSL-2.0)
                                                                        MIT license (MIT)
                                                                        Motosoto License (Motosoto)
                                                                        Mozilla Public License 2.0 (MPL-2.0)

     But how do they license these frameworks?
Artistic license 2.0 (Artistic-2.0)
Attribution Assurance Licenses (AAL)
BSD 3-Clause "New" or "Revised" License (BSD-3-Clause)
                                                                        Multics License (Multics)
                                                                        NASA Open Source Agreement 1.3 (NASA-1.3)
                                                                        NTP License (NTP)


         How can I use them in a free way?
BSD 2-Clause "Simplified" or "FreeBSD" License (BSD-2-Clause)            Naumen Public License (Naumen)
Boost Software License (BSL-1.0)                                        Nethack General Public License (NGPL)
Computer Associates Trusted Open Source License 1.1 (CATOSL-1.1)        Nokia Open Source License (Nokia)
Common Development and Distribution License 1.0 (CDDL-1.0)              Non-Profit Open Software License 3.0 (NPOSL-3.0)
Common Public Attribution License 1.0 (CPAL-1.0)                        OCLC Research Public License 2.0 (OCLC-2.0)
CUA Office Public License Version 1.0 (CUA-OPL-1.0)                      Open Font License 1.1 (OFL-1.1)
EU DataGrid Software License (EUDatagrid)                               Open Group Test Suite License (OGTSL)
Eclipse Public License 1.0 (EPL-1.0)                                    Open Software License 3.0 (OSL-3.0)
Educational Community License, Version 2.0 (ECL-2.0)                    PHP License 3.0 (PHP-3.0)
Eiffel Forum License V2.0 (EFL-2.0)                                     The PostgreSQL License (PostgreSQL)
Entessa Public License (Entessa)                                        Python License (Python-2.0) (overall Python license)
European Union Public License, Version 1.1 (EUPL-1.1) (links to every   CNRI Python license (CNRI-Python) (CNRI portion of Python License)
language's version on their site)                                       Q Public License (QPL-1.0)
Fair License (Fair)                                                     RealNetworks Public Source License V1.0 (RPSL-1.0)
Frameworx License (Frameworx-1.0)                                       Reciprocal Public License 1.5 (RPL-1.5)
GNU Affero General Public License v3 (AGPL-3.0)                         Ricoh Source Code Public License (RSCPL)
GNU General Public License version 2.0 (GPL-2.0)                        Simple Public License 2.0 (SimPL-2.0)
GNU General Public License version 3.0 (GPL-3.0)                        Sleepycat License (Sleepycat)
GNU Library or "Lesser" General Public License version 2.1 (LGPL-2.1)   Sun Public License 1.0 (SPL-1.0)
GNU Library or "Lesser" General Public License version 3.0              Sybase Open Watcom Public License 1.0 (Watcom-1.0)
(LGPL-3.0)                                                              University of Illinois/NCSA Open Source License (NCSA)
Historical Permission Notice and Disclaimer (HPND)                      Vovida Software License v. 1.0 (VSL-1.0)
IBM Public License 1.0 (IPL-1.0)                                        W3C License (W3C)
IPA Font License (IPA)
ISC License (ISC)                  Open Source Initiative               wxWindows Library License (WXwindows)
                                                                        X.Net License (Xnet)
LaTeX Project Public License 1.3c (LPPL-1.3c)                           Zope Public License 2.0 (ZPL-2.0)
Lucent Public License Version 1.02 (LPL-1.02)                           zlib/libpng license (Zlib)


                                                                                                                           @ankarajug
                                                                                                                           #javaizmirde
Open Source Licenses
Academic Free License 3.0 (AFL-3.0)                                     MirOS Licence (MirOS)
Affero GNU Public License: See "GNU Affero General Public License       Microsoft Public License (MS-PL)
3.0 (AGPL-3.0)"                                                         Microsoft Reciprocal License (MS-RL)

                 Question here is:
Adaptive Public License (APL-1.0)
Apache License 2.0 (Apache-2.0)
Apple Public Source License (APSL-2.0)
                                                                        MIT license (MIT)
                                                                        Motosoto License (Motosoto)
                                                                        Mozilla Public License 2.0 (MPL-2.0)

     But how do they license these frameworks?
Artistic license 2.0 (Artistic-2.0)
Attribution Assurance Licenses (AAL)
BSD 3-Clause "New" or "Revised" License (BSD-3-Clause)
                                                                        Multics License (Multics)
                                                                        NASA Open Source Agreement 1.3 (NASA-1.3)
                                                                        NTP License (NTP)


         How can I use them in a free way?
BSD 2-Clause "Simplified" or "FreeBSD" License (BSD-2-Clause)            Naumen Public License (Naumen)
Boost Software License (BSL-1.0)                                        Nethack General Public License (NGPL)




                                                      69
Computer Associates Trusted Open Source License 1.1 (CATOSL-1.1)        Nokia Open Source License (Nokia)
Common Development and Distribution License 1.0 (CDDL-1.0)              Non-Profit Open Software License 3.0 (NPOSL-3.0)
Common Public Attribution License 1.0 (CPAL-1.0)                        OCLC Research Public License 2.0 (OCLC-2.0)
CUA Office Public License Version 1.0 (CUA-OPL-1.0)                      Open Font License 1.1 (OFL-1.1)
EU DataGrid Software License (EUDatagrid)                               Open Group Test Suite License (OGTSL)
Eclipse Public License 1.0 (EPL-1.0)                                    Open Software License 3.0 (OSL-3.0)
Educational Community License, Version 2.0 (ECL-2.0)                    PHP License 3.0 (PHP-3.0)
Eiffel Forum License V2.0 (EFL-2.0)                                     The PostgreSQL License (PostgreSQL)
Entessa Public License (Entessa)                                        Python License (Python-2.0) (overall Python license)
European Union Public License, Version 1.1 (EUPL-1.1) (links to every   CNRI Python license (CNRI-Python) (CNRI portion of Python License)
language's version on their site)                                       Q Public License (QPL-1.0)
Fair License (Fair)                                                     RealNetworks Public Source License V1.0 (RPSL-1.0)
Frameworx License (Frameworx-1.0)                                       Reciprocal Public License 1.5 (RPL-1.5)
GNU Affero General Public License v3 (AGPL-3.0)                         Ricoh Source Code Public License (RSCPL)
GNU General Public License version 2.0 (GPL-2.0)                        Simple Public License 2.0 (SimPL-2.0)
GNU General Public License version 3.0 (GPL-3.0)                        Sleepycat License (Sleepycat)
GNU Library or "Lesser" General Public License version 2.1 (LGPL-2.1)   Sun Public License 1.0 (SPL-1.0)
GNU Library or "Lesser" General Public License version 3.0              Sybase Open Watcom Public License 1.0 (Watcom-1.0)
(LGPL-3.0)                                                              University of Illinois/NCSA Open Source License (NCSA)
Historical Permission Notice and Disclaimer (HPND)                      Vovida Software License v. 1.0 (VSL-1.0)
IBM Public License 1.0 (IPL-1.0)                                        W3C License (W3C)
IPA Font License (IPA)
ISC License (ISC)                  Open Source Initiative               wxWindows Library License (WXwindows)
                                                                        X.Net License (Xnet)
LaTeX Project Public License 1.3c (LPPL-1.3c)                           Zope Public License 2.0 (ZPL-2.0)
Lucent Public License Version 1.02 (LPL-1.02)                           zlib/libpng license (Zlib)


                                                                                                                           @ankarajug
                                                                                                                           #javaizmirde
Must Read Books...




                     @ankarajug
                     #javaizmirde
Must Read Books...




                     @ankarajug
                     #javaizmirde
Must Read Books...




                     @ankarajug
                     #javaizmirde
Must Read Books...




                     @ankarajug
                     #javaizmirde
Must Read Books...




                     @ankarajug
                     #javaizmirde
The Java Magazine...
http://www.oracle.com/technetwork/java/
             javamagazine/



       bi-monthly since 2011..!!!
             For Free..!!!




                                     @ankarajug
                                     #javaizmirde
Google Summer of Code



For the love of code since 2005...
around 6000 students meet 3000 mentors of OSS from over
100 countries...

Mutual benefits : you get ~5000$, you can use the stuff for
summer internship and google gets the OSS support.

              http://bit.ly/GSOC2013                 @ankarajug
                                                     #javaizmirde
Resume Preparation
People skim resumes... So make
it to the point as much as
possible

It’s not what you know.
It’s what you’ve done with
what you know...

Keep it short
1 to 3 sentences, 1 to 3 pages
at most

                                 @ankarajug
                                 #javaizmirde
Where can I work on Java?
X
        X X
        X           XX
                    X         X            X
                                   X
        X        X                     X

                X        XX


    Currently 18 technoparks located in Turkey...

                                               @ankarajug
                                               #javaizmirde
Career in JAVA
  Participate in Open Source

  Be a Contributor / or better: be a Committer

  Learn the Language from inside out...

  Oracle Certifications are one way to go...

         Java SE 7 Programmer
  Java EE6 Web Component Developer
Java EE6 Enterprise JavaBeans Developer
Java EE6 Java Persistence API Developer
    Java EE6 Web Services Developer
     Java EE 6 Enterprise Architect
                                                 @ankarajug
                                                 #javaizmirde
Will it Compile???




   int €i = 1;
YUP...! Literals can start with letter,
 connecting character like "_", and
          currency character.



                                     @ankarajug
                                     #javaizmirde
Will it Compile???


   int €i = 1;
YUP...! Literals can start with letter,
 connecting character like "_", and
          currency character.



                                     @ankarajug
                                     #javaizmirde
Will it Compile???




float f this one's double by
Nope..won't compile, = 320.0;
            default.



                           @ankarajug
                           #javaizmirde
Will it Compile???

float f = 320.0;
Nope..won't compile, this one's double by
                default.



                                     @ankarajug
                                     #javaizmirde
Will it Compile???




     char c = -80;
Nope... you cannot assign int to char and
 char is between 0-65535, so you will
          get gibberish output.


                                   @ankarajug
                                   #javaizmirde
Will it Compile???

     char c = -80;
Nope... you cannot assign int to char and
 char is between 0-65535, so you will
          get gibberish output.


                                   @ankarajug
                                   #javaizmirde
public final class String implements
java.io.Serializable,
java.lang.Comparable<java.lang.String>,
 Can you extend String???
java.lang.CharSequence {
....
....
}


                                          @ankarajug
                                          #javaizmirde
Can you extend String???
public final class String implements
java.io.Serializable,
java.lang.Comparable<java.lang.String>,
java.lang.CharSequence {
....
....
}


                                          @ankarajug
                                          #javaizmirde
For better career...



  Experience           Communication

               Knowledge

Professionalism            Creativity




                                        @ankarajug
                                        #javaizmirde
For better career...

              Know broad... Know deep...


            Experience           Communication

                         Knowledge

          Professionalism            Creativity

If you know Java then dive into the frameworks.. If you
know all of them go through scripting languages...
Know you stuff very well...                        @ankarajug
                                                   #javaizmirde
For better career...

Stay Current... Use your knowledge...


   Experience            Communication

                Knowledge

 Professionalism            Creativity



  Practice... Practice... Practice...
                                         @ankarajug
                                         #javaizmirde
For better career...
              Be Open-Minded...


        Experience           Communication

                     Knowledge

      Professionalism            Creativity


 Listen to people’s thoughts.. They’re more
valuable than you think.. You CANNOT know
               everything..!               @ankarajug
                                              #javaizmirde
For better career...

      Reject the status quo...


  Experience           Communication

               Knowledge

Professionalism            Creativity


Don’t be a rebellion but don’t kill
    the rebellion inside you...
                                        @ankarajug
                                        #javaizmirde
For better career...
Take and accept the responsibility...


   Experience           Communication

                Knowledge

 Professionalism            Creativity



   Make it all in a classy way...
                                         @ankarajug
                                         #javaizmirde
To sum up on career...
You are the one that will be building
your OWN career.

Work for your employer and work for yourself also...

Take the time to build your skills:
your knowledge, your communication skills, your
experience.

And don’t kill the child inside you, make it creative as
always...

Act Professional, because you have to be a ONE..!

                                                 @ankarajug
                                                 #javaizmirde
To sum up...

JAVA is still HOT TOPIC...

Read Read Read...

Participate...Be Active...Be a part of JAVA :)

Oracle is investing on Java so best is yet to come.

Take a leap,
        dive into Java,
               build your career on it.

                                                 @ankarajug
                                                 #javaizmirde
JUST DO IT
             @ankarajug
             #javaizmirde
E0F


@ankarajug
#javaizmirde
               @ankarajug
               #javaizmirde
Ad

More Related Content

What's hot (20)

BMO - Intelligent Projects with Maven
BMO - Intelligent Projects with MavenBMO - Intelligent Projects with Maven
BMO - Intelligent Projects with Maven
Mert Çalışkan
 
Future of Java EE with Java SE 8
Future of Java EE with Java SE 8Future of Java EE with Java SE 8
Future of Java EE with Java SE 8
Hirofumi Iwasaki
 
Springboot introduction
Springboot introductionSpringboot introduction
Springboot introduction
Sagar Verma
 
Spring Framework Presantation Part 1-Core
Spring Framework Presantation Part 1-CoreSpring Framework Presantation Part 1-Core
Spring Framework Presantation Part 1-Core
Donald Lika
 
Core java
Core java Core java
Core java
Shubham singh
 
itft-Java evolution
itft-Java evolutionitft-Java evolution
itft-Java evolution
Atul Sehdev
 
1 java introduction
1 java introduction1 java introduction
1 java introduction
abdullah al mahamud rosi
 
Jdc 2010 - Maven, Intelligent Projects
Jdc 2010 - Maven, Intelligent ProjectsJdc 2010 - Maven, Intelligent Projects
Jdc 2010 - Maven, Intelligent Projects
Mert Çalışkan
 
Java - At a glance
Java - At a glanceJava - At a glance
Java - At a glance
Nitish Baranwal
 
Project Presentation on Advance Java
Project Presentation on Advance JavaProject Presentation on Advance Java
Project Presentation on Advance Java
Vikas Goyal
 
Play framework
Play frameworkPlay framework
Play framework
sambaochung
 
Spring framework
Spring frameworkSpring framework
Spring framework
Aircon Chen
 
JAVA FEATURES
JAVA FEATURESJAVA FEATURES
JAVA FEATURES
shalinikarunakaran1
 
MicroProfile for MicroServices
MicroProfile for MicroServicesMicroProfile for MicroServices
MicroProfile for MicroServices
Mert Çalışkan
 
Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!
Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!
Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!
Serdar Basegmez
 
The Evolution of Java
The Evolution of JavaThe Evolution of Java
The Evolution of Java
Corneil du Plessis
 
React native
React nativeReact native
React native
Mohammed El Rafie Tarabay
 
Fun with EJB 3.1 and Open EJB
Fun with EJB 3.1 and Open EJBFun with EJB 3.1 and Open EJB
Fun with EJB 3.1 and Open EJB
Arun Gupta
 
Java part1
Java part1Java part1
Java part1
Raghu nath
 
Node.js Development with Apache NetBeans
Node.js Development with Apache NetBeansNode.js Development with Apache NetBeans
Node.js Development with Apache NetBeans
Ryan Cuprak
 
BMO - Intelligent Projects with Maven
BMO - Intelligent Projects with MavenBMO - Intelligent Projects with Maven
BMO - Intelligent Projects with Maven
Mert Çalışkan
 
Future of Java EE with Java SE 8
Future of Java EE with Java SE 8Future of Java EE with Java SE 8
Future of Java EE with Java SE 8
Hirofumi Iwasaki
 
Springboot introduction
Springboot introductionSpringboot introduction
Springboot introduction
Sagar Verma
 
Spring Framework Presantation Part 1-Core
Spring Framework Presantation Part 1-CoreSpring Framework Presantation Part 1-Core
Spring Framework Presantation Part 1-Core
Donald Lika
 
itft-Java evolution
itft-Java evolutionitft-Java evolution
itft-Java evolution
Atul Sehdev
 
Jdc 2010 - Maven, Intelligent Projects
Jdc 2010 - Maven, Intelligent ProjectsJdc 2010 - Maven, Intelligent Projects
Jdc 2010 - Maven, Intelligent Projects
Mert Çalışkan
 
Project Presentation on Advance Java
Project Presentation on Advance JavaProject Presentation on Advance Java
Project Presentation on Advance Java
Vikas Goyal
 
Spring framework
Spring frameworkSpring framework
Spring framework
Aircon Chen
 
MicroProfile for MicroServices
MicroProfile for MicroServicesMicroProfile for MicroServices
MicroProfile for MicroServices
Mert Çalışkan
 
Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!
Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!
Engage 2015 - 10 Mistakes You and Every XPages Developer Make. Yes, I said YOU!
Serdar Basegmez
 
Fun with EJB 3.1 and Open EJB
Fun with EJB 3.1 and Open EJBFun with EJB 3.1 and Open EJB
Fun with EJB 3.1 and Open EJB
Arun Gupta
 
Node.js Development with Apache NetBeans
Node.js Development with Apache NetBeansNode.js Development with Apache NetBeans
Node.js Development with Apache NetBeans
Ryan Cuprak
 

Viewers also liked (6)

JAVA Career
JAVA CareerJAVA Career
JAVA Career
JAVAjobsindia
 
Core Java Career Essentials
Core Java Career EssentialsCore Java Career Essentials
Core Java Career Essentials
Shivi Kashyap
 
Career in java
Career in javaCareer in java
Career in java
Shivaji Chelladurai
 
Retail POS opportunities
Retail POS opportunitiesRetail POS opportunities
Retail POS opportunities
Shivaji Chelladurai
 
Capital Campaign
Capital CampaignCapital Campaign
Capital Campaign
Chantal DeYoe
 
Droptrax
DroptraxDroptrax
Droptrax
grizhatch
 
Ad

Similar to Better Career with Java (20)

Java basics
Java basicsJava basics
Java basics
suraj pandey
 
Java Concepts and Features-Programming in Java
Java Concepts and Features-Programming in JavaJava Concepts and Features-Programming in Java
Java Concepts and Features-Programming in Java
jasminebeulahg
 
Introduction to Basic Java Versions and their features
Introduction to Basic Java Versions and their featuresIntroduction to Basic Java Versions and their features
Introduction to Basic Java Versions and their features
Akash Badone
 
Basics of JAVA programming
Basics of JAVA programmingBasics of JAVA programming
Basics of JAVA programming
Elizabeth Thomas
 
ILOVE you11111111111111111111111111.pptx
ILOVE you11111111111111111111111111.pptxILOVE you11111111111111111111111111.pptx
ILOVE you11111111111111111111111111.pptx
RobertCarreonBula
 
Introduction to java
Introduction to java Introduction to java
Introduction to java
Sandeep Rawat
 
Chapter 1 (1).pptx
Chapter 1 (1).pptxChapter 1 (1).pptx
Chapter 1 (1).pptx
krishnashah277578
 
Java technology is widely used currently. Let's start learning of java from b...
Java technology is widely used currently. Let's start learning of java from b...Java technology is widely used currently. Let's start learning of java from b...
Java technology is widely used currently. Let's start learning of java from b...
aliblackcat76
 
what is java.pdf
what is java.pdfwhat is java.pdf
what is java.pdf
XanGwaps
 
All the Java ADF beginners need to know - part1
All the Java ADF beginners need to know - part1All the Java ADF beginners need to know - part1
All the Java ADF beginners need to know - part1
Markus Eisele
 
Java: Rumours of my demise are greatly exaggerated
Java: Rumours of my demise are greatly exaggeratedJava: Rumours of my demise are greatly exaggerated
Java: Rumours of my demise are greatly exaggerated
Steve Dalton
 
1 .java basic
1 .java basic1 .java basic
1 .java basic
Indu Sharma Bhardwaj
 
Java
JavaJava
Java
Luis Goldster
 
Java
JavaJava
Java
Young Alista
 
Java
JavaJava
Java
James Wong
 
Java
JavaJava
Java
Tony Nguyen
 
Java
JavaJava
Java
Fraboni Ec
 
Java
JavaJava
Java
Harry Potter
 
Object Oriented Programming-JAVA
Object Oriented Programming-JAVAObject Oriented Programming-JAVA
Object Oriented Programming-JAVA
Home
 
Introducing Java 7
Introducing Java 7Introducing Java 7
Introducing Java 7
Markus Eisele
 
Java Concepts and Features-Programming in Java
Java Concepts and Features-Programming in JavaJava Concepts and Features-Programming in Java
Java Concepts and Features-Programming in Java
jasminebeulahg
 
Introduction to Basic Java Versions and their features
Introduction to Basic Java Versions and their featuresIntroduction to Basic Java Versions and their features
Introduction to Basic Java Versions and their features
Akash Badone
 
Basics of JAVA programming
Basics of JAVA programmingBasics of JAVA programming
Basics of JAVA programming
Elizabeth Thomas
 
ILOVE you11111111111111111111111111.pptx
ILOVE you11111111111111111111111111.pptxILOVE you11111111111111111111111111.pptx
ILOVE you11111111111111111111111111.pptx
RobertCarreonBula
 
Introduction to java
Introduction to java Introduction to java
Introduction to java
Sandeep Rawat
 
Java technology is widely used currently. Let's start learning of java from b...
Java technology is widely used currently. Let's start learning of java from b...Java technology is widely used currently. Let's start learning of java from b...
Java technology is widely used currently. Let's start learning of java from b...
aliblackcat76
 
what is java.pdf
what is java.pdfwhat is java.pdf
what is java.pdf
XanGwaps
 
All the Java ADF beginners need to know - part1
All the Java ADF beginners need to know - part1All the Java ADF beginners need to know - part1
All the Java ADF beginners need to know - part1
Markus Eisele
 
Java: Rumours of my demise are greatly exaggerated
Java: Rumours of my demise are greatly exaggeratedJava: Rumours of my demise are greatly exaggerated
Java: Rumours of my demise are greatly exaggerated
Steve Dalton
 
Object Oriented Programming-JAVA
Object Oriented Programming-JAVAObject Oriented Programming-JAVA
Object Oriented Programming-JAVA
Home
 
Ad

More from Mert Çalışkan (6)

Intelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest IstanbulIntelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest Istanbul
Mert Çalışkan
 
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFacesJavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
Mert Çalışkan
 
Test Infected
Test InfectedTest Infected
Test Infected
Mert Çalışkan
 
Gelecex - Maven ile Akilli Projeler
Gelecex - Maven ile Akilli ProjelerGelecex - Maven ile Akilli Projeler
Gelecex - Maven ile Akilli Projeler
Mert Çalışkan
 
Fikrim Acik Kodum Acik
Fikrim Acik Kodum AcikFikrim Acik Kodum Acik
Fikrim Acik Kodum Acik
Mert Çalışkan
 
Enterprise Java Web Application Frameworks Sample Stack Implementation
Enterprise Java Web Application Frameworks   Sample Stack ImplementationEnterprise Java Web Application Frameworks   Sample Stack Implementation
Enterprise Java Web Application Frameworks Sample Stack Implementation
Mert Çalışkan
 
Intelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest IstanbulIntelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest Istanbul
Mert Çalışkan
 
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFacesJavaOne - 10 Tips for Java EE 7 with PrimeFaces
JavaOne - 10 Tips for Java EE 7 with PrimeFaces
Mert Çalışkan
 
Gelecex - Maven ile Akilli Projeler
Gelecex - Maven ile Akilli ProjelerGelecex - Maven ile Akilli Projeler
Gelecex - Maven ile Akilli Projeler
Mert Çalışkan
 
Enterprise Java Web Application Frameworks Sample Stack Implementation
Enterprise Java Web Application Frameworks   Sample Stack ImplementationEnterprise Java Web Application Frameworks   Sample Stack Implementation
Enterprise Java Web Application Frameworks Sample Stack Implementation
Mert Çalışkan
 

Recently uploaded (20)

Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Build Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For DevsBuild Your Own Copilot & Agents For Devs
Build Your Own Copilot & Agents For Devs
Brian McKeiver
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Cyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of securityCyber Awareness overview for 2025 month of security
Cyber Awareness overview for 2025 month of security
riccardosl1
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 

Better Career with Java

  • 1. (Better) Career in Java Mert ÇALIŞKAN March 2013 @ankarajug #javaizmirde
  • 2. AnkaraJUG first event @ November 2012... Founding Fathers: Barış BAL Çağatay ÇİVİCİ Mert ÇALIŞKAN http://bit.ly/ankarajugKAYIT ankarajug.blogspot.com facebook.com/ankarajug twitter.com/ankarajug @ankarajug #javaizmirde
  • 3. Mert ÇALIŞKAN 10+ years of experience w/ Java Coder @ T2.com.tr Open Source Software Advocate, Founder, Implementor Member of Apache Software Foundation and OpenLogic Expert Community Author of PrimeFaces Cookbook from PacktPub tr.linkedin.com/in/mertcaliskan @ankarajug #javaizmirde
  • 4. To JAVA? or NOT..? :) Come to the Dark Side..! @ankarajug #javaizmirde
  • 5. Agenda History of Java Versions of Java.. SE, EE and the others.. Java Web Frameworks Better career w/ Java Q&A @ankarajug #javaizmirde
  • 6. YOU KNOW THIS TRANS-ATLANTIC? @ankarajug #javaizmirde
  • 7. • RMS Titanic sank in North Atlantic Ocean on 15 April, 1912 on maiden voyage So Eventually Everything Dies...! Tragic analogy, ok :) • You, Me, All of Us... • Companies, Technologies... • Key point is: You should avoid not making it like Titanic, which sunk in 2hrs and 40 minutes...! @ankarajug #javaizmirde
  • 8. Where it all began... Founded February 24, 1982 Sold to Oracle January 27, 2010 for $7.4 billion..! Sun was mainly selling Hardware, but they also working on computer software like Java, MySQL and NFS.. Founded in 1977 by Larry Ellison and a couple of clever guys, their motivation is to compete with IBM’s System R, which was a relational database. @ankarajug #javaizmirde
  • 9. James Gosling... was the FATHER of Java Age: 69 Age: 58 $$$ makes you look younger..! Larry Ellison... is the new BOSS @ankarajug #javaizmirde
  • 10. History of JAVA Java Language Project started in June 1991 (James Gosling and his fellas) First named as: OAK The Duke Running byteCode on Java Virtual Machine WORA (Write Once, Run Anywhere) First started with applets in the WEB world With the dawn of Java Enterprise Edition, Servlets made their way to rule the world. @ankarajug #javaizmirde
  • 11. Editions of JAVA Java Card: application on smart cards Micro Edition (ME): mobile phones + set-top boxes Standard Edition (SE): Cool Software Platform The Duke Enterprise Edition (EE): Oracle’s Enterprise Computing Platform Java DB: Oracle’s supported version of Apache Derby. JavaFX: Aim was RIA (looks dead for me) Personal Java: (discontinued) Java edition for mobile and embedded systems based on Java 1.1.8 @ankarajug #javaizmirde
  • 12. CHRONOLOGY OF JAVA SE JDK 1.0 JDK 1.1 Introducing January 23, February 19, 1997 Abstract Window Toolkit 1996 J2SE 1.2 Swing was on Board December 8, 1998 J2SE 1.3 HotSpot JVM and JNDI May 8, 2000 reg-ex, Java Web Start J2SE 1.4 embedded XML parser February 6, 2002 J2SE 1.5 New Cool Features on Language September 30, 2004 Generics, AutoBoxing, var-args & etc... @ankarajug #javaizmirde
  • 13. CHRONOLOGY OF JAVA SE Renamed to Java SE instead of Java SE 6 J2SE from now on. December 11, 2006 Support for running scripting lang. like Rhino. Dynamic lang. support like Java SE 7 Groovy July 28, 2011 String in switch (finally!) Best is yet to come..! lambda expressions... Java SE 8 streaming..filtering.. Summer, 2013 closures... @ankarajug #javaizmirde
  • 14. Enterprise JAVA Java EE = Java Enterprise Edition Extends Java SE javax.faces.* UI + JSF Related Stuff javax.servlet.* Handling HTTP invocations javax.enterprise.inject.* CDI, Like Spring dependency javax.ejb.* Inj. EJB Stuff javax.validation.* Bean Validation javax.persistence.* Persistency javax.transaction.* Stuff for transactions javax.jms.* Messaging Stuff @ankarajug #javaizmirde
  • 15. CHRONOLOGY OF JAVA EE J2EE 1.2 J2EE 1.3 J2EE 1.4 December 12, 1999 Sept. 12, 2001 Nov. 11, 2003 Servlet 2.2 Servlet 2.3 Servlet 2.4 JSP JAX-WS Java EE 5 Servlet 2.5 EJB JAX-RS May 11, 2006 JMS JAX-B JTA JPA JAAS JSTL Java EE 6 JSF any many December 10, 2009 Servlet 3.0 EL more... @ankarajug #javaizmirde
  • 16. Java Frameworks.. Ok you get to know the language in 4 years... But you DEFINITELY NEED to learn the frameworks. Java is mostly about frameworks (lots of open source ones). I think you ask yourselves now.. Which one should we go with? They differ in context, if you want do WEB, here is a list what you can find around. @ankarajug #javaizmirde
  • 17. Java Frameworks.. UI Controller/Dep.Inj. JSF Struts Spring Guice HiveMind Spring MVC WebWork ZK picoContainer XWork Wicket Tapestry GWT Model/Persistence Layer Echo3 Cocoon Vaadin Hibernate iBatis Integration Toplink KODO Apache CXF Apache Axis2 IDE EclipseLink Eclipse IntelliJ Spring WS IDEA JDeveloper NetBEANS @ankarajug #javaizmirde
  • 18. One framework to rule them ALL... Spring @ankarajug #javaizmirde
  • 19. Java Frameworks.. Spring Spring Security SpringSource OSGi Test Stubs Spring Web Flow Spring Security Kerberos Spring Web Services Extension Spring Social Twitter Spring Dynamic Modules SpringSource dm Server Spring.NET CodeConfig Spring Integration SpringSource dm Kernel Spring.NET REST Client Spring Batch SpringSource dm Server Spring.NET Social Spring Batch Admin Samples Spring.NET Social Dropbox Spring.NET Spring Data Commons Spring.NET Social LinkedIn Spring AMQP Spring Data Spring.NET Social Twitter Spring AMQP.NET Spring Data JDBC Spring.NET Visual Studio 2010 Spring GemFire Spring Data JPA Extension Spring GemFire for .NET Spring Data Redis Spring Social Yammer Spring LDAP Spring Data Solr Spring Shell Spring Social Spring Mobile Spring Data GemFire Spring for Android Spring Data MongoDB Spring Migration Analyzer Spring IDE Spring Data Neo4j Spring Integration Splunk Spring BlazeDS Integration Spring Gemfire Spring Integration Print SpringSource Bundlor Spring Data Hadoop Spring Security SAML Spring Roo Spring Social Facebook Spring Python Spring Social LinkedIn @ankarajug #javaizmirde
  • 20. Java Frameworks.. Spring Spring Security SpringSource OSGi Test Stubs Spring Web Flow Spring Security Kerberos Spring Web Services Extension Spring Social Twitter Spring Dynamic Modules SpringSource dm Server Spring.NET CodeConfig Spring Integration SpringSource dm Kernel Spring.NET REST Client Spring Batch SpringSource dm Server Spring.NET Social 53 Spring Batch Admin Samples Spring.NET Social Dropbox Spring.NET Spring Data Commons Spring.NET Social LinkedIn Spring AMQP Spring Data Spring.NET Social Twitter Spring AMQP.NET Spring Data JDBC Spring.NET Visual Studio 2010 Spring GemFire Spring Data JPA Extension Spring GemFire for .NET Spring Data Redis Spring Social Yammer Spring LDAP Spring Data Solr Spring Shell Spring Social Spring Mobile Spring Data GemFire Spring for Android Spring Data MongoDB Spring Migration Analyzer Spring IDE Spring Data Neo4j Spring Integration Splunk Spring BlazeDS Integration Spring Gemfire Spring Integration Print SpringSource Bundlor Spring Data Hadoop Spring Security SAML Spring Roo Spring Social Facebook Spring Python Spring Social LinkedIn @ankarajug #javaizmirde
  • 21. Head Start...! PrimeFaces CXF Hamcrest Mockito Spring JPA Hibernate jUnit DEMO https://github.com/mulderbaba/testinfected AppFuse is a full-stack framework for building webapp on the JVM. http://appfuse.org/display/APF/AppFuse+QuickStart @ankarajug #javaizmirde
  • 22. Open Source Licenses Question here is: But how do they license these frameworks? How can I use them in a free way? Open Source Initiative @ankarajug #javaizmirde
  • 23. Open Source Licenses Academic Free License 3.0 (AFL-3.0) MirOS Licence (MirOS) Affero GNU Public License: See "GNU Affero General Public License Microsoft Public License (MS-PL) 3.0 (AGPL-3.0)" Microsoft Reciprocal License (MS-RL) Question here is: Adaptive Public License (APL-1.0) Apache License 2.0 (Apache-2.0) Apple Public Source License (APSL-2.0) MIT license (MIT) Motosoto License (Motosoto) Mozilla Public License 2.0 (MPL-2.0) But how do they license these frameworks? Artistic license 2.0 (Artistic-2.0) Attribution Assurance Licenses (AAL) BSD 3-Clause "New" or "Revised" License (BSD-3-Clause) Multics License (Multics) NASA Open Source Agreement 1.3 (NASA-1.3) NTP License (NTP) How can I use them in a free way? BSD 2-Clause "Simplified" or "FreeBSD" License (BSD-2-Clause) Naumen Public License (Naumen) Boost Software License (BSL-1.0) Nethack General Public License (NGPL) Computer Associates Trusted Open Source License 1.1 (CATOSL-1.1) Nokia Open Source License (Nokia) Common Development and Distribution License 1.0 (CDDL-1.0) Non-Profit Open Software License 3.0 (NPOSL-3.0) Common Public Attribution License 1.0 (CPAL-1.0) OCLC Research Public License 2.0 (OCLC-2.0) CUA Office Public License Version 1.0 (CUA-OPL-1.0) Open Font License 1.1 (OFL-1.1) EU DataGrid Software License (EUDatagrid) Open Group Test Suite License (OGTSL) Eclipse Public License 1.0 (EPL-1.0) Open Software License 3.0 (OSL-3.0) Educational Community License, Version 2.0 (ECL-2.0) PHP License 3.0 (PHP-3.0) Eiffel Forum License V2.0 (EFL-2.0) The PostgreSQL License (PostgreSQL) Entessa Public License (Entessa) Python License (Python-2.0) (overall Python license) European Union Public License, Version 1.1 (EUPL-1.1) (links to every CNRI Python license (CNRI-Python) (CNRI portion of Python License) language's version on their site) Q Public License (QPL-1.0) Fair License (Fair) RealNetworks Public Source License V1.0 (RPSL-1.0) Frameworx License (Frameworx-1.0) Reciprocal Public License 1.5 (RPL-1.5) GNU Affero General Public License v3 (AGPL-3.0) Ricoh Source Code Public License (RSCPL) GNU General Public License version 2.0 (GPL-2.0) Simple Public License 2.0 (SimPL-2.0) GNU General Public License version 3.0 (GPL-3.0) Sleepycat License (Sleepycat) GNU Library or "Lesser" General Public License version 2.1 (LGPL-2.1) Sun Public License 1.0 (SPL-1.0) GNU Library or "Lesser" General Public License version 3.0 Sybase Open Watcom Public License 1.0 (Watcom-1.0) (LGPL-3.0) University of Illinois/NCSA Open Source License (NCSA) Historical Permission Notice and Disclaimer (HPND) Vovida Software License v. 1.0 (VSL-1.0) IBM Public License 1.0 (IPL-1.0) W3C License (W3C) IPA Font License (IPA) ISC License (ISC) Open Source Initiative wxWindows Library License (WXwindows) X.Net License (Xnet) LaTeX Project Public License 1.3c (LPPL-1.3c) Zope Public License 2.0 (ZPL-2.0) Lucent Public License Version 1.02 (LPL-1.02) zlib/libpng license (Zlib) @ankarajug #javaizmirde
  • 24. Open Source Licenses Academic Free License 3.0 (AFL-3.0) MirOS Licence (MirOS) Affero GNU Public License: See "GNU Affero General Public License Microsoft Public License (MS-PL) 3.0 (AGPL-3.0)" Microsoft Reciprocal License (MS-RL) Question here is: Adaptive Public License (APL-1.0) Apache License 2.0 (Apache-2.0) Apple Public Source License (APSL-2.0) MIT license (MIT) Motosoto License (Motosoto) Mozilla Public License 2.0 (MPL-2.0) But how do they license these frameworks? Artistic license 2.0 (Artistic-2.0) Attribution Assurance Licenses (AAL) BSD 3-Clause "New" or "Revised" License (BSD-3-Clause) Multics License (Multics) NASA Open Source Agreement 1.3 (NASA-1.3) NTP License (NTP) How can I use them in a free way? BSD 2-Clause "Simplified" or "FreeBSD" License (BSD-2-Clause) Naumen Public License (Naumen) Boost Software License (BSL-1.0) Nethack General Public License (NGPL) 69 Computer Associates Trusted Open Source License 1.1 (CATOSL-1.1) Nokia Open Source License (Nokia) Common Development and Distribution License 1.0 (CDDL-1.0) Non-Profit Open Software License 3.0 (NPOSL-3.0) Common Public Attribution License 1.0 (CPAL-1.0) OCLC Research Public License 2.0 (OCLC-2.0) CUA Office Public License Version 1.0 (CUA-OPL-1.0) Open Font License 1.1 (OFL-1.1) EU DataGrid Software License (EUDatagrid) Open Group Test Suite License (OGTSL) Eclipse Public License 1.0 (EPL-1.0) Open Software License 3.0 (OSL-3.0) Educational Community License, Version 2.0 (ECL-2.0) PHP License 3.0 (PHP-3.0) Eiffel Forum License V2.0 (EFL-2.0) The PostgreSQL License (PostgreSQL) Entessa Public License (Entessa) Python License (Python-2.0) (overall Python license) European Union Public License, Version 1.1 (EUPL-1.1) (links to every CNRI Python license (CNRI-Python) (CNRI portion of Python License) language's version on their site) Q Public License (QPL-1.0) Fair License (Fair) RealNetworks Public Source License V1.0 (RPSL-1.0) Frameworx License (Frameworx-1.0) Reciprocal Public License 1.5 (RPL-1.5) GNU Affero General Public License v3 (AGPL-3.0) Ricoh Source Code Public License (RSCPL) GNU General Public License version 2.0 (GPL-2.0) Simple Public License 2.0 (SimPL-2.0) GNU General Public License version 3.0 (GPL-3.0) Sleepycat License (Sleepycat) GNU Library or "Lesser" General Public License version 2.1 (LGPL-2.1) Sun Public License 1.0 (SPL-1.0) GNU Library or "Lesser" General Public License version 3.0 Sybase Open Watcom Public License 1.0 (Watcom-1.0) (LGPL-3.0) University of Illinois/NCSA Open Source License (NCSA) Historical Permission Notice and Disclaimer (HPND) Vovida Software License v. 1.0 (VSL-1.0) IBM Public License 1.0 (IPL-1.0) W3C License (W3C) IPA Font License (IPA) ISC License (ISC) Open Source Initiative wxWindows Library License (WXwindows) X.Net License (Xnet) LaTeX Project Public License 1.3c (LPPL-1.3c) Zope Public License 2.0 (ZPL-2.0) Lucent Public License Version 1.02 (LPL-1.02) zlib/libpng license (Zlib) @ankarajug #javaizmirde
  • 25. Must Read Books... @ankarajug #javaizmirde
  • 26. Must Read Books... @ankarajug #javaizmirde
  • 27. Must Read Books... @ankarajug #javaizmirde
  • 28. Must Read Books... @ankarajug #javaizmirde
  • 29. Must Read Books... @ankarajug #javaizmirde
  • 30. The Java Magazine... http://www.oracle.com/technetwork/java/ javamagazine/ bi-monthly since 2011..!!! For Free..!!! @ankarajug #javaizmirde
  • 31. Google Summer of Code For the love of code since 2005... around 6000 students meet 3000 mentors of OSS from over 100 countries... Mutual benefits : you get ~5000$, you can use the stuff for summer internship and google gets the OSS support. http://bit.ly/GSOC2013 @ankarajug #javaizmirde
  • 32. Resume Preparation People skim resumes... So make it to the point as much as possible It’s not what you know. It’s what you’ve done with what you know... Keep it short 1 to 3 sentences, 1 to 3 pages at most @ankarajug #javaizmirde
  • 33. Where can I work on Java? X X X X XX X X X X X X X X XX Currently 18 technoparks located in Turkey... @ankarajug #javaizmirde
  • 34. Career in JAVA Participate in Open Source Be a Contributor / or better: be a Committer Learn the Language from inside out... Oracle Certifications are one way to go... Java SE 7 Programmer Java EE6 Web Component Developer Java EE6 Enterprise JavaBeans Developer Java EE6 Java Persistence API Developer Java EE6 Web Services Developer Java EE 6 Enterprise Architect @ankarajug #javaizmirde
  • 35. Will it Compile??? int €i = 1; YUP...! Literals can start with letter, connecting character like "_", and currency character. @ankarajug #javaizmirde
  • 36. Will it Compile??? int €i = 1; YUP...! Literals can start with letter, connecting character like "_", and currency character. @ankarajug #javaizmirde
  • 37. Will it Compile??? float f this one's double by Nope..won't compile, = 320.0; default. @ankarajug #javaizmirde
  • 38. Will it Compile??? float f = 320.0; Nope..won't compile, this one's double by default. @ankarajug #javaizmirde
  • 39. Will it Compile??? char c = -80; Nope... you cannot assign int to char and char is between 0-65535, so you will get gibberish output. @ankarajug #javaizmirde
  • 40. Will it Compile??? char c = -80; Nope... you cannot assign int to char and char is between 0-65535, so you will get gibberish output. @ankarajug #javaizmirde
  • 41. public final class String implements java.io.Serializable, java.lang.Comparable<java.lang.String>, Can you extend String??? java.lang.CharSequence { .... .... } @ankarajug #javaizmirde
  • 42. Can you extend String??? public final class String implements java.io.Serializable, java.lang.Comparable<java.lang.String>, java.lang.CharSequence { .... .... } @ankarajug #javaizmirde
  • 43. For better career... Experience Communication Knowledge Professionalism Creativity @ankarajug #javaizmirde
  • 44. For better career... Know broad... Know deep... Experience Communication Knowledge Professionalism Creativity If you know Java then dive into the frameworks.. If you know all of them go through scripting languages... Know you stuff very well... @ankarajug #javaizmirde
  • 45. For better career... Stay Current... Use your knowledge... Experience Communication Knowledge Professionalism Creativity Practice... Practice... Practice... @ankarajug #javaizmirde
  • 46. For better career... Be Open-Minded... Experience Communication Knowledge Professionalism Creativity Listen to people’s thoughts.. They’re more valuable than you think.. You CANNOT know everything..! @ankarajug #javaizmirde
  • 47. For better career... Reject the status quo... Experience Communication Knowledge Professionalism Creativity Don’t be a rebellion but don’t kill the rebellion inside you... @ankarajug #javaizmirde
  • 48. For better career... Take and accept the responsibility... Experience Communication Knowledge Professionalism Creativity Make it all in a classy way... @ankarajug #javaizmirde
  • 49. To sum up on career... You are the one that will be building your OWN career. Work for your employer and work for yourself also... Take the time to build your skills: your knowledge, your communication skills, your experience. And don’t kill the child inside you, make it creative as always... Act Professional, because you have to be a ONE..! @ankarajug #javaizmirde
  • 50. To sum up... JAVA is still HOT TOPIC... Read Read Read... Participate...Be Active...Be a part of JAVA :) Oracle is investing on Java so best is yet to come. Take a leap, dive into Java, build your career on it. @ankarajug #javaizmirde
  • 51. JUST DO IT @ankarajug #javaizmirde
  • 52. E0F @ankarajug #javaizmirde @ankarajug #javaizmirde