Surviving The Downturn

43
All Contents © 2008 Burton Group. All rights reserved. Kirk Knoernschild Analyst, SDLC and Containers, Languages, & Frameworks Burton Group www.burtongroup.com [email protected] Blog: http://apsblog.burtongroup.com Blog: http://techdistrict.kirkk.com Twitter: pragkirk Surviving the Downturn

description

A lighthearted discussion regarding some pretty serious issues surrounding software development. Covers breadth of topics.

Transcript of Surviving The Downturn

Page 1: Surviving The Downturn

All Contents © 2008 Burton Group. All rights reserved.

Kirk Knoernschild Analyst, SDLC and Containers, Languages, & Frameworks Burton Group www.burtongroup.com [email protected] Blog: http://apsblog.burtongroup.com Blog: http://techdistrict.kirkk.com Twitter: pragkirk

Surviving the Downturn

Page 2: Surviving The Downturn

Surviving the Downturn

Current State

• The job market sucks • Outsourcing trend continues • IT is incompetent and arrogant • Enterprise software development is painful

What do we do?

Page 3: Surviving The Downturn

Surviving the Downturn

Buy AAPL

36%

Page 4: Surviving The Downturn

Surviving the Downturn

Agenda

• 5 Things You Shouldn’t Care About Now • 5 Things You Need To Do Now • 5 Things You Need To Learn Now • 5 Markets You Should Be Watching Now • The IT Labor Controversy

•  The Education System •  The H-1B program •  The Job Market

Page 5: Surviving The Downturn

Surviving the Downturn

Agenda

• 5 Things You Shouldn’t Care About Now • 5 Things You Need To Do Now • 5 Things You Need To Learn Now • 5 Markets You Should Be Watching Now • The IT Labor Controversy

•  The Education System •  The H-1B program •  The Job Market

Page 6: Surviving The Downturn

Surviving the Downturn

Puzzler

• Please Translate

1f u c4n r34d th1s u r34lly n33d t0 g37 4 l1f3

If you can read this you really need to get a life

Page 7: Surviving The Downturn

Surviving the Downturn

5 Things You Shouldn’t Care About Now

• IT Certifications • Java/Java EE • Software Process • Portals • SOA

Page 8: Surviving The Downturn

5 Things You Shouldn’t Care About Now

1.) IT Certifications

• The Certification Process •  Spend $$ on course •  Spend $$ on exam • Get a silly piece of paper

• Organizations pay for skill, not knowledge

What happens when the following code is compiled and executed?

for(int i = 1; i < 3; i++) for(int j = 3; j >= 1; j--) assert i!=j : i;

Page 9: Surviving The Downturn

5 Things You Shouldn’t Care About Now

2.) Java/Java EE

• Zero portability • Bloated programming model • JCP is a mockery • The Rebel frameworks are winning

Page 10: Surviving The Downturn

5 Things You Shouldn’t Care About Now

3.) Software Process

• Focus on results, not methods • Too much time is spend improving process, not enough

on delivering software

Page 11: Surviving The Downturn

5 Things You Shouldn’t Care About Now

4.) Portals

• Proprietary & closed • Let’s focus on mashups

Page 12: Surviving The Downturn

5 Things You Shouldn’t Care About Now

5.) SOA

• We’ve already used all the money • We needed that ESB we still don’t use

• Was once promising •  Reduce costs, increase agility, solve global warming

• You cannot buy SOA •  It’s not a product, it’s an architectural style

• IT got all giddy with technology • WS-* or REST?

Page 13: Surviving The Downturn

Surviving the Downturn

Agenda

• 5 Things You Shouldn’t Care About Now • 5 Things You Need To Do Now • 5 Things You Need To Learn Now • 5 Markets You Should Be Watching Now • The IT Labor Controversy

•  The Education System •  The H-1B program •  The Job Market

Page 14: Surviving The Downturn

Puzzler

• Please Translate

There’s no place like 127.0.0.1

There’s no place like home

Page 15: Surviving The Downturn

Surviving the Downturn

5 Things You Need To Do Now

• Continuous Integration • Java as a platform, not a language • Automate processes • Get involved with OSS • RIA

