# Skill set / Profile of Personium Engineer
Refer to [Preparing Personium Environment](https://hackmd.io/@dixonsiu/Preparing-Personium-Environment) for server construction procedures.
## List of Roles
For any simple PoC, you would need the following skill set corresponding to the roles listed below. If you have plans to use Personium for more complicated projects, I would suggest your build the Personium Unit with our help so that we can transfer all the knowledge to you.
### Infrastructure / System engineer
A person who constructs a publicly accessible personal data store (PDS) service - Personium Unit ([all-in-one](https://github.com/personium/ansible/tree/develop/all-in-one) or [3-tier](https://github.com/personium/ansible/tree/develop/3-tier)). Please refer to this [document](https://personium.io/docs/en/server-operator/README/) for details. The following skills are required.
1. Basic server knowledge: physical server, Virtualization, cloud (AWS/Azure)
3. Basic system administration skill: Unix commands, SSH
4. Basic knowledge to create / acquire SSL Certificate
5. Basic knowledge of Ansible
6. Basic DNS knowledge: Domain aquisition, DNS configuration
7. Network and network security knowledge
List of useful links:
- Building Personium Unit from scratches ([all-in-one](https://github.com/personium/ansible/tree/develop/all-in-one) or [3-tier](https://github.com/personium/ansible/tree/develop/3-tier))
- [Unit Manager](https://github.com/personium/app-uc-unit-manager/)
### Personium Operator
A person or organization that manages the PDS service. Perform the following tasks.
- Create/delete user account
- Maintain the components that dynamically create new user account, etc.
- Manage the interoperable components when necessary.
The following skills are required.
1. Basic Personium Unit level operation skills : Cell CRUD through Administration GUI or API
2. Basic Web security knowledge: password security policy, etc.
3. User support skills: User onboarding, Password initialization, etc.
List of useful links:
- [Unit Manager](https://github.com/personium/app-uc-unit-manager/)
- [Personium App Management](https://github.com/personium/app-market)
- [Users management](https://github.com/personium/app-uc-directory)
- [End-user GUI](https://github.com/personium/app-cc-home)
### Personium App Developer
A person who designs and develops the human-centric user interface of Personium apps for the end-user. The end-user uses such apps which use personal data to provide valuable services and/or manage personal data stored in the PDS (Personium Cell). Please refer to this [document](https://personium.io/docs/en/app-developer/README/) for details. The following skills are required.
1. App frontend (Native / Web) development knowledge : JavaScript, HTML, CSS, iOS / Android
2. UX / UI design skills
3. HTTP request / response handling (REST APIs)
4. Basic understanding of OAuth 2.0 protocol
5. [Personium API Reference](https://personium.io/docs/en/apiref/000_Rest_API_Reference/)
List of useful links:
- [React template for web app](https://github.com/personium/personium-blank-app)
- [Simple note app using jQuery](https://github.com/personium/app-myboard)
- [Simple calendar merger app using jQuery](https://github.com/personium/app-personium-calendar)