Upload
ta-la-soi
View
211
Download
3
Embed Size (px)
Citation preview
About meNguyen The Vinh, Technical Director, Pyramid Consulting
Linkedin http://www.linkedin.com/pub/vinh-nguyen/19/915/62a
Twitter https://twitter.com/ngthevinh
More than ten years in software development, normal guy with a normal life
What are our problemsCoding forever, no way out. Stuck
Can’t move forward, still looking for the same things for years
Tired & bored, feel no power, no energy, no benefit
Project failures
Unhappy
PrerequisiteWhat is success? It’s different with everyone. You have your own definition
If that success cannot make you happy, you are going on the wrong way
It means if you are not interested in coding or software development, let change your job
PrerequisiteSo what is happiness? It’s out of scope of this presentation :)
Maslow’s hierarchy of needs
SolutionsHaving correct mindset
Seeing the big picture: know where you are, what your destination, choose the best route
Know your rights and responsibilities
Follow principles
Analyze your passion: motivation & value
Win-Win interdependence
Become an expert
The mapWill give you current location, destination, and the route
Use it to save your time and efforts
Software development chain
Reference here
Know the chainWhere are you in that chain? What do you want to be?
Do you know every role in the process?
There are 3 roles affect to developer: employer - who pay for your salary
customer - who pay for your employer
end-user - who make your customer survive
Know the chainNormally the end-users who pay for product will drive the chain
The power will come to the one who can drive that role
What is the correct way
• Help the customers to develop correct products for their end-users
• Help your employer to satisfy the customer
• Only two above are success, you are success
IdentifyingWhere you are
your current seniority
your current domain, characteristics
Destination
why do you want to get there?
does it make you happy?
The route
watch & get consulting from experts
it’s not same with everyone, just need to fit with you
Developer’s Rights & ResponsibilityDeveloper Bill of Rights
Developer Bill of Responsibilities
Customer Bill of Rights
The LightHouse PrincipleThere are lighthouse principles. You don’t break them. You only break yourself against them. Don’t break yourself against lighthouse principles.
PrinciplesIn life - e.g the law of the harvest principle, true north principle, etc
In software development - e.g. software design principles, etc
Law of the HarvestLaw of the Harvest is an enlightening look at the true meaning of ‘reaping what you sow,’ and the importance of a strong work ethic. Persistence, patience and perseverance, as well as attention to the detail, are imperative: with potato farming, it takes to four years from soil prep to harvest; short-cuts simply don't cut it
SOLID PrincipleSOLID — five basic principles of object-oriented programming and design
SRP: single responsibility principle
OCP: open/closed principle
LSP: liskov substitution principle
ISP: interface segregation principle
DIP: dependency inversion principle
Analyze your passionPassionate people are self-motivated. You will try yourself to overcome difficulties and sharpen your knowledge & skills
Analyze your passion keeps you go long with it. Think it carefully about the motivation and value of each decision will help you
The 5 whys
Win-Win InterdependenceYou cannot work alone. You have to work well in the team.
Win-Win is fundamental to success in all of our interactions.
Sharpen the SawFinally you have to practice yourself to become an expert in your domain
Identify your seniority level. Aware of what you know, what you don’t know.
SenioritySeniority relates to people who can work independently, produce on-time and high-quality work
Some developers confuse between on-time and fast. On-time is enough. Quality is more important
Take efforts to produce high quality work will make you proud of yourself. It needs passion and practice
Aware of what you don’t know will help you see a big picture, know the trends and push yourself to move forward
Full stack developerServer, Network, and Hosting Environment
Data Modeling
Business Logic
API Layer / Action Layer / MVC
User Interface
Understanding what the customer and business need
Reference here
Recommend booksExtreme Programming Explained - this book places developers in the center of software development
Agile Principle, Patterns and Practices - will give you solid principles of object-oriented design
Business Model Generation - give you an big picture of business model
Seven Habits of Highly Effective People - cover principles not only in software but also in life