Date post: | 15-Apr-2017 |
Category: |
Technology |
Upload: | oracle-latinoamerica |
View: | 215 times |
Download: | 1 times |
1
The Java Community Process Advance your career and help to define the
future of Java Patrick Curran, JCP Chair
@PatrickCurran [email protected]
JavaOne Sao Paulo, junho 2016
3
Would you prefer not to be unemployed 10 years from now?
How to defend yourself against outsourcing and
job-killing robots.
Alternative title
12
• Share your passions and your enthusiasm with developers all over the world.
• Make new friends. • Advance your career. • Have fun!
Technology: a universal language!
13
• No computer science or engineering education. • I was an academic, working on a PhD in economic history and
political economy. • I spent years in a library researching by looking up data in
physical books, magazines, and manuscripts. • I thought “there will be a better way of doing this in the future”.
• I invented the web browser • Went to “technical school” to learn to program in assembly
language and COBOL. • Talked my way into a junior programming job.
How I started my 30+ year IT career
22
• On Friday: “Do you want to work in California for a year to develop a word-processing system in 8080 assembly-language?”
• On Monday: “Why not? (What do I have to lose?)” • That was 1982 – I’m still there.
My second job
24
• The word-processors were successful, but Raytheon Data Systems (whose primary business was missiles) were completely incapable of developing a distributed office-automation system in the early 1980s.
• They ran Lexitron Corporation into the ground, and I was out of a job.
• I was recruited by Interactive Systems Corporation – the first company to commercialize UNIX.
• I managed a team developing an emulation of UNIX that ran on DEC’s VMS.
My third job
25
• Later I helped to port UNIX to a variety of hardware systems (minicomputers from Data General, Prime), mainframes (Hitachi, IBM) and later PCs.
• We ported UNIX System III to the original IBM PC XT (4 MHz 8088 processor,
640 KB of memory, 10 MB hard disk).
My fourth job
27
• Scott McNealy (Sun Microsystems) decided to buy the Interactive Systems’ UNIX porting business as a backup in case PCs overtook Sun workstations.
• We forked Solaris from the SPARC code, ported it to Intel, and then I managed the process of merging the two source bases.
• Then I managed kernel and device-driver development work for Solaris/Intel.
• Much work was outsourced to Ireland. • Until Sun decided to dump the project and lay off almost all of my
team.
My fifth job
28
• I managed to find another job inside Sun, developing the conformance test suites (TCKs) for Java SE and Java ME.
• Most of my developers were in Russia (Novosibirsk, Siberia and St. Petersburg).
• Rocket-scientists make very good test developers!
My sixth job
30
• My manager (who was the previous Chair of the JCP) said “do you want to take over?”
• It was clear I didn’t really have a choice but I jumped at the chance anyway.
• Yaay – more opportunities to travel. • And then it was now.
My seventh job
31
• I expected (planned?) to become a university professor. • Instead, I ended up in the IT industry. • When I started we had:
• no laptops, • no networking, • no email, • no bitmapped displays or GUIs, • no internet, • no cellphones, • no Facebook or Twitter
Plan for change…
32
• We couldn’t predict how things would be five years ahead, and certainly not ten or twenty years ahead.
• All we can predict is that things will change – probably in ways we did not expect.
Because you can’t predict the future
38
• My first outsourced team was in Ireland. • When the Irish became too expensive we outsourced to India. • When the Indians became became too expensive and too
difficult to manage we outsourced to Russia. • When [a big company I won’t name] hired most of our
Russians away we outsourced to China. • Now we’re outsourcing to India again (and also to the Czech
Republic) but we still have lots of developers in China. • Where next? (I have a friend who is betting on Bulgaria.)
My experiences with outsourcing
40
• Medical technician. • Surgery. • Customer service. • Accounting and tax preparation. • Real-estate agent. • Legal discovery and document processing. • Do you want to bet that your job is safe?
“Skilled” jobs are now being automated
42
• I’ve had seven jobs, but all of them “flowed” from the first. • All you can do is to position yourself where opportunities will
occur, and then seize the most interesting opportunities that present themselves.
• Find some good waves, choose an interesting one, and jump on.
• It may not take you where you expected, but you will have fun along the way.
Learn to surf
45
• You may be stuck in a cube doing a boring job with little chance to meet new people or to learn new technologies.
• How can you position yourself to take advantage of new opportunities?
• You need to do this outside of your job. • Volunteer for some kind of collaborative activity.
• You won’t get paid now • But you will increase your chances of getting paid (more) later
How to choose the right wave/music?
47
How to get started? • Join your local Java User
Group. • Work as part of a team.
• Help each other. • Teach each other. • Work with each other.
• Find a mentor. • Mentor someone else.
48
• You can start small. • Help to organize JUG meetings. • Write a short blog post about an interesting book you’ve read
or an open-source library or tool that you like. • Turn this into a short talk/presentation that you can give at a
JUG meeting. • You will gradually improve your organizational and
communication skills.
First steps
51
• Unlike Windows, where what you get is what Microsoft (perhaps after secretive consultation with its biggest customers) decides you should get…
• Java is developed through the Java Community Process. • Java specifications (JSRs) are developed collaboratively
through an open, formal process similar to that used by other standards organizations. All interested members of the Java community may participate.
For the community, by the community
52
• Oracle’s competitors are active participants. • IBM, HP, and RedHat to name a few.
• The Open Source and developer communities are also represented.
• The Eclipse Foundation, Java User Groups.
The whole community
53
Our membership • Anyone can join. • Total membership is almost 1000. • No membership fees! • Membership distribution by type:
• 76% individual. • 16% corporate. • 8% non-profit (mostly JUGs).
• Membership distribution by location: • 40% North America. • 41% Europe, Middle East, Africa. • 13% Asia. • 6% South America.
54
Recent membership changes (JSR 364)
• New Associate membership class for individuals with a much simpler membership agreement.
• No lawyers and no employer approval required. • Associates can be formally recognized as Contributors to a JSR.
• New Partner membership class for Java User Groups that are not legal entities.
• Electronic submission and signing of membership agreements. • Almost instant
• Free membership for corporations.
55
JUG members Austin JUG BeJUG (Belgium) BreizhJUG (Brittany) CEJUG (Brazil) Central Ohio JUG (USA) Chicago JUG ChinaNanjingJUG Connecticut JUG (USA) Detroit JUG (USA) Duchess (Women) ESPRIT Tunisian JUG (Tunisia) FASOJUG (Burkina Faso) Green Tea JUG (China) Houston JUG (USA) iJUG e.V. (Germany)
JUG-RU (Russia) JUG-USA London Java Community (UK) Malaysia-JUG MoroccoJUG Nashville JUG (United States) Oklahoma City JUG (USA) Rio JUG (Brazil) Riviera JUG (France) Ruhrjug (Germany) Silicon Valley JavaFX User Group
(USA) SouJava (Brazil) Utah JUG (USA) Vancouver Island JUG (Canada)
IndiJava (India) ITP_JAVA (Peru) Japan JUG Java Hellenic User Group (Greece) Java Student User Group (Vienna) Java Web User Group (London) Jozi JUG (South Africa) JUG-AFRICA JUG Chennai (India) JUG-Cologne (Germany) JUG-EG (Egypt) JUG Frankfurt [JUGF] (Germany) JUG Indonesia JUG JogLoSemar (Indonesia) JUG-MK (Macedonia)
57
Executive Committee members ARM Azul Systems Credit Suisse Eclipse Foundation Ericsson Freescale Fujitsu Gemalto M2M Goldman Sachs Hazelcast HP IBM Intel Werner Keil London Java Community Geir Magnuson MicroDoc Oracle Red Hat SAP Software AG SouJava TOTVS Twitter V2COM
66
How do we do it? • Java Specification Requests (JSRs)
• A JSR is a single version of a Java specification. • JSRs are led by a community member (the Spec Lead), with a
group of interested members (the Expert Group) helping with the day-to-day decisions and work.
• Any JCP member can submit and lead a JSR. • Each Expert Group must deliver:
• The Specification. • A Reference Implementation (RI). • A Technology Compatibility Kit (TCK).
67
Deliverables
• Specification
Reference Implementation
Can you build an implementation?
Is the specification unambiguous?
Is the TCK correct? Does the RI conform?
Technology Compatibility Kit
70
The JSR development cycle
• Includes formal public reviews and votes by the Executive Committee.
• See the Process Document for the details.
73
• 28+ JUGS participating: • South America: Campinas JUG (Brazil), ceJUG (Brazil), GOJava
(Brazil), SouJava (Brazil), Brasilia, DF JUG (Brazil), GUJ Londrina (Brazil) Peru JUG, Guadalajara JUG (Mexico), GUJavaSC (Brazil).
• North America: Chicago JUG, Silicon Valley JUG, Houston JUG (USA), Toronto JUG (Canada).
• Europe: London Java Community (UK), BeJUG (Belgium), Madrid JUG (Spain), JUG Cologne (Germany), Istanbul JUG (Turkey).
Java User Group adopters
74
• Europe: London Java Community (UK), BeJUG (Belgium), Madrid JUG (Spain), JUG Cologne (Germany), Istanbul JUG (Turkey).
• Asia: Indonesia JUG, JUG JogLoSemar (Indonesia), Hyderabad JUG (India), JUG Chennai (India).
• Africa & Middle East: EGJUG (Egypt), Morocco JUG, Faso JUG (Africa), Jozi JUG (South Africa), Mbale (Uganda).
More Java User Group adopters
75
You don’t have to be a technical expert... • Help to moderate the mailing lists; steer towards helpful
conversations • Evangelize the JSR through social media, blogging,
presentations, or lightning talks. • Help with documentation.
• Translate into your native language. • Help to maintain the FAQ/Wiki. • Improve project infrastructure and JSR visibility.
• Help set up JSR hosting (GitHub, etc.) • Help with Search Engine Optimization of website.
76
But if you are, or want to learn... • Help to manage issues: reproduce problems, erase/merge
duplicates, set priorities/categories etc. • Think about how you would use the JSR in the real world and
give feedback on its design. • Port existing software or develop new programs to test the RI
(the actual implementation of the spec); provide feedback and report bugs.
• Help to develop the TCK and use it to test the RI. • Help to develop the RI itself.
77
What's in it for me? • Advance your career. • Grow your network and
reputation. • Make new contacts.
• Improve your “soft skills.” • Verbal and written
communications. • Negotiation. • Collaboration. • Teamwork.
• Have fun!
78
10 soft skills every employee needs • Self-awareness • Communication (verbal and written) • Listening (and accepting feedback) • Networking • Collaboration (and teamwork) • Meeting management (both as a participant and meeting leader) • Conflict resolution • Problem solving • Stress management • Time management
https://www.hrbartender.com/2014/recruiting/10-soft-skills-every-employee-needs-know/
79
Participate in OpenJDK
• Go to http://java.net/projects/adoptopenjdk. • Join the mailing list. • Join the IRC channel. • Or contact your local JUG leader.