SlideShare a Scribd company logo
Software Engineering
INDUSTRY TRENDS AND PRACTICES
Alfred Jett Grandeza
Founder, Leangineer @ Lean Consulting
leanconsulting.ph | ajgrandeza.com | github.com/grandezaaj
About Me
•Graduate of Ateneo de Davao, Computer Science 2012
•Over 5 years of software engineering experience, .NET and AngularJS
•Former CTO of T.H.E. Patrons
•Co-founder of Lean Consulting/Lean Academy
•Microsoft Technology Associate (2)
•Member of Davao .NET Community (Davao .NET Users Group, Philippine .NET Users Group)
•I do consulting and freelance work from clients overseas
•Advocate of .NET Technologies
•I LOVE TO LEARN!
Lean Consulting
• Davao based start-up
• Founded: February 2016
• Lean Academy SOON!
• More info:
• leanconsulting.ph
• fb.com/leanconsutling.ph
Disclaimer
• Contents are half opinionated, half backed by studies
• I’ll be talking mostly from my experience – as a Developer and a Startup founder
• Mostly in the Object Oriented point of view
Industry Trends
POPULAR PROGRAMMING LANGUAGES
Image from Coding Dojo
http://www.codingdojo.com/blog/9-most-in-
demand-programming-languages-of-2016/
It’s a good time to be a C# Developer
• Microsoft is moving towards open source
• .NET Core
• https://github.com/dotnet/core
• Visual Studio Code
• Runs on Linux, Mac and Windows
• Xamarin for Cross platform mobile development
• Using C#
• iOS, Android and Windows Phone and Mac OS
• Microsoft has been a supporting other open source frameworks such as AngularJS
• Azure supports different distribution of Linux and other open source frameworks (also PHP)
The rise of JavaScript
The rise of JavaScript
• Your website sucks without JavaScript
• JS Frameworks make your website powerful
• JavaScript conquered the Web
• Now its taking over other areas
• Mobile
• PhoneGap, Ionic, Sencha Touch, jQuery Mobile and many more
• Server Side Applications
• Node JS
Single Page Applications
• SPAs are web apps that load a single HTML page and dynamically that page as the user interacts
• Much of the work happen in the client side
• Usually written in JavaScript
SPA Lifecycle
TypeScript
•Open source programming language
• Developed and maintained by Microsoft
• A superset of JavaScript
• Transpiles to plain JavaScript
• Strongly typed
• Class based / OOP approach
• Learn more:
• http://www.typescriptlang.org/Playground
Image from: https://weblogs.asp.net/dwahlin/getting-started-with-typescript-classes-static-types-and-interfaces
Best Practices
SOFTWARE DEVELOPMENT APPROACHES
Agile Software Development
• a set of principles for software development
• collaborative effort
• Adaptive
• Iterative
Agile Methods & Practices
• Extreme Programming
• Lean Software Development
• Kanban
• Scrum
• Test driven development
• Domain Driven Design
Domain Driven Design
• DDD is an approach to software development
• Focuses on the complexity of the business domain
• Distinguishes core domain (unique to the business) from supporting sub domains
Why is DDD important?
• Helps you (Developer) understand more about the business
• Helps all of the stakeholders the needs of the business
• All stakeholders will be communicating in one language
Test Driven Development
• is a software development process
• relies on the repetition of a very short cycle
Why use TDD?
• Better understanding of your code and requirements
• Speeds up development
• By limiting bugs in QA phase
• Cleaner code
• Saves business’ money
S.O.L.I.D. Principles
• Basic principles which help you create good software architecture
• Acronym for
• Single Responsibility Principle
• Open Closed Principle
• Liskov Substitution Principle
• Interface Segregation Principle
• Dependency Inversion Principle
Single Responsibility Principle
• A class should have one responsibility only
• Separation of concerns
Open Closed Principle
• Open for extension
• extend existing code
• Close for modification
• Once a function or class or an entity has been developed and tested, it should only be modified to fix
bugs
Liskov Substitution Principle
• objects in a program should be replaceable with instances of their subtypes without altering the
correctness of that program
• A parent class object should be able to refer child objects seamlessly during runtime
polymorphism
Interface Segregation Principle
• many client-specific interfaces are better than one general-purpose interface
• client should not be forced to use a interface if it does not need it.
Dependency Inversion Principle
• Depend on abstractions, not on concretions
Continuous Integration
• is a practice of merging all developer working copies
• Best practices
• Automated tests
• Automated builds
• Self-testing builds
• Test in a clone of production environment
• Automated Deployment
Other Important topics
• Version Control (Git, SVN)
• Design Patterns
• Defensive Programming
• Information Security
• Debugging
• Understanding someone else’s code
• Rest Web Services
Lean’s Internal Process
PRACTICES AND TOOLS
Project Flow
Wireframing tools
• Balsamiq
• Show sample
Project Management & Communication Tools
• Trello.com for Tasks
• visualstudio.com for Code Repository
• Slack for Communication
• show sample
Frameworks & IDEs
• Visual Studio 2015 Community Edition
• MS SQL Express 2016
• ASP.NET Web API 2.0
• Angular JS 1.X
• Entity Framework 6
Recommended books
Upcoming Events
Events
• Davao MSDN Session #2
• Oct 22, 2016
• 3rd floor, Topaz Tower, Damosa IT Park, Gluon, Inc
• fb.com/events/323740844652839/
• Lean Academy
• Oct 29, 2016
Thank you for listening!
ANY QUESTIONS? 

