Можно ли претендовать на должность junior-frotnend (trainee) с таким кодом?
Сразу по первой функции
1. workers объявлена, но нигде не используется, const workers = [
    {
      name: 'Mike',
      work: 'Google',
      id: 0
    }
  ];
Тогда уж поместить внутрь возвращаемого объектаreturn {
    workers: [{
      name: 'Mike',
      work: 'Google',
      id: 0
    }],
2. ВместоaddWorker(worker) {
      worker.id = workers.length;
      workers.push(worker);
    },
кошернееaddWorker(worker) {worker.id = workers.push(worker);}
чтобы нумерация начиналась с единицы а не с нуля. ЛибоaddWorker(worker) {workers.push([...worker, id: workers.length + 1]);}
3. функцию removeWorker проще и рациональней переписать в видеremoveWorker(worker) {
        const id = Number(worker.dataset.id);
        const index = workers.findIndex(item => item.id === id);
        workers.splice(index, 1);
    },
4. Код функции isWorkerEmpty можно сократитьisWorkerEmpty(worker) {return Object.values(worker).every(v=>v);}
5. Почему функция возвращения workers называется getUsers не очень понятно.
Как уже выше писали - слишком запутано для такой простой задачи. Код должен быть простым и лаконичным. Помимо выше перечисленного заметил вот этот странный код:(function () {
		UiCtrl.createForm();
	}());
Не понятно зачем надо оборачивать вызов метода?
Рекомендации:Юзайте редактор с подсказками eslint. Например Intellij Idea + eslint + airbnb style. Это вас научит писать код в одном стиле.Юзайте современный front-end stack -> nodejs + es6-7 + webpack + ...Изучите -> Vue + React + Angular. Напишите несколько демо-проектов.Напишите резюме. Найдите как написать в современном стиле.Найдите понравившуюся вакансии в крупной-средней фирме. И изучите все что требуется для данных вакансий. После - отправьте резюме во все.Проходите тех-собеседования регулярно.