Y4IT - Technology Trends And The Skills You Should Learn

46
Technology Trends and the skills you should learn for your career or technopreneurship

description

 

Transcript of Y4IT - Technology Trends And The Skills You Should Learn

Page 1: Y4IT - Technology Trends And The Skills You Should Learn

Technology Trendsand the skills you should learn

for your career or technopreneurship

Page 2: Y4IT - Technology Trends And The Skills You Should Learn

Who am I?

• CEO & Co-Founder

Orange & Bronze Software Labs

• Technology Director

Philippine Software Industry Association

• 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

Page 3: Y4IT - Technology Trends And The Skills You Should Learn

It's a great time to be a developer

Page 4: Y4IT - Technology Trends And The Skills You Should Learn

What could they have done with the technology you have today?

Page 5: Y4IT - Technology Trends And The Skills You Should Learn

Cloud Computing

Computing as a utility- not installed

Types- SaaS

- IaaS

- PaaS

Page 6: Y4IT - Technology Trends And The Skills You Should Learn

Software-as-a-Service (SaaS)

Fully-functioning applications- Examples: Gmail, Google Docs, Netsuite,

Salesforce, Facebook, YouTube

They expose Web ServicesWeb Services or “Open APIs”

- Third-party developers can build applications that interface with these.

Page 7: Y4IT - Technology Trends And The Skills You Should Learn

Skill: Web Services Program-to-program communication over the

internet- Function calls on remote machines using HTTP

- Programs can be of different technologies

Examples:Facebook games/applications, workflows on top of

Google Apps, extensions to Netsuite & Salesforce

Types- REST

- SOAP

Page 8: Y4IT - Technology Trends And The Skills You Should Learn

Infrastructure-as-a-Service (IaaS)

Remote infrastructure- servers, storage, support, virtualization...

- fast scaling / auto-scaling

- examples: Amazon Web Services, Rackspace

Page 9: Y4IT - Technology Trends And The Skills You Should Learn

Skill: Linux Command Line Administration Remote administration is more efficient on

command line- Administering through Remote Desktop is a pain

Page 10: Y4IT - Technology Trends And The Skills You Should Learn

Platform-as-a-Service (PaaS)

Page 11: Y4IT - Technology Trends And The Skills You Should Learn

Setting up your own platform

Page 12: Y4IT - Technology Trends And The Skills You Should Learn

Deploying on your own platform

Page 13: Y4IT - Technology Trends And The Skills You Should Learn

PaaS

Page 14: Y4IT - Technology Trends And The Skills You Should Learn

PaaS

Page 15: Y4IT - Technology Trends And The Skills You Should Learn

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

Page 16: Y4IT - Technology Trends And The Skills You Should Learn

The Internet of ThingsThings

Page 17: Y4IT - Technology Trends And The Skills You Should Learn

January 2010, scientists create a working transistor of only six carbon atoms

Page 18: Y4IT - Technology Trends And The Skills You Should Learn

August 2010, AT&T and Verizon announce that non-human subscribers exceed human subscribers

on their networks

Page 19: Y4IT - Technology Trends And The Skills You Should Learn

Ever smaller and cheaper

Self-configuring Embedded Connected to the

internet Everywhere

Page 20: Y4IT - Technology Trends And The Skills You Should Learn

Welcome toThe Internet of ThingsThe Internet of Things

Page 21: Y4IT - Technology Trends And The Skills You Should Learn
Page 22: Y4IT - Technology Trends And The Skills You Should Learn

embedded in everything

Page 23: Y4IT - Technology Trends And The Skills You Should Learn

interconnected devices, complex networks, massive data

Page 24: Y4IT - Technology Trends And The Skills You Should Learn

Applications

Page 25: Y4IT - Technology Trends And The Skills You Should Learn

Skills

Web Services Other important specializations:

– Embedded devices (esp. sensors)• Any CoE, ECE, EEE students out there?• C/C++; Linux

– Cloud Computing & Big Data– Business Intelligence

Page 26: Y4IT - Technology Trends And The Skills You Should Learn

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

Page 27: Y4IT - Technology Trends And The Skills You Should Learn

Agile Software Development

Common 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)

Page 28: Y4IT - Technology Trends And The Skills You Should Learn

Skills

Where to start?– Read on “Extreme Programming”

Other important topics:– Test-Driven Development– Domain-Driven Development– Design Patterns– 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

Page 29: Y4IT - Technology Trends And The Skills You Should Learn

How about Mobile?

Rapid obsolescence of mobile platforms– Palm, J2ME, Symbian, Blackberry...

Businesses value server-side more– More investment on server-side, higher

value of server-side developers Convergence of client-side development on

Javascript and HTML5

Page 30: Y4IT - Technology Trends And The Skills You Should Learn

Skills

Develop server-side skills as well– Multi-user, thread-safe, scalable, separation

of concerns Consider Javascript & HTML5 over

platform-specific technology– Check PhoneGap

Page 31: Y4IT - Technology Trends And The Skills You Should Learn

How about Games?

Platform-specific / company-specific skills– Difficult to transfer skills across companies

Local game dev companies tend to be small and unstable

– Still no EA, Activision or Nintendo locally– Limited outsourcing activity

• Because of fragmented platforms

Page 32: Y4IT - Technology Trends And The Skills You Should Learn

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

Page 33: Y4IT - Technology Trends And The Skills You Should Learn

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

Page 34: Y4IT - Technology Trends And The Skills You Should Learn

On top three...

Java & C# offer most flexible opportunities.Highly transferable skills

Useful for both web and mobile

Java → platform independence

C/C++ work tends to be proprietaryLocally, most work is device drivers

Not suitable for web / mobile / enterprise

Entrepreneurial opportunities in embedded devices

• internet of things

Page 35: Y4IT - Technology Trends And The Skills You Should Learn

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

Page 36: Y4IT - Technology Trends And The Skills You Should Learn

Enterprise Development

- Thread-safety

- Separation of concerns

- Domain Driven Design

- MVC and other enterprise patterns

Page 37: Y4IT - Technology Trends And The Skills You Should Learn

What is

Page 38: Y4IT - Technology Trends And The Skills You Should Learn

Vision

To create a Filipino technology company admired by the world.

Page 39: Y4IT - Technology Trends And The Skills You Should Learn

Vision

Contribute to rebuilding the Filipino technology community.

Page 40: Y4IT - Technology Trends And The Skills You Should Learn

Software Development & Design Clients

Offshore Philippines

Page 41: Y4IT - Technology Trends And The Skills You Should Learn

Training & Coaching Clients

Page 42: Y4IT - Technology Trends And The Skills You Should Learn

Other Activities

• Start-up incubation• Sponsorship of

technology events and organizations

• Industry-Academe Linkage

– Conducting teacher training

– Advising CHED, TESDA and PSITE

• Scholarships (soon)

Page 43: Y4IT - Technology Trends And The Skills You Should Learn

Tiger Awards 2011Kuala Lumpur

most productive investment in workforce; from staff training to social responsibility

Page 44: Y4IT - Technology Trends And The Skills You Should Learn

Partners

Page 45: Y4IT - Technology Trends And The Skills You Should Learn

Employment & Internship

- Best developer training program in the country

- Highest engineering standards

- Excellent trainers and mentors

- Challenging projects

- Technopreneurship programs

Page 46: Y4IT - Technology Trends And The Skills You Should Learn

jobs @ orangeandbronze.com

ojt @ orangeandbronze.com