technology trends and the skills you should learn
DESCRIPTION
As an aspiring software developer or IT professional, what technology trends should you know about to build a flourishing career in IT? Orange and Bronze CEO, Calen Legaspi, discusses which technologies are hot and which are in danger of becoming obsolete. www.orangeandbronze.comTRANSCRIPT
Technology Trendsand the Skills You Should Learn
Calen Martin LegaspiCEOOrange and Bronze Software Labs
Who am I?
• CEO & Co-Founder - Orange & Bronze Software Labs
• Technology Director - Philippine Software Industry Association (PSIA)
• Industry Representative - CHED Technical Committee for Computer Science
• Co-Founder - Association of Filipino Java Developers (PinoyJUG)
• Member - Muay Thai Association of the Philippines,
Wrestling Association of the Philippines
What is the PSIA?• Industry association representing Philippine software industry
• Consists of 140 member companies generating close to $1 billion/yr in revenue
• Activities
o Overseas marketing
o Capability development - especially in Industry-Academe linkage
o Government relations
o Information & Research
Target Audience Primary: Aspiring Programmers
Secondary: Other Aspiring IT ProfessionalsBusiness Analysts
Systems Administrators
Project Managers
Applications Specialists
Marketing / Sales
Others
Cloud Computing Computing as a utility
- not installed
Types- SaaS
- IaaS
- PaaS
Software-as-a-Service (SaaS) Fully-functioning applications
Examples: Gmail, Google Docs, Netsuite, Salesforce, Facebook, YouTube
They expose Web Services or “Open APIs”Third-party developers can build applications that interface with these.
Skill: Web Services Program-to-program communication over the internet
o Function calls on remote machines using HTTP
o Programs can be of different technologies
Examples:Facebook games/applications, workflows on top of Google Apps, extensions to
Netsuite & Salesforce
Typeso REST
o SOAP
Infrastructure-as-a-Service (IaaS) Remote infrastructure
o Servers, storage, support, virtualization...
o Fast scaling / auto-scaling
o Examples: Amazon Web Services, Rackspace
Skill: Linux Command Line Administration Remote administration is more efficient on command line
Administering through Remote Desktop is a pain
Platform-as-a-Service (PaaS)
PaaS
Skills Platforms
Google App Engine, Cloud Foundry (VMWare), Microsoft Azure
Programming LanguagesGAE: Java & JVM languages, Python
Cloud Foundry: Java & JVM languages, Ruby, Javascript (Node.js)
Azure: .Net languages
The Internet of Things
January 2010, scientists create a working transistor of only six carbon atoms
August 2010, AT&T and Verizon announce that non-human subscribers exceed human subscribers
on their networks
Ever smaller and cheaper Self-configuring Embedded Connected to the internet Everywhere
Welcome toThe Internet of Things
embedded in everything
interconnected devices, complex networks, massive data
Applications
Skills Web Services Other important specializations:
o Embedded devices (esp. sensors)
• Any CoE, ECE, EEE students out there?
• C/C++; Linux
o Cloud Computing & Big Data
o Business Intelligence
Agile Software Development Software development philosophy that is rapidly replacing traditional
processes
What is it?Depends on who you talk to
Schools of thought:Scrum, Extreme Programming, Agile Unified Process, Kanban, Crystal, dX, Lean,
etc.
Agile Software DevelopmentCommon practices and principles
• Focus on delivering what the customer really needs
• High levels of code quality
• Intense collaboration and communication
• Minimizing waste
• Test-Driven Development
• Short iterations (frequent delivery)
Skills Where to start?
Read on “Extreme Programming”
Other important topics:o Test-Driven Development
o Domain-Driven Development
o Design Patterns
o Version Control & Continuous Integration
Learn to work in teams Participate in as many projects as possible, ideally software projects, but other types of projects are good too
How about Mobile? Rapid obsolescence of mobile platforms
Palm, J2ME, Symbian, Blackberry...
Businesses value server-side moreMore investment on server-side, higher value of server-side developers
Convergence of client-side development on Javascript and HTML5
Skills Develop server-side skills as well
Multi-user, thread-safe, scalable, separation of concerns
Consider Javascript & HTML5 over platform-specific technologyCheck PhoneGap
How about Games? Platform-specific / company-specific skills
Difficult to transfer skills across companies
Local game dev companies tend to be small and unstableo Still no EA, Activision or Nintendo locally
o Limited outsourcing activity because of fragmented platforms
Which operating system?Linux – most popular server OS
~70% server market share
Easier remote administration, historically better stability, no viruses, better use of hardware resources, abundance of open source applications and tools...
Indeed.com:
Linux Administrator: $89,000
Windows Administrator: $81,000
Which programming languages should I learn?Salary survey from Indeed.com:
Java: $95,000
C++: $95,000
C#: $92,000
Python: $92,000
Ruby: $90,000
VB: $85,000
PHP: $81,000
On top three...Java & C# offer most flexible opportunities
o Highly transferable skills
o Useful for both web and mobile
o Java → platform independence
C/C++ work tends to be proprietaryo Locally, most work is device drivers
o Not suitable for web / mobile / enterprise
o Entrepreneurial opportunities in embedded devices
internet of things
Enterprise Development
• Enterprise (business) applications offer most job opportunities
• Server-side: Java or C#
• Client-side: Javascript & HTML5
• Prefer to develop server-side skills but compliment with Javascript
• Desktop development – don't bother
Enterprise Development• Thread-safety
• Separation of concerns
• Domain Driven Design
• MVC and other enterprise patterns
Drag-and-Drop will make you stupid!
• Learn to write maintainable, readable code
• Understand the underlying principles and technology
What is
Vision
To create a Filipino technology company admired by the world.
Vision
Contribute to rebuilding the Filipino technology community.
Software Development & Design Clients
Offshore Philippines
Training & Coaching Clients
Other Activities• Start-up incubation
• Sponsorship of technology events and organizations
• Industry-Academe LinkageConducting teacher training
Advising CHED, TESDA and PSITE
• Scholarships (soon)
Tiger Awards 2011Kuala Lumpur
Most productive investment in workforce - from staff training to social responsibility
Employment & Internship• Best developer training program in the country
• Highest engineering standards
• Excellent trainers and mentors
• Challenging projects
• Technopreneurship programs
jobs @ orangeandbronze.com
ojt @ orangeandbronze.com