More Related Content

What's hot

Ajax Usability for AjaxWorld
Ajax Usability for AjaxWorldAjax Usability for AjaxWorld
Ajax Usability for AjaxWorld
AndreCharland
 
Resume Pritesh Gandhi
Resume Pritesh GandhiResume Pritesh Gandhi
Resume Pritesh Gandhi
Pritesh Gandhi
 
Bipin Pradhan UX & UI Designer
Bipin Pradhan UX & UI DesignerBipin Pradhan UX & UI Designer
Bipin Pradhan UX & UI Designer
Bipin Pradhan
 
[DevDay2018] High quality mindset in software development - By: Phat Vu, Scru...
[DevDay2018] High quality mindset in software development - By: Phat Vu, Scru...[DevDay2018] High quality mindset in software development - By: Phat Vu, Scru...
[DevDay2018] High quality mindset in software development - By: Phat Vu, Scru...
DevDay.org
 
Low Code Capabilities of Digital Product Design Platforms
Low Code Capabilities of Digital Product Design PlatformsLow Code Capabilities of Digital Product Design Platforms
Low Code Capabilities of Digital Product Design Platforms
JohnMcGuigan10
 
RAVI BHUSHAN
RAVI BHUSHANRAVI BHUSHAN
RAVI BHUSHAN
Ravi Bhushan
 
Agile in UX
Agile in UXAgile in UX
Agile in UX
Forecast
 
S smith ux 2017.2
S smith ux 2017.2S smith ux 2017.2
S smith ux 2017.2
Susan Smith
 
SHER SINGH OLAHAN RESUME (1)
SHER SINGH OLAHAN RESUME (1)SHER SINGH OLAHAN RESUME (1)
SHER SINGH OLAHAN RESUME (1)Sher Singh Olahan
 
UXD's process
UXD's processUXD's process
UXD's process
Arvind Tadimalla
 
Resume_Brijesh_Pavith
Resume_Brijesh_PavithResume_Brijesh_Pavith
Resume_Brijesh_Pavithbeeemused
 
How Invision Help Designers
How Invision Help DesignersHow Invision Help Designers
How Invision Help DesignersAhmed Badran
 
Shifting code informational meeting. 12.19.11
Shifting code informational meeting. 12.19.11Shifting code informational meeting. 12.19.11
Shifting code informational meeting. 12.19.11AnnArborSPARK
 
Faizan Atiq Resume
Faizan Atiq ResumeFaizan Atiq Resume

What's hot (20)

Ajax Usability for AjaxWorld
Ajax Usability for AjaxWorldAjax Usability for AjaxWorld
Ajax Usability for AjaxWorld
 
Mohan Resume
Mohan ResumeMohan Resume
Mohan Resume
 
ImthiyazAli_Resume
ImthiyazAli_ResumeImthiyazAli_Resume
ImthiyazAli_Resume
 
