Engineer - Mastering the Art of Software
-
Upload
cristiano-diniz-da-silva -
Category
Technology
-
view
105 -
download
1
Transcript of Engineer - Mastering the Art of Software
![Page 1: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/1.jpg)
Engineering
Mastering the art of Software
![Page 2: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/2.jpg)
A challenge
![Page 3: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/3.jpg)
Engineering Cycle
![Page 4: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/4.jpg)
Research
![Page 5: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/5.jpg)
Spoon ManufacturingAs a business owner I want to expand my business by manufacturing spoons.
These should be made of plastic, lightweight and will be distributed in small boxes of 25, 50 and 100 units.
![Page 6: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/6.jpg)
Ask the right questions● Who is your target audience
● What are the project goals
● How the project will be distributed
● What are the project requirements
● What are the project restrictions
● etc
![Page 7: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/7.jpg)
If doesnt work on paper ...
![Page 8: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/8.jpg)
Development tools
Let’s talk about hammers:
![Page 9: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/9.jpg)
Digital SignIf you had to build a digital sign by hooking up a computer and a tv, what languages, frameworks would you use to build it?
![Page 10: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/10.jpg)
Dev
elop
me
nt t
ools Step back and put it on paper.
Can it be diagramed in a flow chart
Can it be broken down into more stories
Pros and cons of the selected language
Pros and cons of the selected database
What is the learning curve, if any, for development
Are there any risks with the chosen path for development
etc
![Page 11: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/11.jpg)
MVP
Minimal Viable Product
● Clear view
● Requirements
● Restrictions
● Goals
● Next steps
![Page 12: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/12.jpg)
Develop
![Page 13: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/13.jpg)
It is not only about code anymore● Standards
● Reviews
● Instructing other Engineers
● Tests
![Page 14: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/14.jpg)
Management SkillsNot people management, Risk management!
Everyone has probably faced some sort of scope creep
Need to understand and manage the risk of a change set
“Doing it live” is the same as risk management not being important.
![Page 15: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/15.jpg)
[Risk] Management Skills
Consider the scenario:
The application is completed, fully tested and in the a week before the release day, business decides to change the default payment authorizer to one that the application doesn’t support yet.
How do you manage this scenario and what would be your recommendations as an engineer?
![Page 16: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/16.jpg)
Visibility & Feedback
● Collaboration
● Tests
![Page 17: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/17.jpg)
Back to MVP
![Page 18: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/18.jpg)
Adjust
![Page 19: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/19.jpg)
Cabin in the Woods
Consider the scenario:
You are walking lost on the florest, it is cold, foggy, dark and with some bit of luck you find a cabin in the woods.
You manage to get inside and, once inside, you see:
A gas stove
A fireplace with some wood on it
A kerosene lamp
What do you light up first ?
![Page 20: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/20.jpg)
Types● Improvement
● Fix
● Hotfix
![Page 21: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/21.jpg)
Troubleshooting
It is more important that usually is given credit for
Requires a detailed and yet abroad vision
Good troubleshooting skills can help during development phase
![Page 22: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/22.jpg)
Hot
fixExtreme case scenario
Disruptive
Requires prior-planning and quick response
![Page 23: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/23.jpg)
Hotfix Planning
Short version:
Responsible people for roles:
Engineer
QA
Release manager
Dev-Ops
Post-mortem
![Page 24: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/24.jpg)
Improvements● Usually mistaken by easy
● Requires the whole engineering cycle
● Requires risk assessment
![Page 25: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/25.jpg)
Engineer
![Page 26: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/26.jpg)
Mindset It is not about only code anymore...
It is a dynamic exchange of thoughts that fiddles between an architect and a experienced software developer.
![Page 27: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/27.jpg)
Mindset Anyone can:
Research
Code
Adjust
... but in order to work with all 3 you must have a different mindset of a programmer / developer.
![Page 28: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/28.jpg)
Back of to the challenge
![Page 29: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/29.jpg)
“Sometimes a simple solution is far far more powerful than a conventional off the shelf way.”
Manu Prakash
![Page 30: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/30.jpg)
Now I’m ready for questions and answers ...
I mean I guess
![Page 31: Engineer - Mastering the Art of Software](https://reader036.fdocuments.net/reader036/viewer/2022062412/5899c7c31a28ab45548b6699/html5/thumbnails/31.jpg)
About me
Cristiano Diniz da Silva
Soft. Engineer, techie, geek, nerd, enthusiast photographer... proud father of two girls and happily ever married.
Working with PHP since it’s 3.2 version
@mcloide
https://github.com/mcloide
mcloide.comEngineering & Photography
https://joind.in/talk/47c87