Transcript

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

2

Bem-vindo!

3

Would you prefer not to be unemployed 10 years from now?

How to defend yourself against outsourcing and

job-killing robots.

Alternative title

4

About me

5

Still a European citizen!

I have an Irish passport

6

Glad to be back in Brazil!

7

I love Brazilian music!

Block parade on Copacabana beach

8

The best music in the world

Ricco Duarte plays Bossa Nova at Vinicius (Moraes) bar in Ipanema

9

Peoples’ music

Ó do Borogodó in Sao Paulo

10

Peoples’ music

An Irish pub

11

Music: a universal language!

Republic of Congo, 2015

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

14

My first computer

IBM 360 mainframe

15

How I programmed it

Card-punch-machine

16

Do not fold spindle or mutilate

Invented by Herman Hollerith to tabulate the 1890 census

17

My first second choice (my first job)

18

Suits

19

Or geeks?

20

My first personal computer

1 MHz 6502 processor, 8 Kb memory, external cassette storage

21

How I programmed it

6502 assembly language

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

23

My word-processor

Lexitron VT 1303 word-processor

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

26

How to hire a smart programmer?

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

29

I love to travel!

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

33

Cray XMP supercomputer ($10 million)

34

Personal supercomputer ($300)

35

Your future?

36

Or maybe you won’t even have a cube

37

Your 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

39

Your future?

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

41

Learn to surf

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

43

Learn to dance

44

• Connect • Collaborate • Create • Make music and dance together!

Teamwork

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?

46

Get involved!

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

49

And then?

50

Java standards

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)

56

Organization

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

58

Standards make the world go round

59

Multiple implementations

60

Industrial-strength systems

61

Languages & protocols

62

Interfaces

63

Java SE 8: JSR 337 (March 2014)

64

Java ME 8: (JSRs 360 & 361) – April 2014

65

Java EE 7: (JSR 342) – May 2013

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

68

Compatibility testing

69

Compatibility guarantee

70

The JSR development cycle

• Includes formal public reviews and votes by the Executive Committee.

• See the Process Document for the details.

71

Adopt a JSR!

Thank you and

72

An international effort

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.

80

Make the future Java

81

Questions?

82

Obrigado


Recommended