Resume Pritesh Gandhi
Resume Pritesh GandhiResume Pritesh Gandhi
Resume Pritesh Gandhi
 
Bipin Pradhan UX & UI Designer
Bipin Pradhan UX & UI DesignerBipin Pradhan UX & UI Designer
Bipin Pradhan UX & UI Designer
 
Nikhil_Resume_2016
Nikhil_Resume_2016Nikhil_Resume_2016
Nikhil_Resume_2016
 
[DevDay2018] High quality mindset in software development - By: Phat Vu, Scru...
[DevDay2018] High quality mindset in software development - By: Phat Vu, Scru...[DevDay2018] High quality mindset in software development - By: Phat Vu, Scru...
[DevDay2018] High quality mindset in software development - By: Phat Vu, Scru...
 
Low Code Capabilities of Digital Product Design Platforms
Low Code Capabilities of Digital Product Design PlatformsLow Code Capabilities of Digital Product Design Platforms
Low Code Capabilities of Digital Product Design Platforms
 
RAVI BHUSHAN
RAVI BHUSHANRAVI BHUSHAN
RAVI BHUSHAN
 
Infosys
InfosysInfosys
Infosys
 
Agile in UX
Agile in UXAgile in UX
Agile in UX
 
S smith ux 2017.2
S smith ux 2017.2S smith ux 2017.2
S smith ux 2017.2
 
CV_Aditi
CV_AditiCV_Aditi
CV_Aditi
 
SHER SINGH OLAHAN RESUME (1)
SHER SINGH OLAHAN RESUME (1)SHER SINGH OLAHAN RESUME (1)
SHER SINGH OLAHAN RESUME (1)
 
UXD's process
UXD's processUXD's process
UXD's process
 
Resume_Brijesh_Pavith
Resume_Brijesh_PavithResume_Brijesh_Pavith
Resume_Brijesh_Pavith
 
How Invision Help Designers
How Invision Help DesignersHow Invision Help Designers
How Invision Help Designers
 
Shifting code informational meeting. 12.19.11
Shifting code informational meeting. 12.19.11Shifting code informational meeting. 12.19.11
Shifting code informational meeting. 12.19.11
 
Faizan Atiq Resume
Faizan Atiq ResumeFaizan Atiq Resume
Faizan Atiq Resume
 
Hardik Senjalia QA Resume
Hardik Senjalia QA ResumeHardik Senjalia QA Resume
Hardik Senjalia QA Resume
 

Viewers also liked

Software Engineering Trends: Vision from Paul Nielsen, SEI
Software Engineering Trends: Vision from Paul Nielsen, SEISoftware Engineering Trends: Vision from Paul Nielsen, SEI
Software Engineering Trends: Vision from Paul Nielsen, SEI
Strongstep - Innovation in software quality
 
WCP Software Industry Trends H1 2013
WCP Software Industry Trends H1 2013WCP Software Industry Trends H1 2013
WCP Software Industry Trends H1 2013
WoodsideCapital
 
Software development fundamentals
Software development fundamentalsSoftware development fundamentals
Software development fundamentals
Alfred Jett Grandeza
 
Group 8 presentation_metrics_for_object_oriented_system
Group 8 presentation_metrics_for_object_oriented_systemGroup 8 presentation_metrics_for_object_oriented_system
Group 8 presentation_metrics_for_object_oriented_system
Hung Ho Ngoc
 
Software Testing Trends & Transformation, Vaidyanathan Ramalingam Director En...
Software Testing Trends & Transformation, Vaidyanathan Ramalingam Director En...Software Testing Trends & Transformation, Vaidyanathan Ramalingam Director En...
Software Testing Trends & Transformation, Vaidyanathan Ramalingam Director En...
Skills2Talent (Integrated Talent Management and L&D Software - Hire to ROI)
 
Your First Step To The Software Industry
Your First Step To The Software IndustryYour First Step To The Software Industry
Your First Step To The Software Industry
APPSeCONNECT
 
