- Works on the latest edge technologies.
- Provides a lot of experience in a variety of different work.
- You will have to wear different hats, you can be a software developer and still have to handle a lot of other stuffs.
Cons
- Too much flexibility. Many time leads to a lack of clarity.