Page 16: Surviving The Downturn

5 Things You Need To Do Now

1.) Continuous Integration

• Build & Test the system as frequently as possible • Feedback, Transparency, Alignment, Risk Mitigation

Page 17: Surviving The Downturn

Continuous Integration

Page 18: Surviving The Downturn

5 Things You Need To Do Now

2.) Java as a Platform, Not a Language

• Alternative languages and technologies can speed development

• Groovy/Grails

Java

API

JVM

Page 19: Surviving The Downturn

5 Things You Need To Do Now

3.) Automate Processes

• We waste time performing mundane tasks • Need to make development more efficient

•  Compilation, Database Integration and Migration, Testing, Code Inspection, Deployments, Install Scripts, Notifications, Documentation

GO!

Page 20: Surviving The Downturn

5 Things You Need To Do Now

4.) Get Involved with OSS

• Improve your development skills • Learn better ways of developing software • Connect with peers

Page 21: Surviving The Downturn

5 Things You Need To Do Now

5.) RIA

• Improve the UXP

Primitive UXP

Stateless

Server Processing

No OS Integration

On-Line

Limited

Decentrally Managed

Client Processing

Off-Line

Lacks Portability

Centrally Managed

Ubuitous

Portable

Stateful

OS Integration

Rich UXP

Fat Client Thin Client

RIA

Rich UXP

Page 22: Surviving The Downturn

Surviving the Downturn

Agenda

• 5 Things You Shouldn’t Care About Now • 5 Things You Need To Do Now • 5 Things You Need To Learn Now • 5 Markets You Should Be Watching Now • The IT Labor Controversy

•  The Education System •  The H-1B program •  The Job Market

Page 23: Surviving The Downturn

Surviving the Downturn

Puzzler

• Please Translate

There are 10 types of people in the world. Name them!

Those who understand binary, and those who don’t!

Page 24: Surviving The Downturn

Surviving the Downturn

5 Things You Need To Learn Now

• OSGi • Learn a Functional language • Learn a Dynamic Language • Learn a fit client technology • Understand Domain Specific Languages

Page 25: Surviving The Downturn

5 Things You Need To Learn now

1.) OSGi

• Dynamic module system for Java •  Versioning, Dynamic Provisioning, Modularity

Page 26: Surviving The Downturn

5 Things You Need To Learn now

2.) Learn a Functional Language

• Eases concurrent programming through immutable state

Imag

e Sou

rce:

“The

Futu

re of

Pro

gram

ming

Lang

uage

s”, A

nder

s Hejl

sber

g. JA

OO A

arhu

s 200

8

Page 27: Surviving The Downturn

5 Things You Need To Learn now

3.) Learn a Dynamic Language

• Type checking deferred to runtime, but there is still a type system

Java “4” + 2 results in “42”

Ruby “4” + 2 results in TypeError

Imag

e Sou

rce:

“The

Futu

re of

Pro

gram

ming

Lang

uage

s”, A

nder

s Hejl

sber

g. JA

OO A

arhu

s 200

8

Page 28: Surviving The Downturn

5 Things You Need To Learn now

4.) Learn a Fit Client Technology

• AIR, Silverlight, Java FX

Client/Server Processing

On/Off-Line

Fit Client

Primitive UXP

Stateless

Server Processing

No OS Integration

On-Line

Limited

Decentrally Managed

Client Processing

Off-Line

Lacks Portability

Centrally Managed

Ubuitous

Portable

Stateful

OS Integration

Rich UXP

Fat Client Thin Client

RIA

Rich UXP

Page 29: Surviving The Downturn

5 Things You Need To Learn now

5.) Understand Domain Specific Languages

• Mini-languages aimed at solving a specific type of problem

• Popular DSLs today • Make, Ant, SQL

$:.unshift File.join(File.dirname(__FILE__), "app")

require 'rake/testtask'

task :default => [:coverage]

require 'rcov/rcovtask' Rcov::RcovTask.new(:coverage) do |t| t.test_files = FileList['test/AllTests.rb'] t.rcov_opts << "-I ./app" + File::PATH_SEPARATOR + "./test" t.output_dir = "coverageout" end