A Validation of Object-Oriented Design Metrics as Quality Indicators
A Validation of Object-Oriented Design Metrics as Quality IndicatorsA Validation of Object-Oriented Design Metrics as Quality Indicators
A Validation of Object-Oriented Design Metrics as Quality Indicatorsvie_dels
 
OO Metrics
OO MetricsOO Metrics
OO Metrics
skmetz
 
Object-Oriented Metrics in Practice
Object-Oriented Metrics in PracticeObject-Oriented Metrics in Practice
Object-Oriented Metrics in Practice
Michele Lanza
 
In English: Latest Trends in Software Engineering ( Yazılım Mühendisliğinde S...
In English: Latest Trends in Software Engineering (Yazılım Mühendisliğinde S...In English: Latest Trends in Software Engineering (Yazılım Mühendisliğinde S...
In English: Latest Trends in Software Engineering ( Yazılım Mühendisliğinde S...
Vahid Garousi
 
Current trends in software engineering
Current trends in software engineeringCurrent trends in software engineering
Current trends in software engineering
brra51
 
Software Engineering Trends: Vision from Prof. Raul Vidal (FEUP)
Software Engineering Trends: Vision from Prof. Raul Vidal (FEUP)Software Engineering Trends: Vision from Prof. Raul Vidal (FEUP)
Software Engineering Trends: Vision from Prof. Raul Vidal (FEUP)
Strongstep - Innovation in software quality
 
Lawyers and Social Media in 2016
Lawyers and Social Media in 2016Lawyers and Social Media in 2016
Lawyers and Social Media in 2016
MyCase Legal Case and Practice Management Software
 
How To Embed SlideShare Shows Into WordPress.com
How To Embed SlideShare Shows Into WordPress.comHow To Embed SlideShare Shows Into WordPress.com
How To Embed SlideShare Shows Into WordPress.comKathy Gill
 
What’s new in VS 2017?
What’s new in VS 2017?What’s new in VS 2017?
What’s new in VS 2017?
Alfred Jett Grandeza
 
Testing Metrics
Testing MetricsTesting Metrics
Testing Metrics
PM Venkatesha Babu
 

Viewers also liked (16)

Software Engineering Trends: Vision from Paul Nielsen, SEI
Software Engineering Trends: Vision from Paul Nielsen, SEISoftware Engineering Trends: Vision from Paul Nielsen, SEI
Software Engineering Trends: Vision from Paul Nielsen, SEI
 
WCP Software Industry Trends H1 2013
WCP Software Industry Trends H1 2013WCP Software Industry Trends H1 2013
WCP Software Industry Trends H1 2013
 
Software development fundamentals
Software development fundamentalsSoftware development fundamentals
Software development fundamentals
 
Group 8 presentation_metrics_for_object_oriented_system
Group 8 presentation_metrics_for_object_oriented_systemGroup 8 presentation_metrics_for_object_oriented_system
Group 8 presentation_metrics_for_object_oriented_system
 
Software Testing Trends & Transformation, Vaidyanathan Ramalingam Director En...
Software Testing Trends & Transformation, Vaidyanathan Ramalingam Director En...Software Testing Trends & Transformation, Vaidyanathan Ramalingam Director En...
Software Testing Trends & Transformation, Vaidyanathan Ramalingam Director En...
 
Your First Step To The Software Industry
Your First Step To The Software IndustryYour First Step To The Software Industry
Your First Step To The Software Industry
 
A Validation of Object-Oriented Design Metrics as Quality Indicators
A Validation of Object-Oriented Design Metrics as Quality IndicatorsA Validation of Object-Oriented Design Metrics as Quality Indicators
A Validation of Object-Oriented Design Metrics as Quality Indicators
 
OO Metrics
OO MetricsOO Metrics
OO Metrics
 
Object-Oriented Metrics in Practice
Object-Oriented Metrics in PracticeObject-Oriented Metrics in Practice
Object-Oriented Metrics in Practice
 
In English: Latest Trends in Software Engineering ( Yazılım Mühendisliğinde S...
In English: Latest Trends in Software Engineering (Yazılım Mühendisliğinde S...In English: Latest Trends in Software Engineering (Yazılım Mühendisliğinde S...
In English: Latest Trends in Software Engineering ( Yazılım Mühendisliğinde S...
 
Current trends in software engineering
Current trends in software engineeringCurrent trends in software engineering
Current trends in software engineering
 
Software Engineering Trends: Vision from Prof. Raul Vidal (FEUP)
Software Engineering Trends: Vision from Prof. Raul Vidal (FEUP)Software Engineering Trends: Vision from Prof. Raul Vidal (FEUP)
Software Engineering Trends: Vision from Prof. Raul Vidal (FEUP)
 
Lawyers and Social Media in 2016
Lawyers and Social Media in 2016Lawyers and Social Media in 2016
Lawyers and Social Media in 2016
 
How To Embed SlideShare Shows Into WordPress.com
How To Embed SlideShare Shows Into WordPress.comHow To Embed SlideShare Shows Into WordPress.com
How To Embed SlideShare Shows Into WordPress.com
 
What’s new in VS 2017?
What’s new in VS 2017?What’s new in VS 2017?
What’s new in VS 2017?
 
Testing Metrics
Testing MetricsTesting Metrics
Testing Metrics
 

Similar to Software Engineering - Trends & Industry Practices

Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
Ahmet Bulut
 
ALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the Cloud
Jeremy Likness
 
Webcast Presentation: Increasing Product Quality through DevOps
Webcast Presentation: Increasing Product Quality through DevOpsWebcast Presentation: Increasing Product Quality through DevOps
Webcast Presentation: Increasing Product Quality through DevOps
GRUC
 
Optimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best PracticesOptimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best Practices
Teamstudio
 
Branding office 365 with front end tooling
Branding office 365 with front end toolingBranding office 365 with front end tooling
Branding office 365 with front end tooling
Thomas Daly
 
Progettare la propria strategia di BPM per Alfresco Process Services
Progettare la propria strategia di BPM per Alfresco Process ServicesProgettare la propria strategia di BPM per Alfresco Process Services
Progettare la propria strategia di BPM per Alfresco Process Services
Commit University
 
Design your own BPM Program Strategy with Alfresco Process Services
Design your own BPM Program Strategy with Alfresco Process ServicesDesign your own BPM Program Strategy with Alfresco Process Services
Design your own BPM Program Strategy with Alfresco Process Services
Piergiorgio Lucidi
 
Career Options for CS/IT/IS graduates
Career Options for CS/IT/IS graduatesCareer Options for CS/IT/IS graduates
Career Options for CS/IT/IS graduates
Alfred Jett Grandeza
 
Lifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and SolutionsLifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and Solutions
SPC Adriatics
 
Kevin Whinnery: Best Practices for Cross-Platform Mobile Development
Kevin Whinnery: Best Practices for Cross-Platform Mobile DevelopmentKevin Whinnery: Best Practices for Cross-Platform Mobile Development
Kevin Whinnery: Best Practices for Cross-Platform Mobile Development
Axway Appcelerator
 
Agile
AgileAgile
Lean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersLean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill Ayers
SPC Adriatics
 
"X" Driven-Development Methodologies
"X" Driven-Development Methodologies"X" Driven-Development Methodologies
"X" Driven-Development Methodologies
Damian T. Gordon
 
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Phil Leggetter
 
Enterprise PHP
Enterprise PHPEnterprise PHP
Enterprise PHP
Mohammad Emran Hasan
 
Branding Office 365 w/ Front End Tools + SharePoint PnP
Branding Office 365 w/ Front End Tools + SharePoint PnPBranding Office 365 w/ Front End Tools + SharePoint PnP
Branding Office 365 w/ Front End Tools + SharePoint PnP
Thomas Daly
 
Web frameworks
Web frameworksWeb frameworks
Web frameworks
Arafat Hossan
 
Agile Software Development and DevOps 21092019
Agile Software Development and DevOps 21092019Agile Software Development and DevOps 21092019
Agile Software Development and DevOps 21092019
Ahmed Misbah
 
Prototyping like it is 2022
Prototyping like it is 2022 Prototyping like it is 2022
Prototyping like it is 2022
Michael Yagudaev
 
Continuous Integration In A PHP World
Continuous Integration In A PHP WorldContinuous Integration In A PHP World
Continuous Integration In A PHP WorldIdaf_1er
 

Similar to Software Engineering - Trends & Industry Practices (20)

Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
ALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the CloudALM with TFS: From the Drawing Board to the Cloud
ALM with TFS: From the Drawing Board to the Cloud
 
Webcast Presentation: Increasing Product Quality through DevOps
Webcast Presentation: Increasing Product Quality through DevOpsWebcast Presentation: Increasing Product Quality through DevOps
Webcast Presentation: Increasing Product Quality through DevOps
 
Optimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best PracticesOptimus XPages: An Explosion of Techniques and Best Practices
Optimus XPages: An Explosion of Techniques and Best Practices
 
Branding office 365 with front end tooling
Branding office 365 with front end toolingBranding office 365 with front end tooling
Branding office 365 with front end tooling
 
Progettare la propria strategia di BPM per Alfresco Process Services
Progettare la propria strategia di BPM per Alfresco Process ServicesProgettare la propria strategia di BPM per Alfresco Process Services
Progettare la propria strategia di BPM per Alfresco Process Services
 
Design your own BPM Program Strategy with Alfresco Process Services
Design your own BPM Program Strategy with Alfresco Process ServicesDesign your own BPM Program Strategy with Alfresco Process Services
Design your own BPM Program Strategy with Alfresco Process Services
 
Career Options for CS/IT/IS graduates
Career Options for CS/IT/IS graduatesCareer Options for CS/IT/IS graduates
Career Options for CS/IT/IS graduates
 
Lifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and SolutionsLifecycle Management with SharePoint Apps and Solutions
Lifecycle Management with SharePoint Apps and Solutions
 
Kevin Whinnery: Best Practices for Cross-Platform Mobile Development
Kevin Whinnery: Best Practices for Cross-Platform Mobile DevelopmentKevin Whinnery: Best Practices for Cross-Platform Mobile Development
Kevin Whinnery: Best Practices for Cross-Platform Mobile Development
 
Agile
AgileAgile
Agile
 
Lean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersLean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill Ayers
 
"X" Driven-Development Methodologies
"X" Driven-Development Methodologies"X" Driven-Development Methodologies
"X" Driven-Development Methodologies
 
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
 
Enterprise PHP
Enterprise PHPEnterprise PHP
Enterprise PHP
 
Branding Office 365 w/ Front End Tools + SharePoint PnP
Branding Office 365 w/ Front End Tools + SharePoint PnPBranding Office 365 w/ Front End Tools + SharePoint PnP
Branding Office 365 w/ Front End Tools + SharePoint PnP
 
Web frameworks
Web frameworksWeb frameworks
Web frameworks
 
Agile Software Development and DevOps 21092019
Agile Software Development and DevOps 21092019Agile Software Development and DevOps 21092019
Agile Software Development and DevOps 21092019
 
Prototyping like it is 2022
Prototyping like it is 2022 Prototyping like it is 2022
Prototyping like it is 2022
 
Continuous Integration In A PHP World
Continuous Integration In A PHP WorldContinuous Integration In A PHP World
Continuous Integration In A PHP World
 

Recently uploaded

GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 

Recently uploaded (20)

GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 

Software Engineering - Trends & Industry Practices

  • 1. Software Engineering INDUSTRY TRENDS AND PRACTICES Alfred Jett Grandeza Founder, Leangineer @ Lean Consulting leanconsulting.ph | ajgrandeza.com | github.com/grandezaaj
  • 2. About Me •Graduate of Ateneo de Davao, Computer Science 2012 •Over 5 years of software engineering experience, .NET and AngularJS •Former CTO of T.H.E. Patrons •Co-founder of Lean Consulting/Lean Academy •Microsoft Technology Associate (2) •Member of Davao .NET Community (Davao .NET Users Group, Philippine .NET Users Group) •I do consulting and freelance work from clients overseas •Advocate of .NET Technologies •I LOVE TO LEARN!
  • 3. Lean Consulting • Davao based start-up • Founded: February 2016 • Lean Academy SOON! • More info: • leanconsulting.ph • fb.com/leanconsutling.ph
  • 4. Disclaimer • Contents are half opinionated, half backed by studies • I’ll be talking mostly from my experience – as a Developer and a Startup founder • Mostly in the Object Oriented point of view
  • 6. Image from Coding Dojo http://www.codingdojo.com/blog/9-most-in- demand-programming-languages-of-2016/
  • 7. It’s a good time to be a C# Developer • Microsoft is moving towards open source • .NET Core • https://github.com/dotnet/core • Visual Studio Code • Runs on Linux, Mac and Windows • Xamarin for Cross platform mobile development • Using C# • iOS, Android and Windows Phone and Mac OS • Microsoft has been a supporting other open source frameworks such as AngularJS • Azure supports different distribution of Linux and other open source frameworks (also PHP)
  • 8. The rise of JavaScript
  • 9. The rise of JavaScript • Your website sucks without JavaScript • JS Frameworks make your website powerful • JavaScript conquered the Web • Now its taking over other areas • Mobile • PhoneGap, Ionic, Sencha Touch, jQuery Mobile and many more • Server Side Applications • Node JS
  • 10. Single Page Applications • SPAs are web apps that load a single HTML page and dynamically that page as the user interacts • Much of the work happen in the client side • Usually written in JavaScript
  • 12. TypeScript •Open source programming language • Developed and maintained by Microsoft • A superset of JavaScript • Transpiles to plain JavaScript • Strongly typed • Class based / OOP approach • Learn more: • http://www.typescriptlang.org/Playground Image from: https://weblogs.asp.net/dwahlin/getting-started-with-typescript-classes-static-types-and-interfaces
  • 14. Agile Software Development • a set of principles for software development • collaborative effort • Adaptive • Iterative
  • 15. Agile Methods & Practices • Extreme Programming • Lean Software Development • Kanban • Scrum • Test driven development • Domain Driven Design
  • 16. Domain Driven Design • DDD is an approach to software development • Focuses on the complexity of the business domain • Distinguishes core domain (unique to the business) from supporting sub domains
  • 17. Why is DDD important? • Helps you (Developer) understand more about the business • Helps all of the stakeholders the needs of the business • All stakeholders will be communicating in one language
  • 18. Test Driven Development • is a software development process • relies on the repetition of a very short cycle
  • 19. Why use TDD? • Better understanding of your code and requirements • Speeds up development • By limiting bugs in QA phase • Cleaner code • Saves business’ money
  • 20. S.O.L.I.D. Principles • Basic principles which help you create good software architecture • Acronym for • Single Responsibility Principle • Open Closed Principle • Liskov Substitution Principle • Interface Segregation Principle • Dependency Inversion Principle
  • 21. Single Responsibility Principle • A class should have one responsibility only • Separation of concerns
  • 22. Open Closed Principle • Open for extension • extend existing code • Close for modification • Once a function or class or an entity has been developed and tested, it should only be modified to fix bugs
  • 23. Liskov Substitution Principle • objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program • A parent class object should be able to refer child objects seamlessly during runtime polymorphism
  • 24. Interface Segregation Principle • many client-specific interfaces are better than one general-purpose interface • client should not be forced to use a interface if it does not need it.
  • 25. Dependency Inversion Principle • Depend on abstractions, not on concretions
  • 26. Continuous Integration • is a practice of merging all developer working copies • Best practices • Automated tests • Automated builds • Self-testing builds • Test in a clone of production environment • Automated Deployment
  • 27. Other Important topics • Version Control (Git, SVN) • Design Patterns • Defensive Programming • Information Security • Debugging • Understanding someone else’s code • Rest Web Services
  • 31. Project Management & Communication Tools • Trello.com for Tasks • visualstudio.com for Code Repository • Slack for Communication • show sample
  • 32. Frameworks & IDEs • Visual Studio 2015 Community Edition • MS SQL Express 2016 • ASP.NET Web API 2.0 • Angular JS 1.X • Entity Framework 6
  • 34.
  • 36. Events • Davao MSDN Session #2 • Oct 22, 2016 • 3rd floor, Topaz Tower, Damosa IT Park, Gluon, Inc • fb.com/events/323740844652839/ • Lean Academy • Oct 29, 2016
  • 37. Thank you for listening! ANY QUESTIONS? 