Loading this job…
Something has to summarise yesterday. Every night a batch job rolls up opens, clicks, bounces and unsubscribes into the tables that power customer reports, and that job is where you will spend three months.
It is a Spring Batch application: readers pulling from MySQL, a processor doing most of the arithmetic, writers upserting into aggregate tables. Your first task is making its failures legible, because today a single malformed row kills the whole run and the log says almost nothing useful. You will add skip policies, a rejected-records table, and a small REST route that lets support re-run one tenant's rollup without waking an engineer.
This position is unpaid. In exchange you get real ownership of a job that runs in production every night, code review from the reporting team lead twice a week, and three days a week in our Mumbai office beside people who will answer your questions properly.
Final-year student or recent graduate. Java fundamentals, working SQL, and enough stubbornness to trace a wrong number backwards through four transformations to the row that caused it.
MailerMen runs a verified job board covering startup and product roles across twelve markets, and takes on interns across engineering, data, design and marketing to build it.