Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

C++ and Software Engineering 2015

6,271 views

Published on

Talk at FI MUNI about C++ and important skills that should developer know. Talking about soft skills and communication with architects and product owners.

Published in: Software
  • Be the first to comment

  • Be the first to like this

C++ and Software Engineering 2015

  1. 1. C++ & software engineering Martin Halfar Juraj Michálek 14.12. 2015 FI MUNI - Brno
  2. 2. Grab the source code https://github.com/ysoftdevs/cpp-examples
  3. 3. We should be taught not to wait for inspiration to start a thing. Action always generates inspiration. - Frank Tibolt
  4. 4. Write failing acceptance test Write a failing unit test Make the test pass Refactor
  5. 5. Understand the problem Broad-Brush Design (Architectue) Automate: - build - deployment - end-to-end tests
  6. 6. Know your tool Developer ….or Engineer
  7. 7. Embedded systems developer Proprietary Embedded Technologies C#, CSS 3.0, ECMAScript 6, Java 1.4, C++ TDD, BDD Git gradle, grunt Nuget, Sonatype Nexus, Npm, Private Bower Registry Web Sevices - SOAP, REST
  8. 8. Is it live yet? ● Important is communication before and during development ○ Focus groups, Elaboration helps before development ○ Code review and pull requests helps during development ● Important are results ○ Technology dept ○ Maintenance cost ○ Role of customer (real customer, product manager, architect), technical lead, senior developer
  9. 9. external quality internal quality unit integration end-to-end Scale ammountoffeedback
  10. 10. Conway’s law organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations Martin Fawler - Microservices (2015) https://youtu.be/2yko4TbC8cI
  11. 11. Antipattern http://martinfowler.com/bliki/AntiPattern.html
  12. 12. Chaos Monkey
  13. 13. Podcasts Channel9 - https://channel9.msdn.com/ Hanselminutes - http://hanselminutes.com/ CppCast - http://cppcast.com/ Devminutes - http://devminutes.cz/ .NetRocks - https://www.dotnetrocks.com/
  14. 14. Conemu Maximus 5 Powerful terminal for Windows use with PowerShell, Python, Ruby… https://code.google.com/p/conemu-maximus5/
  15. 15. Yum/Apt-like installation of Win packages https://chocolatey.org
  16. 16. NuGet - http://www.nuget.org
  17. 17. Cppcheck
  18. 18. Continuous integration
  19. 19. Jenkins Hit for Windows users: Do not install Jenkins into path with special characters and blank space. E.g: Wrong: C:Program Files (x86)Jenkins. Correct: Use C:projectsjenkins
  20. 20. Dashboard view
  21. 21. Plan summary
  22. 22. Hierarchy Plan Stage Job Task
  23. 23. Stage No equivalent in our Jenkins
  24. 24. Agent capabilities
  25. 25. Focus One agent - One job No parallel executions on one Agent
  26. 26. Add-ons
  27. 27. Chuck happy
  28. 28. Artifacts to Nexus Do not store binaries in Git/SVN! exe, fonts, big files, jars...
  29. 29. IDE & Text editors
  30. 30. Ideone.com
  31. 31. https://c9.io
  32. 32. Sublime Text
  33. 33. Older talks http://georgik.sinusgear.com/prednasky/
  34. 34. YSofters Twitter: @ysoftdevs GitHub: github.com/ysoftdevs Blog: www.ysofters.com Technology Hour: www.meetup.com/ysoft-th

×