На каком я сейчас уровне?
1. Не умеешь пользоваться гитом, тк загрузил файлы через Upload
2. Код невозможно проверить, тк ты закинул только cs файлы, но не приложил не менее важный csproj - не разбираешься, как собирается проект.
3. Про свич кейс тебе уже сказали в комменте.
Про остальное мало что можно сказать - код самый обычный, на три с минусом, не очень хороший, но и не слишком ужасный.
С архитектурой плохо, тк детали реализации смешаны с бизнес-правилами.
По алгоритмам нельзя оценить, тк никаких сложных алгоритмов в твоём проекте нет.

Уровень, имхо: стажёр/младший разработчик(обязательно под менторством и наблюдением более опытного)
Открыл первый попавшийся файл в репе: 
1. Какова цель GetCompanyById, если к этой же коллекции есть доступ на чтение снаружи?
2. Что произойдет, если в этот метод я подам -1, 0, 100500?

К остальным замечаниям присоединяюсь (нет файла проекта, нет ридми и т.п.).
То есть сейчас это даже не программа - а набор исходников, под какой фреймворк/сдк, под какую среду?
Я же могу это закинуть в проект под .NET Framework 4.0 и сказать что у вас тут десяток ошибок.