Actually, you can do this through the GUI. You can have multiple schedules assigned to a specific job. Just create a schedule that runs on the 15th and then another that runs on the 30th. On the appropriate days the job will execute. Reference:
https://www.mssqltips.com/sqlservertip/2139/sql-server-agent-job-management/. Look under the *"Schedules"* section for an example. Hope that helps!