northern arizona state acm talk (10/08)

Post on 14-Jan-2015

672 Views

Category:

Education

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

A talk on Open Source, PostgreSQL and the Job market presented at the Northern Arizona State ACM

TRANSCRIPT

   

The way and the light

All about Open Source, PostgreSQL and the Job Market

(in 90 minutes)

Copyright Joshua D. DrakeCreative Commons Attribution-Share Alike 3.0 United States

http://creativecommons.org/licenses/by-sa/3.0/us/

   

Who am I?

● Major Contributor

– PostgreSQL.Org● Director

– PostgreSQL.us

– SPI● Consultant

– Command Prompt

Joshua D. Drake – jd@commandprompt.com

   

Open Source

● Why Open Source?

– Smart Software

– Most opportunity

– Sustainability

– Has a merit model

– Has an ethic

– You are not good enough

   

Smart software

Open Source is developed by the widest array of minds and talents of any product or project, software or not, on earth.

   

Most opportunity

Only with Open Source can an individual pick up a keyboard, type a line of code, write a

line of documentation or meet up with a potential user and contribute to a global

product.

Try that with Apple or Microsoft.

   

Sustainability

● Open Source provides sustainability via:

– Open maintenance of source

– Reduces the proprietary advantage● The proliferation of Open Source and adoption by corporations has caused an inverse cost in the development of proprietary software. It is now cheaper to develop openly.

– Community creates a support network

– Community creates infrastructure for jobs

   

Sustainability II

The open nature levels the playing field in a competitive arena. If you have a project with commercial requirements the door is

opened for competition amongst all commercial members of the community. As the base product doesn't change (because it is

open source) all players have a level playing field. A level playing field allows for multiple providers to be authoritative sources and helps the long term survival of

the project.

   

Sustainability III

As each commercial provider brings a new set of talents to the community; the

competition creates friction and the central goal (success of the project) creates cooperation. This creates

coopetition.

   

Merit Model

The most successful Open Source projects have a merit model (Meritocracy).

(LedgerSMB vs. Sql-Ledger, MySQL vs. PostgreSQL)

   

Meritocracy

● Your influence in a project is derived from the merit of your contribution.

● Meritocracy is not driven by

– Years in the industry

– Money in your account

– Length or impressiveness of the resume

   

Has an ethic

The removal of money as the primary motivator in Open Source allows for a diverse community with a wide range of beliefs to bond with a central theme to

produce software that is at its core, good. As money is never the (if you are sane)

primary motivator, human interest whether developing a product, solving a problem, or just generating intellectual satisfaction

takes over.

   

You are not good enough

● Reasons not to contribute

– I don't have enough experience

– I am not good enough at language -x-

– I don't know the model

– I am a perfectionist

– It might have bugs

– I don't want to be laughed at

   

Get over yourself

● Someone will always more experience

● There is always a better programmer

● What better way to learn the model than hands on?

● Perfectionists are idiots. Nobody is perfect.

● All software has bugs.

● So what if you are laughed at, learn from the experience.

   

PostgreSQL.Org

● What is PostgreSQL?

– The community

– The software● Why PostgreSQL?

– The community

– The software

   

What is PostgreSQL?

● The community

– Full Meritocracy

– Widely distributed

– Driven

– Fun

   

Full Meritocracy

● Influence is driven by contributions

● Contributions are more than code

– Good sysadmin but not a good coder?● Sysadmin team

– Decent PHP developer?● WWW team

– Hacker?● -hackers

– etc...

   

Widely Distributed

● A true community with developers from all over the globe.

– Sample 8.4 contributions and locations● Parallel Restore – Andrew Dunstan: USA● Recursive Queries – Itagaki (fill in): Japan

● Streaming xlogs (pending) – Simon Riggs: U.K.

● Autovacuum reloptions – Alvaro Herrera: Chile

● Partial GIN search – Teodor (fill in): Russia

   

Driven

● Follows the when its done philosophy

● Determined to have high quality releases

