PV260 Course introduction Radim Göth Agenda • About me • About you • Course organization • Requirements • Path to software quality • Recommended reading • About Y Soft About me • 5+ years full-time developer • Mainly .NET/C# • Docker, K8S, Helm, Azure • F#, Typescript, Python, Go, Java • https://www.linkedin.com/in/radimgoth/ Course organization • 12-13 workshops • Often lead by me, some lead by my colleagues from Y Soft • Evaluation • Semestral project, 3 milestones (15 points each) • 10 points for activity • Attendance • Mandatory Requirements • Bring your own laptop • Visual Studio 2019/2022 or Rider • Keep it updated • .NET 5+ dev environment • Azure subscription? • In person • Pen and paper • Online • Zoom • Miro https://miro.com • Slack? It doesn’t take a huge amount of knowledge and skill to get a program working. Getting it right is another matter entirely. Getting software right is hard. Robert C. Martin - Clean Architecture When a software is done right • Fewer bugs • Easy to maintain • Easy to add new functionality • Easy to onboard new developers • Easy to troubleshoot a problem • ? • Secure • Scalable • Performing well • Functionally suitable • Reliable • ? How • Knowledge • SOLID principles and clean code, object oriented design, agile development, software architecture, secure software lifecycle, design patterns,… • Skills • Test-driven development, user story mapping, refactoring, domain-driven design, code reviews, teamwork,… Recommended reading • The Pragmatic Programmer, David Thomas, Andrew Hunt • https://pragprog.com/book/tpp20/the-pragmatic-programmer-20th-anniversary- edition • Refactoring, Improving the Design of Existing Code: Martin Fowler • https://martinfowler.com/books/refactoring.html • Test Driven Development: By Example, Kent Beck • https://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530 • Clean Code: A Handbook of Agile Software Craftsmanship, Robert C. Martin • https://www.amazon.com/gp/product/0132350882/ref=dbs_a_def_rwt_bibl_vppi_i 0 About • Print and scan management • Distributed, highly scalable architecture, 3D print, OCR, cloud – K8S, Helm, Azure, HW – card readers, terminals, boards,… .NET Core, React, Java, Spring,… • LESS without managers • https://less.works/ • https://www.youtube.com/watch?v=ig36a8tHAtE • Y Soft | Práce a stáže pro studenty (daretothinkbyg.com) • Y Soft | Pracovní nabídky (daretothinkbyg.com)