2. 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?
4. 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
5. 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
7. Surviving the Downturn
5 Things You Shouldn’t Care About Now
• IT Certifications
• Java/Java EE
• Software Process
• Portals
• SOA
8. 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;
9. 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
10. 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
11. 5 Things You Shouldn’t Care About Now
4.) Portals
• Proprietary & closed
• Let’s focus on mashups
12. 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?
13. 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
15. 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
16. 5 Things You Need To Do Now
1.) Continuous Integration
• Build & Test the system as frequently as possible
• Feedback, Transparency, Alignment, Risk Mitigation
18. 5 Things You Need To Do Now
2.) Java as a Platform, Not a Language
• Alternative languages and technologies can speed
development
• Groovy/Grails
JVM Java
API
19. 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!
20. 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
21. 5 Things You Need To Do Now
5.) RIA
• Improve the UXP
Thin Client
Fat Client
Client Server
Processing Processing
Centrally
Decentrally Stateful Stateless
Managed
Managed
OS Integration
Limited Ubuitous No OS Integration
Rich
UXP
Rich
Lacks Primitive
Portable
UXP
Portability UXP
Off-Line RIA
On-Line
22. 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
23. 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!
24. 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
25. 5 Things You Need To Learn now
1.) OSGi
• Dynamic module system for Java
• Versioning, Dynamic Provisioning, Modularity
26. 5 Things You Need To Learn now
2.) Learn a Functional Language
• Eases concurrent programming through immutable state
“The Future of Programming Languages”, Anders Hejlsberg.
JAOO Aarhus 2008
Image Source:
27. 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”
“The Future of Programming Languages”, Anders Hejlsberg.
Ruby
“4” + 2 results in TypeError
JAOO Aarhus 2008
Image Source:
28. 5 Things You Need To Learn now
4.) Learn a Fit Client Technology
• AIR, Silverlight, Java FX
Fit Client
Thin Client
Fat Client
Client/Server
Processing
Client Server
Processing Processing
Centrally
Decentrally Stateful Stateless
Managed
Managed
OS Integration
Limited Ubuitous No OS Integration
Rich
UXP
Rich
Lacks Primitive
Portable
UXP
Portability UXP
Off-Line On/Off-Line RIA
On-Line
29. 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__), quot;appquot;)
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 << quot;-I ./appquot; + File::PATH_SEPARATOR + quot;./testquot;
t.output_dir = quot;coverageoutquot;
end
30. 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
32. 5 Markets You Should Be Watching Now
• Microsoft
• Eclipse Foundation
• Mobile Development
• The Cloud
• SaaS, PaaS, XaaS
• Mozilla Labs
33. 5 Markets You Should Be Watching Now
1.) Microsoft
• Azure, Oslo, Rosario
• Cloud Strategy, DSL, and Tool Suites
• Evolution of CLR & DLR
34. 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
35. 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
• Applications execute within resident run-time
• Applications themselves are non-resident
• Resident applications reside on the device
• Require an RMA Platform
36. 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
37. 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
38. 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
39. 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.
41. 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.
42. 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
43. Surviving the Downturn
Thank you!
Kirk Knoernschild
Analyst, SDLC and Containers, Languages, & Frameworks
Burton Group
www.burtongroup.com
kknoernschild@burtongroup.com
Blog: http://apsblog.burtongroup.com
Blog: http://techdistrict.kirkk.com
Twitter: pragkirk