SlideShare a Scribd company logo
1 of 27
Download to read offline
9/3/19
1
WORKSHOP
TECHNICAL SKILLS 4 SE
2019
Nguyễn Thanh Phước
About “NGUYEN THANH PHUOC”
• 19 Software Development
• 15 Trainer
• 10 Software Engineer
• 08 Software Architect
• 06 Project Manager
• 04 Quality Specialist
2
9/3/19
2
Nội dung SHARING
1. Dự báo công nghệ phát triển phần mềm
– Developer Survey Results 2018
– CES 2019 Tech Trends
– 10 Trends in the Software Industry
2. Giải pháp công nghệ “HOT”
– Giải pháp Frontend tại GRAB
– SMACT (Mobile - Social - Analytic - Cloud - IoT)
3. Kỹ sư phát triển phần mềm 2019
4. Kỹ thuật “CODING”
3
1
Dự báo công nghệ
phát triển phần mềm 2019
9/3/19
3
> a. Developer Survey Results 2018
5
Ø Công nghệ MOST POPULAR
TECH
– Programming, Scripting Markup
and Languages
– Database
> Developer Survey Results 2018
6
Ø Công nghệ MOST POPULAR
TECH
– Framework Library and Tools
– Platforms
9/3/19
4
> Developer Survey Results 2018
7
Ø Công nghệ đang LOVED
– Languages – Framework Library and Tools
> Developer Survey Results 2018
8
Ø Công nghệ đang LOVED
– Database – Platforms
9/3/19
5
> Developer Survey Results 2018
9
Ø Công nghệ đang DREADED
– Languages – Database
> Developer Survey Results 2018
10
Ø Công nghệ đang DREADED
– Platforms
9/3/19
6
> Developer Survey Results 2018
11
Ø Công nghệ đang WANTED
– Languages
– Database
– Framework & Libraries
– Platforms
> Developer Survey Results 2018
12
Ø IDE & Tools
– Web Developer
– Mobile Developer
9/3/19
7
> Developer Survey Results 2018
13
Ø IDE & Tools (tt)
– Sysadmin/DevOps
> Developer Survey Results 2018
14
ü Language: Java, JavaScript, HTML5, CSS3 and
C#, Python
ü Database: MySQL, SQL Lite, MongoDB and
SQL Server
ü Platform: Window, Linux, AWS, Docker and
Virtual Box
ü Framework: Node.js, Bootstrap, jQuery,
Angular, Spring Boot and Spring.io
ü IDE: Atom, Android Studio, Visual Studio
Code, Eclipse, Astah UML Tool and NetBeans
ü Management Tools: GitHub, Redmine
(Source: https://insights.stackoverflow.com/survey/2018/#technology)
9/3/19
8
> b. CES 2019 Tech Trends
15
> b. CES 2019 Tech Trends
16
1. 5G Networks
2. AI
3. Autonomous Devices
4. Blockchain
5. Augmented Analytics (ChatBot)
6. Digital Twins
7. Enhanced Edge Computing
8. Immersive Experiences in Smart
Spaces
9. Digital Ethics and Privacy
Source: https://www.bbva.com/en/nine-technology-trends-in-2019
9/3/19
9
> b. CES 2019 Tech Trends
17
> b. CES 2019 Tech Trends
18
Source:
https://www.slideshare.net/squishygorilla/ces-
2019-technolody-trends?from_action=save
More at
https://www2.deloitte.com/content/dam/insights
/us/articles/Tech-Trends-
2019/DI_TechTrends2019.pdf
9/3/19
10
> c. Top 10 Trends in the Software Industry
19
1. Artificial Intelligence
2. Blockchain
3. Low Code Development
4. Code Quality
5. Language Trends
6. Progressive web applications
7. Cybersecurity
8. Outsourcing
9. IoT
10.The Mixed Reality - augmented reality (AR)
and virtual reality (VR)
Source: https://hackernoon.com/20-top-software-outsourcing-companies-2a0d1078836f
2
Giải pháp công nghệ “HOT”
9/3/19
11
> Frontend at GRAB Solution
21
1. Single-page Application (SPAs)
2. New-age JavaScript
3. User Interface
4. State Management
5. Coding with Style
6. Maintainability (Testing, Linting
JavaScript, Linting CSS, Types)
7. Build System
8. Package Management
Source: https://engineering.grab.com/grabs-front-end-study-
guide#single-page-apps-spas
> Frontend at GRAB Solution
22
1.Single-page Application (SPAs)
ü The benefits
– Users do not see the flash between
page navigations
– Fewer HTTP requests are needed
to the server
– Clear separation of the concerns
between the client and the server;
you can easily build new clients for
different platforms (e.g. mobile,
chatbots, smart watches) without
having to modify the server code
ü The downsides
- Heavier initial page load
- There’s an additional step to
be done on your server
which is to configure it to
route all requests to a single
entry point
- SPAs are reliant on JavaScript
to render content, but not all
search engines execute
JavaScript during crawling
(SEO)
9/3/19
12
> Frontend at GRAB Solution
23
2. New-age JavaScript
ü JavaScript is an incredibly versatile language which you can also use to
build web servers, native mobile apps and desktop apps
ü JavaScript has suddenly seen a huge burst of improvements within a short span
of time. In 2015, ECMAScript 2015 (previously called ECMAScript 6) was
released and a ton of syntactic constructs were introduced to make writing
code less unwieldy
> Frontend at GRAB Solution
24
3. User Interface – React
ü Declarative
ü Functional
ü Maintainable
ü High Performance
ü Ease of Learning
ü Developer Experience
ü Alternatives
• Angular, Ember
• Vue, Cycle
9/3/19
13
> Frontend at GRAB Solution
25
4. State Management (Flux, Redux)
– The Flux
– Redux: Redux combines the ideas from Flux, Command
pattern and Elm architecture and is the de facto state management
library developers use with React these days. Its core concepts are
• App state is described by a single plain old JavaScript
object (POJO)
• Dispatch an action (also a POJO) to modify the state
• Reducer is a pure function that takes in current state
and action to produce a new state
> Frontend at GRAB Solution
26
4. State Management (Flux, Redux)
– The Flux
– Redux: they are really powerful as they enable
apps to:
• Have their state rendered on the server,
booted up on the client.
• Trace, log and backtrack changes in the
whole app
• Implement undo/redo functionality easily.
– While Redux does necessarily have to be used
with React, Angular 6
9/3/19
14
> Frontend at GRAB Solution
27
5. Coding with Style (CSS Module)
– To guide people on how to write organized CSS for
complex projects, such as using SMACSS, BEM,
SUIT CSS.
– CSS modules is an improvement over existing CSS
that aims to fix the problem of global namespace in
CSS
> Frontend at GRAB Solution
28
6. Maintainability (Testing, Linting JavaScript, Linting CSS,
Types)
– Testing - Jest + Enzyme
• Jest is a testing library by Facebook that aims to make the process of testing pain-
free
• Jest and Enzyme makes writing front end tests fun and easy.
• Estimated Duration: 2-3 days. Try writing Jest + Enzyme tests for your React + Redux
app!
– Linting JavaScript – ESLint
• A linter is a tool to statically analyze code and finds problems with them, potentially
preventing bugs/runtime errors and at the same time, enforcing a coding style
• Estimated Duration: 1/2 day. Nothing much to learn here. Add ESLint to your project
and fix the linting errors!
9/3/19
15
> Frontend at GRAB Solution
29
6. Maintainability (Testing, Linting JavaScript, Linting CSS, Types)
– Linting CSS - stylelint
• Stylelint is currently being used by big companies like Facebook, GitHub and Wordpress
• Estimated Duration: 1/2 day. Nothing much to learn here. Add stylelint to your project and
fix the linting errors!
– Types – (Flow or TypeScript)
• Static typing brings about many benefits when writing apps. They can catch common bugs
and errors in your code early.
• Types also serve as a form of documentation for your code and improves the readability of
your code. As a code base grows larger, we see the importance of types as they gives us
greater confidence when we do refactoring.
• It is also easier to onboard new members of the team to the project when it is clear what
kind of values each object holds and what each function expects.
> Frontend at GRAB Solution
30
7. Build System – webpack
– webpack is a module bundler that compiles a front
end project and its dependencies into a final bundle to
be served to users
– projects will already have the webpack configuration
set up and developers rarely have to change it
– Estimated Duration: 2 days (Optional).
9/3/19
16
> Frontend at GRAB Solution
31
8. Package Management – Yarn
– When you have multiple projects, these packages are duplicated
across each project and they are largely similar. Each time you run
npm install in a new project, these packages are downloaded
over and over again even though they already exist in some other
project in your computer.
– Some of our CI builds fail because at the point of time when the CI
server installs the dependencies, it pulled in minor updates to
some packages that contained breaking changes.
– Estimated Duration: 2 hours.
> Frontend at GRAB Solution
32
1. Single-page Application (SPAs)
2. New-age JavaScript - ES5 and ES2015 (3 – 4 days)
3. User Interface - React (3 - 4 days)
4. State Management – Redux ( 4 days)
5. Coding with Style - CSS Modules (3 – 4 days)
6. Maintainability (5 days)
– Jest + Enzyme (2 - 3 days)
– Linting JavaScript ESLint (1/2 day)
– Linting CSS – stylelint (1/2 day)
– Types – Flow (1 day)
7. Build System – webpack (2 day)
8. Package Management – yarn (2 hours)
Source: https://engineering.grab.com/grabs-front-end-
study-guide#single-page-apps-spas
9/3/19
17
> SMAC-I Application
33
> SMAC-I Application
34
9/3/19
18
SOLUTIONS
2. Giải pháp công nghệ
“HOT”
Ø Giải pháp Frontend tại
GRAB
Ø SMACI (Mobile - Social -
Analytic - Cloud - IoT)
35
36
3
Kỹ sư phát triển phần mềm
9/3/19
19
> SE Job Title in Outsource Software
37
> Methodology > SW Design Methods
38
9/3/19
20
> Methodology > SW Programming Methods
39
> Methodology > SW Requirement Analysis
40
9/3/19
21
> Methodology > SW Development
41
> Joe Test: 12 Steps to Better
1. Do you use source control?
2. Can you make a build in one step?
3. Do you make daily builds?
4. Do you have a bug database?
5. Do you fix bugs before writing new code?
6. Do you have an up-to-date schedule?
7. Do you have a spec?
8. Do programmers have quiet working conditions? -
9. Do you use the best tools money can buy? -
10. Do you have testers?
11. Do new candidates write code during their interview?
12. Do you do hallway usability testing?
42
https://www.joelonsoftware.com/2000
/08/09/the-joel-test-12-steps-to-better-
code/
9/3/19
22
> ”CHÚNG TA” cần chuẩn bị gì?
43
https://github.com/kamranahmedse/dev
eloper-roadmap#-frontend-roadmap
Web Developer DevOps Back End Front End
3. What skills do
you learn or
improve?
1. What do you
want?
2. What job do
you select?
JOBs SKILLsYOU
> ”CHÚNG TA” cần chuẩn bị gì?
9/3/19
23
1. What do you want?
• High salary
• Onsite at US, Japan
• Clearly career path, Fast-track career
• Nice & modern offices, Multinational company, Company
culture, Good profile
• Comprehensively equipped to work effectively
• High and new technology
• Big partner ...
• Automotive
• Industrial
• Consumer
• Mobile
• Detailed/concept design
• 2D drafting/tolerance calculation
• 3D model, rendering
• CAD conversion/Migration
• Register-transfer level verification
• Circuit design
• Physical Design
• PCB Design
2. What job do you select?
46
Automotive BFSI – Bank, Finance CME Supply Chain Utilities
• Application Dev &
Maintenance;
• AMS;
• Call center
• Application
Remediation;
• ERP Implementation:
SAP, MS Dynamics;
• DMS;
• Notes Migration;
• Cloud Transition ;
• Mainframe
Modernization;
• SW Testing;
• Test Automation;
• Embedded Testing;
• Mobile Handset & App
Testing;
• Compatibility;
Cloud Professional
Services
• Consulting;
• Cloudification;
• Saasification;
• Cloud Product Development;
• Cloud Testing;
• Managed Service;
Analytics
• Prediction engine;
• Computer vision and pattern
recognition;
• Speech analytics & NLP;
• Behavior analytics;
• Data Visualization;
• Data warehousing, ETL, BI
IoT
• Monitoring and Analytics
• Machines Management
• Gateway application
Mobility
• Consulting
• Technology evaluation
• UI/UX analysis & design
• Device Management
• App Development
• Testing
Embedded Systems CAD/CAM IC Design
Application Services Biz Application
Services
Legacy Migration TCOE BPO
Traditional
Services
Digital-Age
Services
Product
Engineering
• Data Process;
• Contact Center;
• Engine learning data
creation;
• Construction CAD/CAM;
• HTML Creation
9/3/19
24
3. What skills do you learn or improve?
• What skills do you have
– Problem Solving Communication
– Teamwork Research new technology
– Information TechnologyEnglish etc.,
• Make a plan, monitor and adjust
• How to get it
– At University
– Activities at ICT companies: Internship, seminar, tech talk, …
– Online at MOOC site (Mass Online Open Course)
– Friends
– Social Network
Fpoly Developer là AI?
• Điểm yếu:
– Nhút nhát, Thiếu kỹ lưỡng
– Thiếu kiến thức è làm trễ cũng không báo
– Không báo cáo tiến độ khi thực hiện Task
– Sản phẩm kém chất lượng nhiều bug
– Sẵn sàng OT mặc dù ko cần thiết
• Điểm mạnh
– Dễ dàng uống nắn và đào tạo
– Có sức khoẻ
48
9/3/19
25
4
Kỹ thuật ”CODING”
> CODING
50
ü Coding Process
§ Code => Unit Test => Self
Review => Peer Review
ü Coding Refactoring
§ Refactoring Improving the
Design of Existing Code
ü Coding Review by Checklist
§ Java
§ Android
ü Coding Convention
§ Java
§ TypeScript
ü Coding OOP Tech
§ OOP
§ SOLID Principle
§ Design pattern
9/3/19
26
> CODING
51
ü Coding OOP Tech
§ OOP
§ SOLID
Principle
§ Design
Pattern
Tổng kết WORKSHOP
1. Dự báo công nghệ phát triển phần mềm
– Developer Survey Results 2018
– CES 2019 Tech Trends
– 10 Trends in the Software Industry
2. Giải pháp công nghệ “HOT”
– Giải pháp Frontend tại GRAB
– SMACi (Mobile - Social - Analytic - Cloud - IoT)
3. Kỹ sư phát triển phần mềm 2019
4. Kỹ thuật “CODING”
52
9/3/19
27
Thank you

More Related Content

What's hot

PMI-ACP: Domain 5 - Adaptive planning-v2.2_lite_4_78_pages
PMI-ACP: Domain 5 - Adaptive planning-v2.2_lite_4_78_pagesPMI-ACP: Domain 5 - Adaptive planning-v2.2_lite_4_78_pages
PMI-ACP: Domain 5 - Adaptive planning-v2.2_lite_4_78_pagesPhuocNT (Fresher.VN)
 
PMI-ACP Domain V: Adaptive Planning v1.0
PMI-ACP Domain V: Adaptive Planning v1.0PMI-ACP Domain V: Adaptive Planning v1.0
PMI-ACP Domain V: Adaptive Planning v1.0PhuocNT (Fresher.VN)
 
PMI-ACP Domain VII - Continuous Improvement v1.0
PMI-ACP Domain VII - Continuous Improvement v1.0PMI-ACP Domain VII - Continuous Improvement v1.0
PMI-ACP Domain VII - Continuous Improvement v1.0PhuocNT (Fresher.VN)
 
Agile project management
Agile project management Agile project management
Agile project management Bimba Pawar
 
PMI-ACP: Domain 2 - Value-driven_delivery_v2.2_lite_4_54_pages
PMI-ACP: Domain 2 - Value-driven_delivery_v2.2_lite_4_54_pagesPMI-ACP: Domain 2 - Value-driven_delivery_v2.2_lite_4_54_pages
PMI-ACP: Domain 2 - Value-driven_delivery_v2.2_lite_4_54_pagesPhuocNT (Fresher.VN)
 
PMI-ACP: Domain 1 - Agile principles and mindset-v2.2_lite_2_84_pages
PMI-ACP: Domain 1 - Agile principles and mindset-v2.2_lite_2_84_pagesPMI-ACP: Domain 1 - Agile principles and mindset-v2.2_lite_2_84_pages
PMI-ACP: Domain 1 - Agile principles and mindset-v2.2_lite_2_84_pagesPhuocNT (Fresher.VN)
 
PMI-ACP: Domain 2 - Value-driven_delivery_v2.2_lite_2_54_pages
PMI-ACP: Domain 2 - Value-driven_delivery_v2.2_lite_2_54_pagesPMI-ACP: Domain 2 - Value-driven_delivery_v2.2_lite_2_54_pages
PMI-ACP: Domain 2 - Value-driven_delivery_v2.2_lite_2_54_pagesPhuocNT (Fresher.VN)
 
Agile Project Management: Introduction to AGILE - The Basic 101
Agile Project Management: Introduction to AGILE - The Basic 101Agile Project Management: Introduction to AGILE - The Basic 101
Agile Project Management: Introduction to AGILE - The Basic 101Nurul Haszeli Ahmad
 
Unit2 scheduling wbs_network Management
Unit2 scheduling wbs_network Management Unit2 scheduling wbs_network Management
Unit2 scheduling wbs_network Management Reetesh Gupta
 
PMI-ACP: Domain 7 Continuous improvement-v2.2_lite_2
PMI-ACP: Domain 7 Continuous improvement-v2.2_lite_2PMI-ACP: Domain 7 Continuous improvement-v2.2_lite_2
PMI-ACP: Domain 7 Continuous improvement-v2.2_lite_2PhuocNT (Fresher.VN)
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software EngineeringFáber D. Giraldo
 
PMI-ACP: Domain 7 - Continuous Improvement-v2.2_lite_4
PMI-ACP: Domain 7 - Continuous Improvement-v2.2_lite_4PMI-ACP: Domain 7 - Continuous Improvement-v2.2_lite_4
PMI-ACP: Domain 7 - Continuous Improvement-v2.2_lite_4PhuocNT (Fresher.VN)
 
Unit2 scheduling wbs_network
Unit2 scheduling wbs_networkUnit2 scheduling wbs_network
Unit2 scheduling wbs_networkReetesh Gupta
 
PMI-ACP: Domain 1 - Agile principles and mindset-v2.2_lite_4_84_pages
PMI-ACP: Domain 1 - Agile principles and mindset-v2.2_lite_4_84_pagesPMI-ACP: Domain 1 - Agile principles and mindset-v2.2_lite_4_84_pages
PMI-ACP: Domain 1 - Agile principles and mindset-v2.2_lite_4_84_pagesPhuocNT (Fresher.VN)
 
Top 10 Microsoft Project Problems
Top 10 Microsoft Project ProblemsTop 10 Microsoft Project Problems
Top 10 Microsoft Project ProblemsMark Corker
 
PMI - ACP: Domain 6 - Problem Detection and resolution-v2.2_lite_4_60_pages
PMI - ACP: Domain 6 - Problem Detection and resolution-v2.2_lite_4_60_pagesPMI - ACP: Domain 6 - Problem Detection and resolution-v2.2_lite_4_60_pages
PMI - ACP: Domain 6 - Problem Detection and resolution-v2.2_lite_4_60_pagesPhuocNT (Fresher.VN)
 
Ms project 2010 tutorial 2
Ms project 2010 tutorial   2Ms project 2010 tutorial   2
Ms project 2010 tutorial 2learningquotient
 
The Effective Management of Time
The Effective Management of TimeThe Effective Management of Time
The Effective Management of TimeInSync Conference
 

What's hot (20)

PMI-ACP: Domain 5 - Adaptive planning-v2.2_lite_4_78_pages
PMI-ACP: Domain 5 - Adaptive planning-v2.2_lite_4_78_pagesPMI-ACP: Domain 5 - Adaptive planning-v2.2_lite_4_78_pages
PMI-ACP: Domain 5 - Adaptive planning-v2.2_lite_4_78_pages
 
PMI-ACP Domain V: Adaptive Planning v1.0
PMI-ACP Domain V: Adaptive Planning v1.0PMI-ACP Domain V: Adaptive Planning v1.0
PMI-ACP Domain V: Adaptive Planning v1.0
 
Scrum Framework 2021_4
Scrum Framework 2021_4Scrum Framework 2021_4
Scrum Framework 2021_4
 
PMI-ACP Domain VII - Continuous Improvement v1.0
PMI-ACP Domain VII - Continuous Improvement v1.0PMI-ACP Domain VII - Continuous Improvement v1.0
PMI-ACP Domain VII - Continuous Improvement v1.0
 
Agile project management
Agile project management Agile project management
Agile project management
 
PMI-ACP: Domain 2 - Value-driven_delivery_v2.2_lite_4_54_pages
PMI-ACP: Domain 2 - Value-driven_delivery_v2.2_lite_4_54_pagesPMI-ACP: Domain 2 - Value-driven_delivery_v2.2_lite_4_54_pages
PMI-ACP: Domain 2 - Value-driven_delivery_v2.2_lite_4_54_pages
 
PMI-ACP: Domain 1 - Agile principles and mindset-v2.2_lite_2_84_pages
PMI-ACP: Domain 1 - Agile principles and mindset-v2.2_lite_2_84_pagesPMI-ACP: Domain 1 - Agile principles and mindset-v2.2_lite_2_84_pages
PMI-ACP: Domain 1 - Agile principles and mindset-v2.2_lite_2_84_pages
 
PMI-ACP: Domain 2 - Value-driven_delivery_v2.2_lite_2_54_pages
PMI-ACP: Domain 2 - Value-driven_delivery_v2.2_lite_2_54_pagesPMI-ACP: Domain 2 - Value-driven_delivery_v2.2_lite_2_54_pages
PMI-ACP: Domain 2 - Value-driven_delivery_v2.2_lite_2_54_pages
 
Agile Project Management: Introduction to AGILE - The Basic 101
Agile Project Management: Introduction to AGILE - The Basic 101Agile Project Management: Introduction to AGILE - The Basic 101
Agile Project Management: Introduction to AGILE - The Basic 101
 
Unit2 scheduling wbs_network Management
Unit2 scheduling wbs_network Management Unit2 scheduling wbs_network Management
Unit2 scheduling wbs_network Management
 
PMI-ACP: Domain 7 Continuous improvement-v2.2_lite_2
PMI-ACP: Domain 7 Continuous improvement-v2.2_lite_2PMI-ACP: Domain 7 Continuous improvement-v2.2_lite_2
PMI-ACP: Domain 7 Continuous improvement-v2.2_lite_2
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software Engineering
 
PMI-ACP: Domain 7 - Continuous Improvement-v2.2_lite_4
PMI-ACP: Domain 7 - Continuous Improvement-v2.2_lite_4PMI-ACP: Domain 7 - Continuous Improvement-v2.2_lite_4
PMI-ACP: Domain 7 - Continuous Improvement-v2.2_lite_4
 
Unit2 scheduling wbs_network
Unit2 scheduling wbs_networkUnit2 scheduling wbs_network
Unit2 scheduling wbs_network
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 
PMI-ACP: Domain 1 - Agile principles and mindset-v2.2_lite_4_84_pages
PMI-ACP: Domain 1 - Agile principles and mindset-v2.2_lite_4_84_pagesPMI-ACP: Domain 1 - Agile principles and mindset-v2.2_lite_4_84_pages
PMI-ACP: Domain 1 - Agile principles and mindset-v2.2_lite_4_84_pages
 
Top 10 Microsoft Project Problems
Top 10 Microsoft Project ProblemsTop 10 Microsoft Project Problems
Top 10 Microsoft Project Problems
 
PMI - ACP: Domain 6 - Problem Detection and resolution-v2.2_lite_4_60_pages
PMI - ACP: Domain 6 - Problem Detection and resolution-v2.2_lite_4_60_pagesPMI - ACP: Domain 6 - Problem Detection and resolution-v2.2_lite_4_60_pages
PMI - ACP: Domain 6 - Problem Detection and resolution-v2.2_lite_4_60_pages
 
Ms project 2010 tutorial 2
Ms project 2010 tutorial   2Ms project 2010 tutorial   2
Ms project 2010 tutorial 2
 
The Effective Management of Time
The Effective Management of TimeThe Effective Management of Time
The Effective Management of Time
 

Similar to Workshop About Software Engineering Skills 2019

Meetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleMeetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleIT Arena
 
Angular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - LinagoraAngular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - LinagoraLINAGORA
 
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdf
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdfAstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdf
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdfFarHanWasif1
 
Latest trends in information technology
Latest trends in information technologyLatest trends in information technology
Latest trends in information technologyEldos Kuriakose
 
Marvin AI - Uma plataforma de código aberto para implementar e gerenciar mode...
Marvin AI - Uma plataforma de código aberto para implementar e gerenciar mode...Marvin AI - Uma plataforma de código aberto para implementar e gerenciar mode...
Marvin AI - Uma plataforma de código aberto para implementar e gerenciar mode...Daniel Takabayashi, MSc
 
Architecting an ASP.NET MVC Solution
Architecting an ASP.NET MVC SolutionArchitecting an ASP.NET MVC Solution
Architecting an ASP.NET MVC SolutionAndrea Saltarello
 
Software development in the modern age
Software development in the modern ageSoftware development in the modern age
Software development in the modern ageRoy Wasse
 
English Resume - Glaucia Lemos
English Resume - Glaucia LemosEnglish Resume - Glaucia Lemos
English Resume - Glaucia LemosGlaucia Lemos
 
AngularJS in Production (CTO Forum)
AngularJS in Production (CTO Forum)AngularJS in Production (CTO Forum)
AngularJS in Production (CTO Forum)Alex Ross
 
Stacker's the way you connect the world .pptx
Stacker's the way you connect the world .pptxStacker's the way you connect the world .pptx
Stacker's the way you connect the world .pptxBOBY RISHABH KUMAR SHARMA
 
Best Practices - By Lofi Dewanto
Best Practices - By Lofi DewantoBest Practices - By Lofi Dewanto
Best Practices - By Lofi DewantoGWTcon
 
Luna - How to build and maintain a github project
Luna  - How to build and maintain a github projectLuna  - How to build and maintain a github project
Luna - How to build and maintain a github projectPanayiotis Arvanitis
 
Software Development Practices.pdf
Software Development Practices.pdfSoftware Development Practices.pdf
Software Development Practices.pdfEzhumalai p
 
Web Development and Web Development technologies - Temitayo Fadojutimi
Web Development and Web Development technologies - Temitayo FadojutimiWeb Development and Web Development technologies - Temitayo Fadojutimi
Web Development and Web Development technologies - Temitayo FadojutimiTemitayo Fadojutimi
 
Portable Code Compiler
Portable Code CompilerPortable Code Compiler
Portable Code Compilerijtsrd
 

Similar to Workshop About Software Engineering Skills 2019 (20)

Meetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech PeopleMeetup. Technologies Intro for Non-Tech People
Meetup. Technologies Intro for Non-Tech People
 
Kunal bhatia resume mass
Kunal bhatia   resume massKunal bhatia   resume mass
Kunal bhatia resume mass
 
Angular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - LinagoraAngular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - Linagora
 
Gajendra_RESUME
Gajendra_RESUMEGajendra_RESUME
Gajendra_RESUME
 
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdf
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdfAstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdf
AstroLabs_Academy_Learning_to_Code-Coding_Bootcamp_Day1.pdf
 
Latest trends in information technology
Latest trends in information technologyLatest trends in information technology
Latest trends in information technology
 
Marvin AI - Uma plataforma de código aberto para implementar e gerenciar mode...
Marvin AI - Uma plataforma de código aberto para implementar e gerenciar mode...Marvin AI - Uma plataforma de código aberto para implementar e gerenciar mode...
Marvin AI - Uma plataforma de código aberto para implementar e gerenciar mode...
 
Architecting an ASP.NET MVC Solution
Architecting an ASP.NET MVC SolutionArchitecting an ASP.NET MVC Solution
Architecting an ASP.NET MVC Solution
 
Software development in the modern age
Software development in the modern ageSoftware development in the modern age
Software development in the modern age
 
English Resume - Glaucia Lemos
English Resume - Glaucia LemosEnglish Resume - Glaucia Lemos
English Resume - Glaucia Lemos
 
AngularJS in Production (CTO Forum)
AngularJS in Production (CTO Forum)AngularJS in Production (CTO Forum)
AngularJS in Production (CTO Forum)
 
Stacker's the way you connect the world .pptx
Stacker's the way you connect the world .pptxStacker's the way you connect the world .pptx
Stacker's the way you connect the world .pptx
 
Best Practices - By Lofi Dewanto
Best Practices - By Lofi DewantoBest Practices - By Lofi Dewanto
Best Practices - By Lofi Dewanto
 
Luna - How to build and maintain a github project
Luna  - How to build and maintain a github projectLuna  - How to build and maintain a github project
Luna - How to build and maintain a github project
 
Spm file33
Spm file33Spm file33
Spm file33
 
Software Development Practices.pdf
Software Development Practices.pdfSoftware Development Practices.pdf
Software Development Practices.pdf
 
MERN PPT
MERN PPTMERN PPT
MERN PPT
 
TRWResume-10-2016
TRWResume-10-2016TRWResume-10-2016
TRWResume-10-2016
 
Web Development and Web Development technologies - Temitayo Fadojutimi
Web Development and Web Development technologies - Temitayo FadojutimiWeb Development and Web Development technologies - Temitayo Fadojutimi
Web Development and Web Development technologies - Temitayo Fadojutimi
 
Portable Code Compiler
Portable Code CompilerPortable Code Compiler
Portable Code Compiler
 

More from PhuocNT (Fresher.VN)

PMI - ACP: Domain 6 - Problem Detection and resolution-v2.2_lite_2_60_pages
PMI - ACP: Domain 6 - Problem Detection and resolution-v2.2_lite_2_60_pagesPMI - ACP: Domain 6 - Problem Detection and resolution-v2.2_lite_2_60_pages
PMI - ACP: Domain 6 - Problem Detection and resolution-v2.2_lite_2_60_pagesPhuocNT (Fresher.VN)
 
PMI-ACP: Domain 4 - Team performance-v2.2_lite_4_pages
PMI-ACP: Domain 4 - Team performance-v2.2_lite_4_pagesPMI-ACP: Domain 4 - Team performance-v2.2_lite_4_pages
PMI-ACP: Domain 4 - Team performance-v2.2_lite_4_pagesPhuocNT (Fresher.VN)
 
PMI-ACP: Domain 4 - Team performance-v2.2_lite_2_56_pages
PMI-ACP: Domain 4 - Team performance-v2.2_lite_2_56_pagesPMI-ACP: Domain 4 - Team performance-v2.2_lite_2_56_pages
PMI-ACP: Domain 4 - Team performance-v2.2_lite_2_56_pagesPhuocNT (Fresher.VN)
 
PMI-ACP: Domain 3 - Stakeholder engagement-v2.2_lite_4_46_pages
PMI-ACP: Domain 3 - Stakeholder engagement-v2.2_lite_4_46_pagesPMI-ACP: Domain 3 - Stakeholder engagement-v2.2_lite_4_46_pages
PMI-ACP: Domain 3 - Stakeholder engagement-v2.2_lite_4_46_pagesPhuocNT (Fresher.VN)
 
PMI-ACP: Domain 3 - Stakeholder engagement-v2.2_lite_2_46_pages
PMI-ACP: Domain 3 - Stakeholder engagement-v2.2_lite_2_46_pagesPMI-ACP: Domain 3 - Stakeholder engagement-v2.2_lite_2_46_pages
PMI-ACP: Domain 3 - Stakeholder engagement-v2.2_lite_2_46_pagesPhuocNT (Fresher.VN)
 
PMI-ACP Domain VI: Problem Detection and Resolution v1.0
PMI-ACP Domain VI: Problem Detection and Resolution v1.0PMI-ACP Domain VI: Problem Detection and Resolution v1.0
PMI-ACP Domain VI: Problem Detection and Resolution v1.0PhuocNT (Fresher.VN)
 
PMI-ACP Domain IV: Team Performance v1.0
PMI-ACP Domain IV: Team Performance v1.0PMI-ACP Domain IV: Team Performance v1.0
PMI-ACP Domain IV: Team Performance v1.0PhuocNT (Fresher.VN)
 
PMI-PMP6 Lecture 02: Project Management Framework_v1.0
PMI-PMP6 Lecture 02: Project Management Framework_v1.0PMI-PMP6 Lecture 02: Project Management Framework_v1.0
PMI-PMP6 Lecture 02: Project Management Framework_v1.0PhuocNT (Fresher.VN)
 
PMI-ACP: Domain II - Value Driven Delivery v1.0
PMI-ACP: Domain II - Value Driven Delivery v1.0PMI-ACP: Domain II - Value Driven Delivery v1.0
PMI-ACP: Domain II - Value Driven Delivery v1.0PhuocNT (Fresher.VN)
 

More from PhuocNT (Fresher.VN) (11)

PMI - ACP: Domain 6 - Problem Detection and resolution-v2.2_lite_2_60_pages
PMI - ACP: Domain 6 - Problem Detection and resolution-v2.2_lite_2_60_pagesPMI - ACP: Domain 6 - Problem Detection and resolution-v2.2_lite_2_60_pages
PMI - ACP: Domain 6 - Problem Detection and resolution-v2.2_lite_2_60_pages
 
PMI-ACP: Domain 4 - Team performance-v2.2_lite_4_pages
PMI-ACP: Domain 4 - Team performance-v2.2_lite_4_pagesPMI-ACP: Domain 4 - Team performance-v2.2_lite_4_pages
PMI-ACP: Domain 4 - Team performance-v2.2_lite_4_pages
 
PMI-ACP: Domain 4 - Team performance-v2.2_lite_2_56_pages
PMI-ACP: Domain 4 - Team performance-v2.2_lite_2_56_pagesPMI-ACP: Domain 4 - Team performance-v2.2_lite_2_56_pages
PMI-ACP: Domain 4 - Team performance-v2.2_lite_2_56_pages
 
PMI-ACP: Domain 3 - Stakeholder engagement-v2.2_lite_4_46_pages
PMI-ACP: Domain 3 - Stakeholder engagement-v2.2_lite_4_46_pagesPMI-ACP: Domain 3 - Stakeholder engagement-v2.2_lite_4_46_pages
PMI-ACP: Domain 3 - Stakeholder engagement-v2.2_lite_4_46_pages
 
PMI-ACP: Domain 3 - Stakeholder engagement-v2.2_lite_2_46_pages
PMI-ACP: Domain 3 - Stakeholder engagement-v2.2_lite_2_46_pagesPMI-ACP: Domain 3 - Stakeholder engagement-v2.2_lite_2_46_pages
PMI-ACP: Domain 3 - Stakeholder engagement-v2.2_lite_2_46_pages
 
PMI-ACP: 100 Agile Software Tools
PMI-ACP: 100 Agile Software ToolsPMI-ACP: 100 Agile Software Tools
PMI-ACP: 100 Agile Software Tools
 
PMI-ACP Domain VI: Problem Detection and Resolution v1.0
PMI-ACP Domain VI: Problem Detection and Resolution v1.0PMI-ACP Domain VI: Problem Detection and Resolution v1.0
PMI-ACP Domain VI: Problem Detection and Resolution v1.0
 
PMI-ACP Domain IV: Team Performance v1.0
PMI-ACP Domain IV: Team Performance v1.0PMI-ACP Domain IV: Team Performance v1.0
PMI-ACP Domain IV: Team Performance v1.0
 
PMI-PMP6 Lecture 02: Project Management Framework_v1.0
PMI-PMP6 Lecture 02: Project Management Framework_v1.0PMI-PMP6 Lecture 02: Project Management Framework_v1.0
PMI-PMP6 Lecture 02: Project Management Framework_v1.0
 
PMI-ACP: Domain II - Value Driven Delivery v1.0
PMI-ACP: Domain II - Value Driven Delivery v1.0PMI-ACP: Domain II - Value Driven Delivery v1.0
PMI-ACP: Domain II - Value Driven Delivery v1.0
 
Agile Infographic 02
Agile Infographic 02Agile Infographic 02
Agile Infographic 02
 

Recently uploaded

Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 

Recently uploaded (20)

Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 

Workshop About Software Engineering Skills 2019

  • 1. 9/3/19 1 WORKSHOP TECHNICAL SKILLS 4 SE 2019 Nguyễn Thanh Phước About “NGUYEN THANH PHUOC” • 19 Software Development • 15 Trainer • 10 Software Engineer • 08 Software Architect • 06 Project Manager • 04 Quality Specialist 2
  • 2. 9/3/19 2 Nội dung SHARING 1. Dự báo công nghệ phát triển phần mềm – Developer Survey Results 2018 – CES 2019 Tech Trends – 10 Trends in the Software Industry 2. Giải pháp công nghệ “HOT” – Giải pháp Frontend tại GRAB – SMACT (Mobile - Social - Analytic - Cloud - IoT) 3. Kỹ sư phát triển phần mềm 2019 4. Kỹ thuật “CODING” 3 1 Dự báo công nghệ phát triển phần mềm 2019
  • 3. 9/3/19 3 > a. Developer Survey Results 2018 5 Ø Công nghệ MOST POPULAR TECH – Programming, Scripting Markup and Languages – Database > Developer Survey Results 2018 6 Ø Công nghệ MOST POPULAR TECH – Framework Library and Tools – Platforms
  • 4. 9/3/19 4 > Developer Survey Results 2018 7 Ø Công nghệ đang LOVED – Languages – Framework Library and Tools > Developer Survey Results 2018 8 Ø Công nghệ đang LOVED – Database – Platforms
  • 5. 9/3/19 5 > Developer Survey Results 2018 9 Ø Công nghệ đang DREADED – Languages – Database > Developer Survey Results 2018 10 Ø Công nghệ đang DREADED – Platforms
  • 6. 9/3/19 6 > Developer Survey Results 2018 11 Ø Công nghệ đang WANTED – Languages – Database – Framework & Libraries – Platforms > Developer Survey Results 2018 12 Ø IDE & Tools – Web Developer – Mobile Developer
  • 7. 9/3/19 7 > Developer Survey Results 2018 13 Ø IDE & Tools (tt) – Sysadmin/DevOps > Developer Survey Results 2018 14 ü Language: Java, JavaScript, HTML5, CSS3 and C#, Python ü Database: MySQL, SQL Lite, MongoDB and SQL Server ü Platform: Window, Linux, AWS, Docker and Virtual Box ü Framework: Node.js, Bootstrap, jQuery, Angular, Spring Boot and Spring.io ü IDE: Atom, Android Studio, Visual Studio Code, Eclipse, Astah UML Tool and NetBeans ü Management Tools: GitHub, Redmine (Source: https://insights.stackoverflow.com/survey/2018/#technology)
  • 8. 9/3/19 8 > b. CES 2019 Tech Trends 15 > b. CES 2019 Tech Trends 16 1. 5G Networks 2. AI 3. Autonomous Devices 4. Blockchain 5. Augmented Analytics (ChatBot) 6. Digital Twins 7. Enhanced Edge Computing 8. Immersive Experiences in Smart Spaces 9. Digital Ethics and Privacy Source: https://www.bbva.com/en/nine-technology-trends-in-2019
  • 9. 9/3/19 9 > b. CES 2019 Tech Trends 17 > b. CES 2019 Tech Trends 18 Source: https://www.slideshare.net/squishygorilla/ces- 2019-technolody-trends?from_action=save More at https://www2.deloitte.com/content/dam/insights /us/articles/Tech-Trends- 2019/DI_TechTrends2019.pdf
  • 10. 9/3/19 10 > c. Top 10 Trends in the Software Industry 19 1. Artificial Intelligence 2. Blockchain 3. Low Code Development 4. Code Quality 5. Language Trends 6. Progressive web applications 7. Cybersecurity 8. Outsourcing 9. IoT 10.The Mixed Reality - augmented reality (AR) and virtual reality (VR) Source: https://hackernoon.com/20-top-software-outsourcing-companies-2a0d1078836f 2 Giải pháp công nghệ “HOT”
  • 11. 9/3/19 11 > Frontend at GRAB Solution 21 1. Single-page Application (SPAs) 2. New-age JavaScript 3. User Interface 4. State Management 5. Coding with Style 6. Maintainability (Testing, Linting JavaScript, Linting CSS, Types) 7. Build System 8. Package Management Source: https://engineering.grab.com/grabs-front-end-study- guide#single-page-apps-spas > Frontend at GRAB Solution 22 1.Single-page Application (SPAs) ü The benefits – Users do not see the flash between page navigations – Fewer HTTP requests are needed to the server – Clear separation of the concerns between the client and the server; you can easily build new clients for different platforms (e.g. mobile, chatbots, smart watches) without having to modify the server code ü The downsides - Heavier initial page load - There’s an additional step to be done on your server which is to configure it to route all requests to a single entry point - SPAs are reliant on JavaScript to render content, but not all search engines execute JavaScript during crawling (SEO)
  • 12. 9/3/19 12 > Frontend at GRAB Solution 23 2. New-age JavaScript ü JavaScript is an incredibly versatile language which you can also use to build web servers, native mobile apps and desktop apps ü JavaScript has suddenly seen a huge burst of improvements within a short span of time. In 2015, ECMAScript 2015 (previously called ECMAScript 6) was released and a ton of syntactic constructs were introduced to make writing code less unwieldy > Frontend at GRAB Solution 24 3. User Interface – React ü Declarative ü Functional ü Maintainable ü High Performance ü Ease of Learning ü Developer Experience ü Alternatives • Angular, Ember • Vue, Cycle
  • 13. 9/3/19 13 > Frontend at GRAB Solution 25 4. State Management (Flux, Redux) – The Flux – Redux: Redux combines the ideas from Flux, Command pattern and Elm architecture and is the de facto state management library developers use with React these days. Its core concepts are • App state is described by a single plain old JavaScript object (POJO) • Dispatch an action (also a POJO) to modify the state • Reducer is a pure function that takes in current state and action to produce a new state > Frontend at GRAB Solution 26 4. State Management (Flux, Redux) – The Flux – Redux: they are really powerful as they enable apps to: • Have their state rendered on the server, booted up on the client. • Trace, log and backtrack changes in the whole app • Implement undo/redo functionality easily. – While Redux does necessarily have to be used with React, Angular 6
  • 14. 9/3/19 14 > Frontend at GRAB Solution 27 5. Coding with Style (CSS Module) – To guide people on how to write organized CSS for complex projects, such as using SMACSS, BEM, SUIT CSS. – CSS modules is an improvement over existing CSS that aims to fix the problem of global namespace in CSS > Frontend at GRAB Solution 28 6. Maintainability (Testing, Linting JavaScript, Linting CSS, Types) – Testing - Jest + Enzyme • Jest is a testing library by Facebook that aims to make the process of testing pain- free • Jest and Enzyme makes writing front end tests fun and easy. • Estimated Duration: 2-3 days. Try writing Jest + Enzyme tests for your React + Redux app! – Linting JavaScript – ESLint • A linter is a tool to statically analyze code and finds problems with them, potentially preventing bugs/runtime errors and at the same time, enforcing a coding style • Estimated Duration: 1/2 day. Nothing much to learn here. Add ESLint to your project and fix the linting errors!
  • 15. 9/3/19 15 > Frontend at GRAB Solution 29 6. Maintainability (Testing, Linting JavaScript, Linting CSS, Types) – Linting CSS - stylelint • Stylelint is currently being used by big companies like Facebook, GitHub and Wordpress • Estimated Duration: 1/2 day. Nothing much to learn here. Add stylelint to your project and fix the linting errors! – Types – (Flow or TypeScript) • Static typing brings about many benefits when writing apps. They can catch common bugs and errors in your code early. • Types also serve as a form of documentation for your code and improves the readability of your code. As a code base grows larger, we see the importance of types as they gives us greater confidence when we do refactoring. • It is also easier to onboard new members of the team to the project when it is clear what kind of values each object holds and what each function expects. > Frontend at GRAB Solution 30 7. Build System – webpack – webpack is a module bundler that compiles a front end project and its dependencies into a final bundle to be served to users – projects will already have the webpack configuration set up and developers rarely have to change it – Estimated Duration: 2 days (Optional).
  • 16. 9/3/19 16 > Frontend at GRAB Solution 31 8. Package Management – Yarn – When you have multiple projects, these packages are duplicated across each project and they are largely similar. Each time you run npm install in a new project, these packages are downloaded over and over again even though they already exist in some other project in your computer. – Some of our CI builds fail because at the point of time when the CI server installs the dependencies, it pulled in minor updates to some packages that contained breaking changes. – Estimated Duration: 2 hours. > Frontend at GRAB Solution 32 1. Single-page Application (SPAs) 2. New-age JavaScript - ES5 and ES2015 (3 – 4 days) 3. User Interface - React (3 - 4 days) 4. State Management – Redux ( 4 days) 5. Coding with Style - CSS Modules (3 – 4 days) 6. Maintainability (5 days) – Jest + Enzyme (2 - 3 days) – Linting JavaScript ESLint (1/2 day) – Linting CSS – stylelint (1/2 day) – Types – Flow (1 day) 7. Build System – webpack (2 day) 8. Package Management – yarn (2 hours) Source: https://engineering.grab.com/grabs-front-end- study-guide#single-page-apps-spas
  • 17. 9/3/19 17 > SMAC-I Application 33 > SMAC-I Application 34
  • 18. 9/3/19 18 SOLUTIONS 2. Giải pháp công nghệ “HOT” Ø Giải pháp Frontend tại GRAB Ø SMACI (Mobile - Social - Analytic - Cloud - IoT) 35 36 3 Kỹ sư phát triển phần mềm
  • 19. 9/3/19 19 > SE Job Title in Outsource Software 37 > Methodology > SW Design Methods 38
  • 20. 9/3/19 20 > Methodology > SW Programming Methods 39 > Methodology > SW Requirement Analysis 40
  • 21. 9/3/19 21 > Methodology > SW Development 41 > Joe Test: 12 Steps to Better 1. Do you use source control? 2. Can you make a build in one step? 3. Do you make daily builds? 4. Do you have a bug database? 5. Do you fix bugs before writing new code? 6. Do you have an up-to-date schedule? 7. Do you have a spec? 8. Do programmers have quiet working conditions? - 9. Do you use the best tools money can buy? - 10. Do you have testers? 11. Do new candidates write code during their interview? 12. Do you do hallway usability testing? 42 https://www.joelonsoftware.com/2000 /08/09/the-joel-test-12-steps-to-better- code/
  • 22. 9/3/19 22 > ”CHÚNG TA” cần chuẩn bị gì? 43 https://github.com/kamranahmedse/dev eloper-roadmap#-frontend-roadmap Web Developer DevOps Back End Front End 3. What skills do you learn or improve? 1. What do you want? 2. What job do you select? JOBs SKILLsYOU > ”CHÚNG TA” cần chuẩn bị gì?
  • 23. 9/3/19 23 1. What do you want? • High salary • Onsite at US, Japan • Clearly career path, Fast-track career • Nice & modern offices, Multinational company, Company culture, Good profile • Comprehensively equipped to work effectively • High and new technology • Big partner ... • Automotive • Industrial • Consumer • Mobile • Detailed/concept design • 2D drafting/tolerance calculation • 3D model, rendering • CAD conversion/Migration • Register-transfer level verification • Circuit design • Physical Design • PCB Design 2. What job do you select? 46 Automotive BFSI – Bank, Finance CME Supply Chain Utilities • Application Dev & Maintenance; • AMS; • Call center • Application Remediation; • ERP Implementation: SAP, MS Dynamics; • DMS; • Notes Migration; • Cloud Transition ; • Mainframe Modernization; • SW Testing; • Test Automation; • Embedded Testing; • Mobile Handset & App Testing; • Compatibility; Cloud Professional Services • Consulting; • Cloudification; • Saasification; • Cloud Product Development; • Cloud Testing; • Managed Service; Analytics • Prediction engine; • Computer vision and pattern recognition; • Speech analytics & NLP; • Behavior analytics; • Data Visualization; • Data warehousing, ETL, BI IoT • Monitoring and Analytics • Machines Management • Gateway application Mobility • Consulting • Technology evaluation • UI/UX analysis & design • Device Management • App Development • Testing Embedded Systems CAD/CAM IC Design Application Services Biz Application Services Legacy Migration TCOE BPO Traditional Services Digital-Age Services Product Engineering • Data Process; • Contact Center; • Engine learning data creation; • Construction CAD/CAM; • HTML Creation
  • 24. 9/3/19 24 3. What skills do you learn or improve? • What skills do you have – Problem Solving Communication – Teamwork Research new technology – Information TechnologyEnglish etc., • Make a plan, monitor and adjust • How to get it – At University – Activities at ICT companies: Internship, seminar, tech talk, … – Online at MOOC site (Mass Online Open Course) – Friends – Social Network Fpoly Developer là AI? • Điểm yếu: – Nhút nhát, Thiếu kỹ lưỡng – Thiếu kiến thức è làm trễ cũng không báo – Không báo cáo tiến độ khi thực hiện Task – Sản phẩm kém chất lượng nhiều bug – Sẵn sàng OT mặc dù ko cần thiết • Điểm mạnh – Dễ dàng uống nắn và đào tạo – Có sức khoẻ 48
  • 25. 9/3/19 25 4 Kỹ thuật ”CODING” > CODING 50 ü Coding Process § Code => Unit Test => Self Review => Peer Review ü Coding Refactoring § Refactoring Improving the Design of Existing Code ü Coding Review by Checklist § Java § Android ü Coding Convention § Java § TypeScript ü Coding OOP Tech § OOP § SOLID Principle § Design pattern
  • 26. 9/3/19 26 > CODING 51 ü Coding OOP Tech § OOP § SOLID Principle § Design Pattern Tổng kết WORKSHOP 1. Dự báo công nghệ phát triển phần mềm – Developer Survey Results 2018 – CES 2019 Tech Trends – 10 Trends in the Software Industry 2. Giải pháp công nghệ “HOT” – Giải pháp Frontend tại GRAB – SMACi (Mobile - Social - Analytic - Cloud - IoT) 3. Kỹ sư phát triển phần mềm 2019 4. Kỹ thuật “CODING” 52