y4it - technology trends and the skills you should learn
Post on 05-Dec-2014
1.951 Views
Preview:
DESCRIPTION
TRANSCRIPT
Technology Trendsand the skills you should learn
for your career or technopreneurship
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
It's a great time to be a developer
What could they have done with the technology you have today?
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 ServicesWeb Services or “Open APIs”
- Third-party developers can build applications that interface with these.
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
Infrastructure-as-a-Service (IaaS)
Remote infrastructure- servers, storage, support, virtualization...
- fast scaling / auto-scaling
- 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)
Setting up your own platform
Deploying on your own platform
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 ThingsThings
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 ThingsThe Internet of Things
embedded in everything
interconnected devices, complex networks, massive data
Applications
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
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 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)
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
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
Skills
Develop server-side skills as well– Multi-user, thread-safe, scalable, separation
of concerns Consider Javascript & HTML5 over
platform-specific technology– Check PhoneGap
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
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.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
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
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 Linkage
– Conducting teacher training
– Advising CHED, TESDA and PSITE
• Scholarships (soon)
Tiger Awards 2011Kuala Lumpur
most productive investment in workforce; from staff training to social responsibility
Partners
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
top related