engineer - mastering the art of software
TRANSCRIPT
Engineering
Mastering the art of Software
A challenge
Engineering Cycle
Research
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.
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
If doesnt work on paper ...
Development tools
Let’s talk about hammers:
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?
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
MVP
Minimal Viable Product
● Clear view
● Requirements
● Restrictions
● Goals
● Next steps
Develop
It is not only about code anymore● Standards
● Reviews
● Instructing other Engineers
● Tests
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.
[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?
Visibility & Feedback
● Collaboration
● Tests
Back to MVP
Adjust
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 ?
Types● Improvement
● Fix
● Hotfix
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
Hot
fixExtreme case scenario
Disruptive
Requires prior-planning and quick response
Hotfix Planning
Short version:
Responsible people for roles:
Engineer
QA
Release manager
Dev-Ops
Post-mortem
Improvements● Usually mistaken by easy
● Requires the whole engineering cycle
● Requires risk assessment
Engineer
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.
Mindset Anyone can:
Research
Code
Adjust
... but in order to work with all 3 you must have a different mindset of a programmer / developer.
Back of to the challenge
“Sometimes a simple solution is far far more powerful than a conventional off the shelf way.”
Manu Prakash
Now I’m ready for questions and answers ...
I mean I guess
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