– Recent Coverity scans show 1 bug per 22,000 lines of code

– Recent MySQL Coverity scans show 1 bug per 4,000 lines of code

● Strict security protocols

● Adherence to standards

   

Driven II

PostgreSQL Conference West 08 – Code Sprint

   

Fun!

Work hard – Play hard

OSCON 2007

   

Fun II

PostgreSQL Conference East 08 (http://www.pgcon.us/)

   

What is PostgreSQL II

● The Software

– RDBMS

– ACID Compliant

– Fully transactional (including DDL)

– Scalable● Easily handles tens of thousands transactions a second

– Extensible● Custom types, inheritance, multiple procedural languages

   

Why PostgreSQL

● If the previous information wasn't enough...

– BSD Licensed

– Global, Macro and Micro communities

– Mature tertiary projects

– Active opportunities at all levels

– You will be smarter and sexier

   

BSD Licensed

● The most flexible of Open Source licenses

– Qualifies as Free Software per FSF

– Qualifies as Open Source per OpenSource.Org

– Pro business

– Pro community

– Pro individual● The most “Free” of the Open Source licenses

– (go ahead... ask)

   

Global Community

●PostgreSQL.org

– All Macro and Micro communities fall under the PostgreSQL.org affiliation.

– Largest contributing database community

– Where the core code lives● PostgreSQL Global Development Group (PGDG)

   

Macro Community

● Macro communities are regional

– Provide a more localized focus● Generally more specific in their goals

   

Macro Community II

● Postgresql.eu

● Provides support to the general European community (not the European Union)

● Primarily uses User Groups as its distribution point

– Postgresql.us● Focuses on PostgreSQL in the United States

● A more monolithic approach– Corporation has specific goals

● Support user groups● Work with Higher Education● Develop free curriculum...

   

Macro Communities III

● Depending on definition others exist

– JPUG

– Postgresql.it

– Postgresql.fr

– Postgresql.br

   

Micro communities

● Smaller and more focussed

● More personal

● Better defined mission

– Sometimes more broadly defined● Generally local

– LAPUG is local to Los Angeles

– UKPUG is local to UK

   

Job Market

The job market is strong. Reporters are paid to lie.

   

Keys to entering the market

● Be flexible

● Know more than one technology

● Be familiar with common standards

● Take risks

● Don't kill yourself

   

Be flexible

● You are not just an application developer

– You are a technologist

– Do not be afraid to reach out to secondary technologies to get the job done

● If you are a Java (Web) developer– Understand Tomcat/Jakarta/Geronimo– Understand best practices, strive for them

● Code is not documentation– Just because it is easy doesn't mean it is correct (hibernate)

   

Know more than one technology

● It is great to be a java/.net/C/C++ whatever programmer.

● Entering the Job market with a common skill, means lower pay.

– There are millions of Java programmers● There are considerably less java programmers who are also a master database modeler or quality Linux system administrator

● If you don't know your platform, you shouldn't work on it.

   

Multiple technologies

Means higher payYou do not have to be an expert in each, that is impossible. Being competent in each

is entirely possible.

   

Be familiar with common standards

● Understand

– DRY (Don't Repeat Yourself)

– MVC (Model View Controller)

– Codd's rules

– XML● Etc...

● Or whatever standard is most applicable to your field

   

Take risks

● Reward only comes with risk.

– Risk: PostgreSQL over MySQL● Higher pay● More scalable product

– Risk: Work for a startup● More interesting work● Helping build something new

– Risk: Join a community● Contribute to something larger than yourself

● Learn from the smartest minds in the world

   

Make your own mark

● Walking out the door with a university resume is good

● Walking out the door as a major contributor (or founder) of an open source project is better

● Your mark might be as an entrepreneur, it may be as an employee, it may be as something in between but make your mark.

   

Don't kill yourself

There are 168 hours in a week.The only thing worth more than 40 of them is

you.

   

You

● Yourself

● Family

● Community

   

Not you

Job

top related