{"id":13582166,"url":"https://github.com/flyeralarm/onboarding","last_synced_at":"2025-04-12T20:47:10.599Z","repository":{"id":45337653,"uuid":"73292198","full_name":"flyeralarm/onboarding","owner":"flyeralarm","description":"A list of resources we at flyeralarm use to get new developers up and running","archived":false,"fork":false,"pushed_at":"2024-04-22T07:08:46.000Z","size":67,"stargazers_count":696,"open_issues_count":0,"forks_count":69,"subscribers_count":46,"default_branch":"master","last_synced_at":"2025-04-12T20:46:43.225Z","etag":null,"topics":["algorithms","architecture","best-practices","cqrs","culture","grafana","hacktoberfest","influxdb","javascript","onboarding","php"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flyeralarm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2016-11-09T14:41:18.000Z","updated_at":"2025-04-11T07:14:52.000Z","dependencies_parsed_at":"2024-04-22T08:27:47.173Z","dependency_job_id":"18e92c42-2191-432d-8e52-a84f68e224cd","html_url":"https://github.com/flyeralarm/onboarding","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyeralarm%2Fonboarding","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyeralarm%2Fonboarding/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyeralarm%2Fonboarding/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flyeralarm%2Fonboarding/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flyeralarm","download_url":"https://codeload.github.com/flyeralarm/onboarding/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248631718,"owners_count":21136559,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithms","architecture","best-practices","cqrs","culture","grafana","hacktoberfest","influxdb","javascript","onboarding","php"],"created_at":"2024-08-01T15:02:28.031Z","updated_at":"2025-04-12T20:47:10.571Z","avatar_url":"https://github.com/flyeralarm.png","language":"Go","funding_links":[],"categories":["Go","Others"],"sub_categories":[],"readme":"# Advanced Curriculum For The Software Craftsman\n\nThis document is intended as a guidance for new developers joining our teams at [FLYERALARM](https://flyeralarm.com).\nBecause we think it might help others as well we open-sourced it. If you know something that's missing feel free to send us a Pull-Request.\n\n## Basics\n\n* [How The Web Works](https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/How_the_Web_works)\n* [HTTP on Wikipedia](https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol)\n* [What Happens When](https://github.com/alex/what-happens-when/blob/master/README.rst)\n* [What to learn next](https://roadmap.sh/)\n* [An Introduction To HTTP Basics](https://personal.ntu.edu.sg/ehchua/programming/webprogramming/HTTP_Basics.html)\n* [Choosing an HTTP Status Code — Stop Making It Hard](https://www.codetinkerer.com/2015/12/04/choosing-an-http-status-code.html)\n* [TCP/IP Protocol Fundamentals Explained with a Diagram](http://www.thegeekstuff.com/2011/11/tcp-ip-fundamentals)\n* [Google Developer Training For The Web](https://developers.google.com/training/web/)\n* [Visualising data structures and algorithms through animation](https://visualgo.net/)\n* [Algorithms, Data Structures, and Design Patterns for Self-Taught Developers](https://web.archive.org/web/20210625134101/https://antjanus.com/blog/web-development-tutorials/learn-the-unlearned-algorithms-data-structures-and-design-patterns/)\n* [HTTP: The Protocol Every Web Developer Must Know](https://code.tutsplus.com/tutorials/http-the-protocol-every-web-developer-must-know-part-1--net-31177)\n* [An Introduction to Networking Terminology, Interfaces, and Protocols](https://www.digitalocean.com/community/tutorials/an-introduction-to-networking-terminology-interfaces-and-protocols)\n* [How Browser Caching Works](https://thesocietea.org/2016/05/how-browser-caching-works/)\n* [The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets](http://www.joelonsoftware.com/articles/Unicode.html)\n* [What Every Developer Should Know About Time](https://unix4lyfe.org/time/?v=1)\n\n## Design And Architecture Of Software\n\n* [Clean Code](https://www.amazon.com/gp/product/0132350882/ref=as_li_qf_sp_asin_il_tl?ie=UTF8\u0026camp=1789\u0026creative=9325\u0026creativeASIN=0132350882\u0026linkCode=as2\u0026tag=sdrl-20)\n* [DesignPatternsPHP](https://github.com/DesignPatternsPHP/DesignPatternsPHP)\n* [What's a design pattern?](https://refactoring.guru/design-patterns/what-is-pattern)\n* [All the cool kids...](https://www.youtube.com/watch?v=EDXgNA_pXX0)\n* [18 must-watch PHP architecture talks](https://www.reddit.com/r/PHP/comments/3kklt5/18_mustwatch_php_architecture_talks_13hrs/)\n* [Object Design Style Guide](https://www.manning.com/books/object-design-style-guide)\n* [Practical Object-Oriented Design in Ruby](https://www.amazon.de/Practical-Object-Oriented-Design-Ruby-Addison-Wesley/dp/0321721330/ref=sr_1_1?s=books-intl-de\u0026ie=UTF8\u0026qid=1476881380\u0026sr=1-1\u0026keywords=practical+object-oriented+design+in+ruby)\n* [Patterns of Enterprise Application Architecture](https://www.amazon.de/Patterns-Enterprise-Application-Architecture-Martin/dp/0321127420/ref=sr_1_1?ie=UTF8\u0026qid=1476887236\u0026sr=8-1\u0026keywords=patterns+of+enterprise+application+architecture)\n* [Domain Driven Design](https://www.amazon.de/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215/ref=sr_1_1?ie=UTF8\u0026qid=1476887211\u0026sr=8-1\u0026keywords=domain+driven+design)\n* [Domain-Driven Transformation](https://www.youtube.com/watch?v=SdjGK9hn6ec)\n* [Introduction to CQRS](http://www.codeproject.com/Articles/555855/Introduction-to-CQRS)\n* [CQRS and Event Sourcing](https://www.youtube.com/watch?v=JHGkaShoyNs)\n* [Your Code as a Crime Scene](https://pragprog.com/titles/atcrime/your-code-as-a-crime-scene/)\n* [Awesome API](https://github.com/Kikobeats/awesome-api)\n* [An introduction to APIs](https://zapier.com/learn/apis/)\n* [Architectural Katas](http://nealford.com/katas/)\n\n## PHP\n\n* [PHP The Right Way](http://www.phptherightway.com/)\n* [PHP The Wrong Way](http://www.phpthewrongway.com/)\n* [A response to PHP The Wrong Way](https://medium.com/@jon.lemaitre/a-response-to-php-the-wrong-way-fe7bb253e295)\n* [PHP Framework Interoperability Group](http://www.php-fig.org/)\n* [PSR - PHP Standard Recommendation](https://en.wikipedia.org/wiki/PHP_Standard_Recommendation)\n* [PHP Library Discovery](https://www.youtube.com/watch?v=3kD9t0GVGGY\u0026feature=youtu.be)\n* [PHP Logging Basics](https://www.loggly.com/ultimate-guide/php-logging-basics/)\n* [Awesome PHP (A curated list of amazingly awesome PHP libraries, resources and shiny things)](https://github.com/ziadoz/awesome-php)\n* [Reference - What does this error mean in PHP?](https://stackoverflow.com/questions/12769982/reference-what-does-this-error-mean-in-php)\n\n## Kotlin\n\n* [Resources To Learn Kotlin The Right Way](https://superkotlin.com/resources-learn-kotlin/)\n* [Programming Kotlin by Venkat Subramaniam](https://pragprog.com/titles/vskotlin/programming-kotlin/)\n* [Awesome Kotlin](https://github.com/KotlinBy/awesome-kotlin)\n* [Mastering Kotlin standard functions: run, with, let, also and apply](https://medium.com/@elye.project/mastering-kotlin-standard-functions-run-with-let-also-and-apply-9cd334b0ef84)\n* [KotlinConf 2018 - Kotlin Coroutines in Practice by Roman Elizarov](https://www.youtube.com/watch?v=a3agLJQ6vt8)\n* [Ktor: Web backend framework for Kotlin. Easy to use, fun and asynchronous.](https://ktor.io)\n\n## JavaScript \u0026 Frontend\n\n* [JS for Cats](http://jsforcats.com/)\n* [JavaScript for impatient programmers](https://exploringjs.com/impatient-js)\n* [You don't know JS](https://github.com/getify/You-Dont-Know-JS)\n* [Eloquent Javascript](http://eloquentjavascript.net/)\n* [Essential Javascript Patterns](https://addyosmani.com/resources/essentialjsdesignpatterns/book/)\n* [MDN - Mozilla Developer Network](https://developer.mozilla.org/de/)\n* [CSS-Tricks](https://css-tricks.com/)\n* [Netflix UI Engineers Youtube Channel](https://www.youtube.com/channel/UCGGRRqAjPm6sL3-WGBDnKJA)\n* [Don't make me think - Web Usability](https://www.amazon.de/Dont-make-think-Usability-intuitive/dp/3826697057/ref=sr_1_1?ie=UTF8\u0026qid=1476888649\u0026sr=8-1\u0026keywords=dont+make+me+think)\n\n## Tools\n\n* [git](https://git-scm.com/)\n* [Atlassian git Tutorials](https://www.atlassian.com/git/tutorials/)\n* [Interactive git Cheatsheet](http://ndpsoftware.com/git-cheatsheet.html)\n* [Composer - Dependency Manager For PHP](https://getcomposer.org/)\n* [Packagist - The PHP Package Repository](https://packagist.org/)\n* [Gradle Guide](https://gradle.org/guides/)\n* [PHPStan](https://github.com/phpstan/phpstan)\n* [PHPUnit](https://phpunit.de/)\n* [Introduction to PHP Unit](https://jtreminio.com/2013/03/unit-testing-tutorial-introduction-to-phpunit/)\n* [12 Unit Testing Benefits That Will Blow Your Mind](https://methodpoet.com/unit-testing-benefits/)\n* [A Beginner's Guide to npm](https://www.sitepoint.com/beginners-guide-node-package-manager/)\n\n## Environment\n\n* [Basic UNIX commands](http://mally.stanford.edu/~sr/computing/basic-unix.html)\n* [Explain Shell - Let it explain you what's going on](http://explainshell.com/)\n* [Effective DevOps](http://shop.oreilly.com/product/0636920039846.do)\n* [Docker Docs](https://docs.docker.com/)\n* [Docker Swarms Introduction](https://docs.docker.com/get-started/part4/)\n* [What is Kubernetes](https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/)\n* [Request routing with Traefik](https://doc.traefik.io/traefik/getting-started/concepts/)\n* [How to write Ansible Playbooks](https://www.digitalocean.com/community/tutorials/configuration-management-101-writing-ansible-playbooks)\n* [Ansible Docs](https://docs.ansible.com/)\n* [Artifactory User Guide](https://www.jfrog.com/confluence/pages/viewpage.action?pageId=46107472)\n\n## Persistence\n\n* [SQL Performance Explained - Short and useful book about SQL performance for developers](https://www.amazon.de/SQL-Performance-Explained-Entwickler-SQL-Performance/dp/3950307818)\n* [Use the index, Luke - a guide to database performance for developers](http://use-the-index-luke.com/)\n* [The Little Redis Book](https://github.com/karlseguin/the-little-redis-book)\n\n## Monitoring \u0026 Alerting\n\n* [How to monitor system metrics with the TICK stack - Can also be used for gathering business metrics](https://www.digitalocean.com/community/tutorials/how-to-monitor-system-metrics-with-the-tick-stack-on-centos-7)\n* [How to setup \u0026 use Icinga2](https://www.digitalocean.com/community/tutorials/how-to-monitor-hosts-and-services-with-icinga-on-ubuntu-16-04)\n* [Using InfluxDB with Grafana](http://docs.grafana.org/features/datasources/influxdb/)\n* [Grafana Docs](http://docs.grafana.org/)\n* [InfluxDB Docs](http://docs.influxdata.com/influxdb/v1.6/)\n\n## Apache Kafka\n\n* [Kafka as a Platform: the Ecosystem from the Ground Up](https://www.youtube.com/watch?v=WpfJ86_DYfY)\n* [Apache Kafka in a Nutshell](https://medium.com/swlh/apache-kafka-in-a-nutshell-5782b01d9ffb)\n* [Why Avro for Kafka Data?](https://www.confluent.de/blog/avro-kafka-data/)\n* [Deal with Failure in an Event-Driven System](https://www.confluent.io/blog/using-kafka-merge-purge-to-simplify-kafka-failures/)\n\n## Processes \u0026 Culture\n\n* [The Agile Manifesto](http://agilemanifesto.org/)\n* [Agile Retrospectives](https://pragprog.com/titles/dlret/agile-retrospectives/)\n* [The Phoenix Project](https://www.amazon.com/Phoenix-Project-DevOps-Helping-Business/dp/0988262592)\n* [Team Geek - A Software Developer's Guide to Working Well with Others](https://www.amazon.com/Team-Geek-Software-Developers-Working/dp/1449302440/)\n\n## Information Security\n\n* [OWASP - Open Web Application Security Project](https://www.owasp.org/index.php/Main_Page)\n* [A Gentle Introduction to Application Security](https://paragonie.com/blog/2015/08/gentle-introduction-application-security)\n* [Juice Shop - A vulnerable web app to play around](https://github.com/bkimminich/juice-shop)\n\n## Best Practices\n\n* [The Best Code is No Code At All](https://blog.codinghorror.com/the-best-code-is-no-code-at-all/)\n* [The Pragmatic Programmer](https://pragprog.com/titles/tpp20/the-pragmatic-programmer-20th-anniversary-edition/)\n* [The Clean Coder](https://www.oreilly.com/library/view/the-clean-coder/9780132542913/)\n* [Simple Made Easy](https://www.youtube.com/watch?v=rI8tNMsozo0)\n* [A Philosophy of Software Design](https://www.youtube.com/watch?v=bmSAYlu0NcY)\n* [Refactoring: Improving the Design of Existing Code](https://www.amazon.com/exec/obidos/ASIN/0201485672/codihorr-20)\n* [The full stackoverflow developer](https://www.christianheilmann.com/2015/07/17/the-full-stackoverflow-developer/)\n* [Measure anything, measure everything](https://www.etsy.com/codeascraft/measure-anything-measure-everything/)\n* Go to a local user group\n* Read open-source code on [GitHub](https://www.github.com)\n* Never stop building stuff\n\n\n\nOn a side note: [We are searching for talented people to join our various teams of developers in multiple locations](https://www.flyeralarm.com/karriere/de/alle-jobs)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflyeralarm%2Fonboarding","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflyeralarm%2Fonboarding","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflyeralarm%2Fonboarding/lists"}