для прочистки мозгов посоветую прочитать книжку Замяткина (
www.zamyatkin.com - если ошибся в написании, то сайт легко находится поиском) "Вас невозможно научить иностранному языку".
однако отмечу, что у Вас задачи не очень коррелирующие друг с другом ("подтянуть уровень" и "писать документацию").
первая задача решается обучением в области "общего английского (или любого другого) языка". вторая - как говорили Керниган и Ритчи: чтобы научиться писать программы, нужно начать писать программы.
в конечном счете по первой задаче результат сравнительно легко достижим, т.к. даже дети через 3-5 лет после рождения вполне сносно ))) начинают говорить на любом языке, будь то русский, английский или мандаринский диалект китайского ))))
по первой необходимо общение под руководством толкового преподавателя (где-то у меня были контакты, поищу, если не забуду). такие варианты есть, но это нужно выделять достаточно много времени. что имеет смысл тогда, когда это инвестированное время плавно перетечет в профессиональные коммуникации.
вторая же значительно более неопределенная. т.к. если при решении первой задачи преподаватель (по своему статусу) будет вас поправлять с грамматикой, произношением, использованием тех или иных оборотов, то при решении второй задаче вы должны будете вариться в некоем профессиональном окружении, где наставники находятся далеко не всегда, имеет место довольно сильная конкуренция, и существенен финансовый результат (как некая производная от усилий по созданию документации). что само по себе (в целом или по отдельности) IMHO не является комфортной средой для обучения чему-либо, особенно в части коммуникативных методик.
Единственной средой, где более-менее это возможно IMHO является академическая: обучение и научная деятельность, где могут снисходительно отнестись к форме в пользу содержания, что создает потенциальные условия для совершенствования соответствующих навыков (но не заменяет их!)