Quoth the scripture:
Adding members to flexible database roles requires one of the
Membership in the db_securityadmin or db_owner fixed database role.
Membership in the role that owns the role.
ALTER ANY ROLE permission or ALTER permission on the role.
Adding members to fixed database roles requires membership in the
db_owner fixed database role.
That said, I would
- create role [Developers] authorization [dbo]
- grant select, insert, update, delete, execute to [Developers]
- grant alter on role::[Developers] to [some developer]
Then, by bullet point three from books online, user [some developer] can add anyone to the Developer role and they'll get the permissions that the role grants.
Consider getting more granular in your granting though. For instance, if your user objects are in a schema, consider granting permissions at a schema level rather than on everything in the database as I've done above by not mentioning a securable in the GRANT statement.