Northern Arizona State ACM talk (10/08)
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Northern Arizona State ACM talk (10/08)

on

  • 1,344 views

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

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

Statistics

Views

Total Views
1,344
Views on SlideShare
1,320
Embed Views
24

Actions

Likes
0
Downloads
3
Comments
0

4 Embeds 24

https://www.postgresql.us 16
http://www.techgig.com 6
http://www.linkedin.com 1
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Northern Arizona State ACM talk (10/08) Presentation Transcript

  • 1. The way and the light All about Open Source, PostgreSQL and the Job Market (in 90 minutes) Copyright Joshua D. Drake Creative Commons Attribution-Share Alike 3.0 United States http://creativecommons.org/licenses/by-sa/3.0/us/    
  • 2. Who am I? ● Major Contributor – PostgreSQL.Org ● Director – PostgreSQL.us – SPI ● Consultant – Command Prompt Joshua D. Drake – jd@commandprompt.com    
  • 3. Open Source ● Why Open Source? – Smart Software – Most opportunity – Sustainability – Has a merit model – Has an ethic – You are not good enough    
  • 4. Smart software Open Source is developed by the widest array of minds and talents of any product or project, software or not, on earth.    
  • 5. 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.    
  • 6. 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    
  • 7. 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.    
  • 8. 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.    
  • 9. Merit Model The most successful Open Source projects have a merit model (Meritocracy). (LedgerSMB vs. Sql-Ledger, MySQL vs. PostgreSQL)    
  • 10. 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    
  • 11. 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.    
  • 12. 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    
  • 13. 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.    
  • 14. PostgreSQL.Org ● What is PostgreSQL? – The community – The software ● Why PostgreSQL? – The community – The software    
  • 15. What is PostgreSQL? ● The community – Full Meritocracy – Widely distributed – Driven – Fun    
  • 16. 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...    
  • 17. 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  
  • 18. 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    
  • 19. Driven II PostgreSQL Conference West 08 – Code Sprint    
  • 20. Fun! Work hard – Play hard OSCON 2007    
  • 21. Fun II   PostgreSQL Conference East 08   (http://www.pgcon.us/)
  • 22. 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    
  • 23. 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    
  • 24. 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)    
  • 25. 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)    
  • 26. Macro Community ● Macro communities are regional – Provide a more localized focus ● Generally more specific in their goals    
  • 27. 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
  • 28. Macro Communities III ● Depending on definition others exist – JPUG – Postgresql.it – Postgresql.fr – Postgresql.br    
  • 29. 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    
  • 30. Job Market The job market is strong. Reporters are paid to lie.    
  • 31. Keys to entering the market ● Be flexible ● Know more than one technology ● Be familiar with common standards ● Take risks ● Don't kill yourself    
  • 32. 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)
  • 33. 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.    
  • 34. Multiple technologies Means higher pay You do not have to be an expert in each, that is impossible. Being competent in each is entirely possible.    
  • 35. 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    
  • 36. 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
  • 37. 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.    
  • 38. Don't kill yourself There are 168 hours in a week. The only thing worth more than 40 of them is you.    
  • 39. You ● Yourself ● Family ● Community    
  • 40. Not you Job