Inginerie software
A se vedea și pagina anterioară (Modelare).
https://www.youtube.com/watch?v=I2G3OftfsfA - The Difference Between Developers & Software Engineers
+10x engineers may be mythical, but -10x engineers exist. To become a -10x engineer, simply waste 400 engineering hours per week. Combine the following strategies:
Nullify the output of 10 engineers. Change requirements as far into development as possible. To avoid blame, obfuscate requirements from the start.
Create 400 hours of busywork. Ask your team to perform tasks that resemble work. Common examples include presentations, diagrams, and ticket management. Create pointless rituals.
Create 400 hours of burnout/turnover. Be thankless. Foist blame. Sow confusion. Get angry. Cause others to work overtime.
Hold 10 engineers hostage in a technical discussion. Let engineers discuss ideas. Encourage them to pursue elegance over pragmatism. Ensure nobody has the authority to make any decisions.
Add 400 hours of communication overhead. Meetings wreck calendars. To inconspicuously waste others’ time, write lengthy messages/documents and share as widely as possible. Welcome all opinions and aim for engagement.
Waste 10 weeks of wages on cloud costs. Write slow programs. Avoid DB indexes. Run single-threaded programs on 16-core machines. Opt for exotic hardware with fancy RAM and GPUs. Store data on RAM/disk liberally. Don’t compress anything. Pay no attention to data layouts.
Create useless tools. Decide that existing solutions aren’t quite what you need. Write scripts that only one person understands. If the script does something important, avoid documentation.
Add 400 hours of compilation/build time. Slow builds waste time and incur compound interest. As build times increase, developers are more likely to distract themselves. To ensure developers are context-switching, recompilation should take at least 20 seconds. You can also write slow tests for similar effect.
Write pointless tests. Create dependencies on particular variables without testing the underlying functionality. Mock function calls until no original code runs. Introduce subtle randomness into your tests so that they succeed/fail without cause.
Waste 400 hours of engineering on bad architecture. Give zero consideration to how your system design will evolve over time. Alternatively, drive your team obsess over architecture decisions so that they don’t have time to test their hypotheses.
Waste 400 hours on deployment. Create as many environments as possible. Production and staging must differ wildly. Launch fragile code with fragile build systems. Migrate your databases frequently.
Lose 10 weeks of wages on unhappy customers. Repeatedly fail to detect and address severe bugs. Pay no attention to security vulnerabilities.
Write worthless documentation. Explain code in private messages. Write wikis that nobody uses.
Trap 10 engineers in a futile skunkworks project. Attract bright engineers and waste their potential. Undersell the difficulty of the project to management; oversell the project’s usefulness. Tell management it’s “almost complete” until they scrap it.
Add dependencies that demand 400 hours of maintenance. Engineers individually learn each library.
Delay pivoting. Never admit failure. Drown your team in sunk-cost. Ignore 80/20 compromises that could improve your circumstances.
Hire 10 0x engineers. Opportunity costs can kill. Dead-weights may not actively harm your team, but they sit in the chairs of people who could actively help.
Hire 5 -1x engineeers. Don’t settle for dead-weight. Actively hire engineers who cause catastrophies and resist learning.
Prevent 10 -1x engineers from getting fired. Don’t rock boats. Leave no paper trail of failures. Vouch for bad engineering.
Incur 400 hours of bug triage. Make undebuggable programs. Plaster layers of abstraction over everything. Write spaghetti code. Make everything sensitive to initial conditions. Avoid pure functions. Use dependencies liberally. Say “it works on my machine” whenever possible.
Resurse diverse
https://roadmap.sh/software-architect - Software Architect (roadmap.sh)
https://roadmap.sh/system-design - System Design (roadmap.sh)
https://roadmap.sh/code-review - Code Review Pyramid (roadmap.sh)
https://www.youtube.com/watch?v=Hj2NrDo_NT4 - We HATE Javascript, But…
https://www.youtube.com/watch?v=Dl-BdxNRUq - What does larger scale software development look like?
https://www.youtube.com/watch?v=aXOChLn5ZdQ - What is the "Gold Standard" for software development?
https://www.youtube.com/watch?v=R9OHn5ZF4Uo - Is Designing Different To Coding?
https://www.youtube.com/watch?v=tKbV6BpH-C8 - Premature Optimization
https://www.youtube.com/watch?v=FLe5dvqV6xs - I Bet You’re Overengineering Your Software
https://www.youtube.com/watch?v=OS6gzabM0pI - Why Software Estimations Are Always Wrong
https://www.youtube.com/watch?v=1MBpK_PxEnU - Types Of Technical Debt And How To Manage Them
https://www.youtube.com/watch?v=12tDtvC55QM - Software Craftsmanship vs Software Engineering
https://www.youtube.com/watch?v=mVY2rFninp8 - Rockstar Developers Are THE WORST Developers -
https://www.youtube.com/watch?v=42UP1fxi2SY - CI/CD In 5 Minutes | Is It Worth The Hassle?
https://www.youtube.com/watch?v=Q01JreFJSqk - The ESSENTIAL Qualities Of GREAT Development Teams
https://www.youtube.com/watch?v=J4ihLROXzPk - Waterfall Over Agile???
https://www.youtube.com/watch?v=q1qKv5TBaOA - How principled coders outperform the competition
https://www.youtube.com/watch?v=QOFCHla3F0Q - 10 Must Watch Software Talks -
https://vimeo.com/28885655 - Christin Gorman “Gordon Ramsay Doesn’t Use Cake Mixes”
https://youtu.be/iwUR0kOVNs8 - Bryan Liles “Test all the f*^&ing time”
https://youtu.be/GnK_n9Udhhs - Gojko Adzic “Make Impacts, not Software”
https://youtu.be/AzBuohuOU6g - Jeff Patton “User Story Mapping”
https://youtu.be/mAw4ygX1c-4 - Michael Nygard "Uncoupling"
https://youtu.be/DdJNLeYldUs - Gregor Hohpe “Enterprise Architecture = Architecting the Enterprise?”
https://youtu.be/dnUFEg68ESM - Eric Evans "Tackling the complexity at the heart of software"
https://youtu.be/_CQehnb6A6o - Jim Webber, "The Present and Future of Native Graph Technology"
https://youtu.be/IvWr29afDF8 - Jez Humble, “CD sounds great, but can’t work here”
https://youtu.be/iuzZYzns-Yg - Anita Sengupta, “The future of Mars exploration"
https://youtu.be/Rzhpf1Ai7Z4 - Hanna Fry, “How to be human in the age of the machine”
https://innovatingsociety.com/lean-agile-si-design-thinking-cum-se-pot-folosi-in-project-management/ - Lean, Agile si Design Thinking – Cum se pot folosi in Project Management
https://innovatingsociety.com/invata-cum-sa-iti-deschizi-o-afacere-de-succes-cu-metoda-lean-startup/ - Invata cum sa iti deschizi o afacere de succes cu metoda Lean Startup
https://www.youtube.com/watch?v=BMv8inN3NaM - The 4 ESSENTIAL METRICS For Software Enterprise | Randy Shoup On DORA Metrics & Essential Measures
https://www.youtube.com/watch?v=7c8xP1gRIWs - Top 10 Terms Project Managers Use
https://www.youtube.com/watch?v=kAFKLnNs2gs - 10 New Project Management Terms
https://www.iso.org/obp/ui/#iso:std:iso-iec:25010:ed-1:v1:en - ISO/IEC 25010:2011(en), Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — System and software quality models
https://blog.codacy.com/iso-25010-software-quality-model/ - ISO/IEC 25010 Software Quality Model
https://www.perforce.com/blog/qac/what-is-iso-25010 - What Is ISO 25010?
https://www.youtube.com/watch?v=oJbfMBROEO0 - How Senior Programmers ACTUALLY Write Code
Principii de proiectare și arhitecturi software
https://www.youtube.com/watch?v=pTB30aXS77U - Uncle Bob's SOLID principles made easy 🍀 - in Python!
Modele și arhitecturi
https://www.youtube.com/watch?v=f6zXyq4VPP8 - Top 5 Most Used Architecture Patterns
https://www.freecodecamp.org/news/design-pattern-for-modern-backend-development-and-use-cases/ - Design Patterns for Modern Backend Development – with Example Use Cases -
https://www.youtube.com/watch?v=8B445kqSKwg - Which Software Architecture should you pick?
https://www.youtube.com/watch?v=i53Gi_K3o7I - 20 System Design Concepts Explained in 10 Minutes
https://www.youtube.com/watch?v=FLmBqI3IKMA - 5 Design Patterns Every Engineer Should Know
https://www.youtube.com/watch?v=DUg2SWWK18I - MVC Explained in 4 Minutes
https://www.youtube.com/watch?v=oC2Ty8H9jck - Onion Architecture - Software Design Patterns Explained
https://www.youtube.com/watch?v=g0XmFpmvsDk - Why is Clean Architecture so Popular?
https://www.youtube.com/watch?v=JubdZIdLQ4M - Hexagonal, Onion & Clean Architecture
https://www.youtube.com/watch?v=ujb_O6myknY - More Testable Code with the Hexagonal Architecture
https://www.youtube.com/watch?v=eHhXoCNCI1c - Which Software Architecture Should You Use: MVC, MVP, or MVVM?
https://www.youtube.com/watch?v=I5c7fBgvkNY - Everything You NEED to Know About Client Architecture Patterns
https://www.youtube.com/watch?v=lsddiYwWaOQ - Tired of Layers? Vertical Slice Architecture to the rescue!
Specificarea cerințelor
Exemple de cerințe pentru software: https://www.tutorialspoint.com/software_engineering/software_requirements.htm.
Exemple specifice de cerințe pentru software: http://www.inf.ed.ac.uk/teaching/courses/cs2/LectureNotes/CS2Ah/SoftEng/se02.pdf
Exemple specifice de cerințe pentru software: https://www.cs.umd.edu/~atif/Teaching/Spring2010/Slides/3.pdf
Exemple specifice de cerințe pentru software: https://belitsoft.com/php-development-services/software-requirements-specification-document-example-international-standard
O listă foarte consistentă de cerințe (și cu un început bun pentru proiect), până la pag. 26, inclusiv: http://www.cse.chalmers.se/~feldt/courses/reqeng/examples/srs_example_2010_group2.pdf
Mai multe informații despre cerințe (plus comics-uri despre cerințe :D): http://home.hit.no/~hansha/documents/software/software_development/topics/resources/Software%20Requirements%20Overview.pdf
https://www.youtube.com/watch?v=4aHKsolzCv4 - "Non-Functional Requirements" Are STUPID
Inginerie software
Inginerie software — Inginerie software (Geeks for geeks)
https://www.youtube.com/watch?v=53NiW7ipqqI - Product Management: Software Product Lifecycle
https://www.youtube.com/watch?v=Fi3_BjVzpqk - Introduction To Software Development LifeCycle | What Is Software Development? | Simplilearn
https://www.youtube.com/watch?v=1qw5ITr3k9E - Software Engineering Job Interview – Full Mock Interview
https://learn.saylor.org/course/view.php?id=73 - CS302: Software Engineering
https://www.geeksforgeeks.org/software-engineering - Software Engineering Tutorial
Capability Maturity Model — Capability Maturity Model
Capability Maturity Model Integration — Capability Maturity Model Integration
Capability Immaturity Model — Capability Immaturity Model
https://www.youtube.com/watch?v=MRwZQGdllDY - Cynefin Is A GAMECHANGER For Software Developers
Inginerie software — Inginerie software
Software Design Patterns — Software Design Patterns
https://www.youtube.com/watch?v=tAuRQs_d9F8 - 8 Design Patterns EVERY Developer Should Know
Software rot — Software rot
Tutorial de ciclu de viata al software-ului — Tutorial de ciclu de viata al software-ului. Curs produs de TutorialsPoint.com
Tutorial de Inginerie Software — Tutorial de Inginerie Software. Curs produs de TutorialsPoint.com
Tutorial de metode AGILE — Tutorial de metode AGILE. Curs produs de TutorialsPoint.com
Tutorial de proiectarea interfetelor om-calculator — Tutorial de proiectarea interfetelor om-calculator. Curs produs de TutorialsPoint.com
Tutorial de proiectare si analiza software orientata pe obiecte — Tutorial de proiectare si analiza software orientata pe obiecte. Curs produs de TutorialsPoint.com
Tutorial de proiectare si arhitectura software — Tutorial de proiectare si arhitectura software. Curs produs de TutorialsPoint.com
Scrum Certification + Scrum Master + Agile Scrum Training (codered/EC-Council) - https://codered.eccouncil.org/course/scrum-certification-scrum-master-agile-scrum-training
Clean code - pro și contra
https://www.youtube.com/watch?v=GmXPwRNIrAU - 10 Coding Principles Explained in 5 Minutes
https://www.freecodecamp.org/news/code-comments-the-good-the-bad-and-the-ugly-be9cc65fbf83/ - Putting comments in code: the good, the bad, and the ugly
https://swimm.io/learn/code-collaboration/comments-in-code-best-practices-and-mistakes-to-avoid - Comments in code: best practices and 4 mistakes to avoid
https://www.youtube.com/watch?v=MKaLJyPOS4U - Cleaner Code: 3 Ways You Can Write Cleaner Code
https://www.youtube.com/watch?v=FyCYva9DhsI - Clean Coders Hate What Happens to Your Code When You Use These Enterprise Programming Tricks
https://www.youtube.com/watch?v=gyrSiY4SHxI - 9 "rules" for cleaner code | Object Calisthenics
https://www.youtube.com/watch?v=hkUUDeIUwmw - Stop Trying To Write "Perfect" Code
https://www.youtube.com/watch?v=1uzlBSL7-UM - Clean Code Is Killing Your Projects
https://www.youtube.com/watch?v=tD5NrevFtbU - "Clean" Code, Horrible Performance
https://www.youtube.com/watch?v=zVLuQAnNue8 - Is clean code actually slower?
https://www.youtube.com/watch?v=HkFIau29-Yo - Why You Should Stop Using Clean Code
Tutoriale video
https://www.youtube.com/watch?v=Ygxuwec1BsI - System Design for Beginners Course
https://www.youtube.com/watch?v=akXP6pC0piE - Anatomy of a Production App - System Design
https://www.youtube.com/watch?v=POuGKD3xLqs - The Project Management Life Cycle
https://www.youtube.com/watch?v=_-00CNH3q2U - 🔥 Agile Scrum Crash Course 2023 | Learn Agile In 3 Hours | Agile Training | Simplilearn
https://www.tutorialspoint.com/scrum/index.htm - Tutorial de SCRUM
https://www.youtube.com/watch?v=VFQtSqChlsk - Tutorial video de SCRUM
https://www.youtube.com/watch?v=YqAZi5poCmo - Tutorial video de SCRUM
https://www.youtube.com/watch?v=uWPIsaYpY7U - Tutorial video de management de proiect
https://www.youtube.com/watch?v=-J3wNP6u5YU - Naming Things in Code
https://www.youtube.com/watch?v=Dl-BdxNRUqs - What does larger scale software development look like?
https://www.youtube.com/watch?v=fx-Ne_s71iY - The REAL SECRET To Refactoring!
https://www.youtube.com/watch?v=kt0bfw4YkFk - TODO: Write Good Code Comments
https://www.youtube.com/watch?v=nCuDrWxlh4Y - The Most Powerful Software Development Process Is The Easiest
Canale Youtube
Diverse
https://www.youtube.com/watch?v=v21jg8wb1eU - How To Estimate Software Development Time
https://www.youtube.com/watch?v=KNTWhNctGZ4 - Who's Solving The DEVELOPER SHORTAGE Crisis?
https://www.youtube.com/watch?v=aItVJprLYkg - You Must Be CRAZY To Do Pair Programming
https://www.youtube.com/watch?v=zivngNtLiuY - 7 Habits I've Picked Up From Senior Software Developers
Resurse diverse
https://www.youtube.com/watch?v=WMufNovFtPs - Software Engineering Harsh Reality
Îmbunătățirea proceselor
https://www.youtube.com/watch?v=O2AgPz9FcpI - 🔥 Six Sigma Crash Course 2023 | Learn Six Sigma In 3 Hours | Six Sigma Fundamentals | Simplilearn