Page 30: Surviving The Downturn

Surviving the Downturn

Agenda

• 5 Things You Shouldn’t Care About Now • 5 Things You Need To Do Now • 5 Things You Need To Learn Now • 5 Markets You Should Be Watching Now • The IT Labor Controversy

•  The Education System •  The H-1B program •  The Job Market

Page 31: Surviving The Downturn

Puzzler

• Please Translate

PEBKAC

Problem Exists Between Keyboard And Chair

Page 32: Surviving The Downturn

5 Markets You Should Be Watching Now

• Microsoft • Eclipse Foundation • Mobile Development • The Cloud

•  SaaS, PaaS, XaaS

• Mozilla Labs

Page 33: Surviving The Downturn

5 Markets You Should Be Watching Now

1.) Microsoft

• Azure, Oslo, Rosario •  Cloud Strategy, DSL, and Tool Suites

• Evolution of CLR & DLR

Page 34: Surviving The Downturn

5 Markets You Should Be Watching Now

2.) Eclipse Foundation

• From an IDE to an Ecosystem •  e4, EMF

• Equinox OSGi runtime • IDE with alternative language support

•  Ex. Scala

• Cola •  Code collaboration and sharing

• Ganymede • BIRT

•  BI and Reporting Tools

Page 35: Surviving The Downturn

5 Markets You Should Be Watching Now

3.) Mobile Development

• Smartphones •  iPhone captures 2/3 of mobile browsing

• Fragmented market • MIDP, CLDC, CDC, OS X, Android, Symbian, BlackBerry

•  Device as a virtual gateway to enterprise applications •  Applications run on a central server

•  Resident applications reside on the device •  Require an RMA Platform

•  Applications execute within resident run-time •  Applications themselves are non-resident

Page 36: Surviving The Downturn

5 Markets You Should Be Watching Now

4.) The Cloud

• Shared Infrastructure •  Better hardware utilization (more applications, users and transactions

per machine)

• Automation and dynamic re-configuration •  Facilitates self-service, provisioning, and flexible workload

assignment

• Elastic scalability •  Facilitates capacity and demand planning

• Pay as you go •  Platform components procured and billed on subscription or usage

basis

• App Engine, Amazon, Azure, Force.com

Page 37: Surviving The Downturn

5 Markets You Should Be Watching Now

5.) Mozilla Labs

• Project Bespin • Web-Based framework for code editing and collaboration

• Prism • WebApps on the Desktop

Page 38: Surviving The Downturn

Surviving the Downturn

Agenda

• 5 Things You Shouldn’t Care About Now • 5 Things You Need To Do Now • 5 Things You Need To Learn Now • 5 Markets You Should Be Watching Now • The IT Labor Controversy

•  The Education System •  The H-1B program •  The Job Market

Page 39: Surviving The Downturn

Surviving the Downturn

Puzzler

• Please Translate

Mathematician tells his colleague his wife just had a baby.

“Is it a boy or a girl?”, asks the colleague.

“Yes”, replied the mathematician.

Page 40: Surviving The Downturn

The IT Labor Controversy

Page 41: Surviving The Downturn

The IT Labor Controversy

IT Labor Shortage – Education

• Increased enrollment by 20% between 2000 and 2005. • Number of CS undergrad majors declared increased

10% in 2007. • Number of degrees awarded in 2006 exceeded the

number in 2001. • Number of degrees awarded since 2000 have exceeded

that of the most awarded prior to 2000.

Page 42: Surviving The Downturn

The IT Labor Controversy

IT Labor Shortage – Industry

• Projected 38% increase in software developers through 2016.

• Annual job creation of 120,000 with 300,000 degrees conferred each year.

• H-1B Visa Holders are paid between 12,500 and 20,000 less than American workers.

• “The Fake Ads” Controversy

There’s also a shortage of $2/6 pack micro brews

Page 43: Surviving The Downturn

Surviving the Downturn

Thank you! Kirk Knoernschild Analyst, SDLC and Containers, Languages, & Frameworks Burton Group www.burtongroup.com [email protected] Blog: http://apsblog.burtongroup.com Blog: http://techdistrict.kirkk.com Twitter: pragkirk