Skip to content

emotion-io/Roadmap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 

Repository files navigation

Roadmap

This project defines topics a member of Emotion should be familiar with.
Topics are presented from the easy-basic one to the more complex one.

The topics are composed in the modular way. Which mean you position yourself in the company based on the modules you get familiar with. Basic modules - first, more complex ones - on the top of the basic ones. That's how you build your knowledge.

Do not repeat a topic within different modules while adding the new. Simply pick the module which is the best fit and place the topic there. If such placement is not possible then split the topic into smaller parts and place each to the best-fit module.

You are welcome to discuss the topics found here within Slack workspace of Emotion. ;)
Want to contribute to this project? You are more than welcome to do so!

Basic non-technical

You should not make to any position at Emotion while this module is not completed.

Basic non-technical communicating to technical

You should not make to a non-technical member position that directly communicates to technical member without completing this module. For example, non-technical people like HR and lawyers are ok without this module. However, project managers directly communicating to technical staff, or technical staff by itself must know this. This is so due to the fact that sometimes near-technical managers do some basic technical tasks that require a bit deeper technical knowledge. For example, project managers accept articatcs produced by technical people and performs some basic tasks on these (e.g. finds occurences of the specific text pattern in a given file, replaces a text, checks if the file provided by the customer is valid, etc.). We need the common ground between non-technical and technical people. And here it is.

  • Management:
    • Github
    • Bitbucket
    • Gitlab?
  • Tests, QA:
    • Zephyr
  • Web application debugging via browser:
    • Developer tool, debug, etc.
  • Connection:
    • SSH, Public Key Infrastructure
    • VPN
    • Authentication + Authorization: ACL, Oauth 2, Google auth, tokens
    • HTTP: Statuses, Caching, Cookies
    • Postman
  • Docs:
    • Encodings: UTF8: mb3, mb4; ASCII
    • UML, tools to draw
    • Markdown
    • robots.txt
    • JSON
    • Yaml
    • XML
    • Sphinx (documentation)
  • Work with files, including files validation:
    • Data diff tools (how to compare files, text, etc)
    • Basics on file-archive formats: 7zip, zip, rar, etc.
    • Basics on file-image formats: jpg, jpeg, png, gif, etc.
    • Log reading software (glogg)
    • Regural expressions
  • Translations:
    • How translation services work, e.g. crowdin.com
    • Internalization vs. Localization (i18n/l10n)
  • Versioning:
    • Versioning: Semantic, Romantic
    • Git
    • Git flow
  • Virtualization
    • Virtual Machines basics: VMware Player, Virtualbox (incl. VirtualBox Guest Additions), etc.
    • Hypervisor: Type1, Type2

Basic technical

You should not make to any technical position (front-end developer, back-end developer, devops) while this module is not completed.

  • Best practices:
    • SOLID principles
    • OWASP
  • Linux:
    • Bash (CLI usage, scripting)
    • Linux: Supervisor
    • Linux: environment variables (incl. PATH)
    • Linux: permissions (chmod, chown)
    • Ubuntu
  • Networking, connections:
    • DNS
    • curl, guzzle
    • SMTP
    • API: REST, SOAP
    • Wireshark
  • Security:
    • Security: SSL, TLS, HTTPS
  • Data:
    • Serialization vs. Normalization
  • DB:
    • MySQL clients (e.g. MySQL Workbench)
  • Relations to front-end:
    • DOM
  • Relations to DevOps:
    • Docker
    • docker-compose
    • AWS
      • AWS: S3
      • AWS: EC2
      • AWS: Elasticsearch Service
      • AWS: CloudWatch
      • AWS: OpsWorks
      • AWS: RDS
      • AWS: CloudFront (CDN)
  • Testing, QA:
    • Automatic tests basics (main concepts, e.g. mocking)
    • Jmeter
  • Docs:
    • PDF document basics (internals)

Back-end PHP

This module is common to Magento and Akneeo PIM developers - they all should complete this module.
TBD. The module must comply with: Zend Certified PHP Engineer.

  • Best practice:
  • Data, docs:
    • Archiving: phar, zip
    • phpDocumentor
  • PHP
    • PHP: Composer / Packagist / private repos
    • PHP: SPL
    • PHP: PSR
    • Libraries:
      • Doctrine ORM
      • Monolog
      • ImageMagick / imagick
      • Dompdf
    • Debug:
      • Xdebug (debug, profile, trace, KCachegrind)
    • QA:
      • phpSpec
      • Behat
      • phpUnit
  • MySQL
  • Elastic Stack
    • ElasticSearch
    • Kibana
    • Filebeat
  • Connections, HTTP servers:
    • Apache, including mod_rewrite
    • NGINX

Front-end

This module is required by front-end developers only.

  • HTML
  • CSS
    • CSS: BEM
  • JavaScript / ES*
  • Typescript
  • Yarn
  • Node.js, including npm
  • Webpack
  • Babel
  • RequireJS
  • jQuery
  • BackboneJS
  • Underscore.js
  • ESLint
  • Polyfill

Akeneo PIM developer

This module is required by Akeneo PIM developers only.
TBD. The module must comply with: Symfony Certification, Akeneo implementation specialist certification, Akeneo developer certification

  • Symfony
  • Key components of Symfony: Twig, Swift Mailer, Assetic
  • Akeneo PIM Community Edition
  • Akeneo PIM Enterprise Edition
  • Google Cloud Vision
  • InRiver PIM
  • Pimcore PIM
  • Adobe Scene7 DAM
  • IBM MQ (formerly IBM WebSphere MQ) + MQ explorer

Magento developer

This module is required by Magento developers only.

  • TBD

DevOps

This module is required by DevOps only.

  • Chef (cookbooks in Ruby on Jenkins)
  • Jenkins

About

What Emotion developer should know? The Roadmap

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published