Я работаю в Altium. Дмитрий Шелковенков про тягу к электронике, поиски себя и работу hardware-инженером

0
448
Дмитрий Шелковенков
Дмитрий Шелковенков

Hardware-Инженер Дмитрий Шелковенков рассказывает, как тянулся к электронике, взял судьбу в свои руки, стал hardware-инженером и с какими вызовами он сталкивается сегодня.

Начало пути

К своей нынешней профессии, hardware-инженера, я шёл несколько кружным путём. Нет, интерес к технике, к электронике, по словам моих родителей, у меня был едва ли не с рождения, и в первый раз я взял в руки паяльник в шесть лет.

Всю свою школьную жизнь проводил в радиокружках, искал радиолюбительские книги, пытался что-то паять – то, с чего обычно всё начинается: какие-то простые цифровые схемы, усилители. Конечно, на тот момент о проектировании речи не шло – всё собиралось из подручных средств, зачастую просто навесным монтажом на куске картона. Но, что удивительно, оно работало.

Как я стал инженером

К концу школы я уже точно знал, что это должно стать моей профессией. Поэтому и документы подал только в один вуз – Харьковский университет радиоэлектроники в родном городе. Там началось моё профессиональное обучение. Конечно, мы изучали и системы для проектирования электронных схем, в частности, OrCAD; то есть свою профессиональную деятельность в качестве инженера-электронщика я начал именно с OrCAD.

Но так вышло, что на последних курсах моё направление немного изменилось, и я ушёл писать диссертацию по спутниковой навигации, которая всё-таки больше связана с математикой, программированием и обработкой данных.

После учёбы я устроился в конструкторское бюро «Протон», которое занималось разработкой приёмо-передающих устройств – и именно там впервые услышал об Altium. Хотя я пришёл туда скорее как научный сотрудник и как программист, меня всё равно тянуло к железу, к электронике.

И однажды я зашёл к коллегам-электронщикам и спросил, в какой системе они проектируют платы. Это оказался Altium Designer – если правильно помню, Altium Designer 9 или даже младше.

Примерно в тот же момент, так совпало,ко мне обратился знакомый знакомого, которому был нужен инженер. Сказал, что ему рекомендовали меня как человека, который интересуется электроникой. Задача была в том, чтобы осуществить разработку высоковольтного источника питания, управляемого микроконтроллером.

В то время я, по сути, ещё работал программистом, но уже стал задумываться о том, чтобы сделать что-то своими руками, создать с нуля какой-то прибор, который не стыдно будет отправить в производство.

Знакомство с Altium

Дмитрий Шелковенков

С этого момента я и начал знакомиться с системой Altium Designer. Использовал демо-версии, чтобы попробовать, понять, как это вообще – что-то разрабатывать, как это происходит. Конечно, сперва были самые простые однослойные платы – я сделал целых две, если не ошибаюсь, 4 х 8 см, с одним микроконтроллером PIC и парой стабилизаторов. Более-менее разобрался, как всё должно выглядеть, хотя назвать меня на тот момент профессионалом было крайне сложно.

Каждый раз, когда я приходил отдавать проект в производство, мне было стыдно, потому что я слишком многого не знал. В первый раз я даже принёс ребятам не Gerber-файл, как они просили, а CAMtastic, на что мне сказали: «Нет, ты не понял, нам нужен не CAMtastic, а Gerber». Я ответил: «Ладно, пошёл дальше доучивать». В итоге всё-таки разобрался и принёс Gerber.

Они спросили: «Какой слой меди тебе нужен? Какая толщина платы?» И всё, что я мог сказать, было: «А я не знаю». Таков был мой первый проект, первый опыт. Но он показал, что мне это интересно. Что-то я освоил, что-то сделал, и в итоге было произведено около четырехсот приборов – с разными доработками, модификациями, но произведено.

Через некоторое время я перешёл в другую компанию, где занимался продажей геодезического оборудования. А потом наступил 2014 год. В сложной политической ситуации стало тяжело с работой, и тогда я решил для себя, что пора брать судьбу в свои руки и что-то делать самому, а не плыть по течению.

Взять судьбу в свои руки

Melexis
Melexis

Я создал профиль в LinkedIn на английском языке, и через некоторое время меня пригласили в компанию Melexis, в их киевский офис, на должность тест-инженера микроэлектроники. То есть тестировать не программный продукт, а именно продукты микроэлектроники.

Поскольку Melexis выпускает микросхемы для автопромышленности, существует требование – каждая произведенная микросхема должна быть протестирована на производстве перед тем, как отправиться дальше, к потребителям, интеграторам и т.д.

Основная задача тест-инженера в нашей компании – создание программы, которая будет управлять тестером, и меня взяли благодаря значительному опыту работы программистом. И около двух лет я занимался именно этим. Но такая работа очень тесно связана с электроникой – то есть ты должен знать, понимать, что и как будешь тестировать, плюс понимать платы, которые создаются в качестве интерфейса между какой-то микросхемой, и нашими тестерами.

Определенный период у нас очень не хватало людей, которые разрабатывали такие платы, и я подумал – «А почему бы и нет?». И предложил свою помощь в разработке этих плат, ведь какой-никакой опыт в Altium Designer у меня все-таки был, а программный продукт, который используется у нас в компании для разработки плат – это именно Altium Designer.

Начало карьеры в hardware-инжиниринге

Я работаю в Altium. Дмитрий Шелковенков про тягу к электронике, поиски себя и работу hardware-инженером

Так я начал совмещать работу тест-инженера и попутно делать платы внутри компании. Тогда я занимался микросхемами для работы с оптикой и сделал тест-программу для этой микросхемы, плюс заодно разработал платы этого же проекта. Через какое-то время и другие тест-инженеры стали просить меня делать платы и для их проектов, потому что у меня получалось неплохо.

Каждый вечер, каждые выходные я изучал что-то, чтобы понять, как можно сделать что-то быстрее, эффективнее, без ошибок. Как делать платы на действительно профессиональном уровне, чтобы облегчить жизнь моим заказчикам – тест-инженерам. Чтобы было меньше патчей, меньше изменений, чтобы всё это можно было отладить и так далее.

В какой-то момент я понял, что начал видеть проблемы, связанные с проектированием плат, то есть я мог прийти к нашим hardware-инженерам и подсказать им: «Ребята, вы не используете такую-то функцию Altium Designer, а она может упростить жизнь и ускорить работу».

Успех и признание

Так продолжалось около полугода, потом я съездил в командировку в Германию, где пообщался с лидером команды hardware-инженеров Melexis. С ним я общался и до этого, ещё как тест-инженер, так что мы были знакомы. И меня пригласили на совещание, где были все hardware-инженеры нашей компании, и сделали предложение – стать hardware-инженером на постоянной основе. Это был успех, признание, и, конечно, я был рад заняться тем, что мне нравится – созданием плат.

Так что весной 2018-го я уехал в наш немецкий офис, уже в качестве hardware-инженера, и вернулся из этой длительной командировки только в марте 2020-го. За эти два года я достаточно глубоко погрузился в сам Altium Designer, в те проблемы, которые периодически возникают, в те процессы, которые происходят на стороне производителя плат, в особенности заказа компонентов и так далее – всё то, что знакомо, думаю, любому hardware-инженеру, который работает на профессиональном уровне.

Что интересно – мне и здесь пригодился опыт программиста, потому что в какой-то момент мы обнаружили, что нам чего-то не хватает в функционале Altium Designer, и я начал писать для него скрипты. Например, мы автоматизировали работу с нашими репозиториями, автоматизировали добавление нестандартных параметров для компонентов в схеме, и так далее.

Кроме того, я продолжил заниматься тестированием, поскольку нужно было закрыть вакансию в компании, так что до конца 2020 года я проработал ведущим тест-инженером. Но с 2021-го снова официально вернулся в роль hardware-инженера.

Техподдержка и сотрудничество

Ещё один важный момент, ставший для меня неким прорывом 2020 года – знакомство с Игорем Зыриным из российского подразделения Altium, которое действительно помогло сблизить наши компании: Altium как производителя CAD-системы и Melexis как пользователя. И результаты этого сотрудничества уже заметны.

Так, например, Игорь подсказал нам, как быстро сделать перенос правил проектирования с одной платы на другую, не создавая множества скриптов. То есть у нас была идея – создать систему скриптов, которая позволила бы задавать правила проектирования для плат по образцу, грубо говоря, сделать кнопочку в меню, которая бы автоматически создавала правила для того или иного типа плат.

Потому что платы у нас в общем-то типовые и правила типовые, а каждый раз создавать эти правила заново было проблематично, поэтому мы и хотели сделать этот набор скриптов, который позволил бы всё автоматизировать. А Игорь показал, где в Altium уже есть для этого готовый функционал.

Мы, в свою очередь, помогаем в работе над улучшением Altium Designer как программного продукта в целом. Например, мы нашли очень неприятный баг в Altium Designer 20, начиная с версии Altium Designer 20.1 – баг, из-за которого программа всегда говорила, что схема не содержит ошибок, даже если они есть. К сожалению, из-за этого были прецеденты, когда платы изготавливались с ошибками. И вот, совместно мы смогли решить эту проблему, поэтому в Altium Designer 21 её уже устранили.

Altium вышел на новый уровень

На мой взгляд, качество поддержки за последние годы значительно улучшилось. Ранее получить быстрый ответ от компании не получалось, приходилось тратить время на самостоятельный поиск решения. Сейчас же передача обращений с первой линии поддержки техническими специалистами происходит намного быстрее.

С другой стороны, конечно, у меня уже появился опыт, то есть я знаю, что, если я задаю вопрос, то желательно сразу приложить какой-то тестовый проект, снимки экрана, и это тоже позволяет ускорить обработку запроса. Но, в любом случае, видно, что нас как пользователей системы услышали, и что движение в этом направлении есть.

Да и разработка новых версий ПО идёт более скрупулёзно. Я просто ради интереса подписан на тему бета-тестирования Altium на форуме компании и получаю все новые сообщения, которые там появляются – и я вижу, например, что для Altium Designer 21 количество сообщений было на порядок меньше, чем, например, для Altium Designer 19, потому что ошибок обнаруживается куда меньше.

Для сравнения – была история с релизом Altium Designer 18, когда множество бета-тестеров сообщало об ошибке в панели свойств: программа могла показывать свойства предыдущего выбранного объекта. То есть ты работаешь, всё нормально, а потом в какой-то момент обнаруживается, что ты отредактировал свойства не тех объектов. Это было реально тяжело, и люди сообщали об этом, и, тем не менее, новая версия была выпущена с этой ошибкой. Сейчас видно, что подход к релизам Altium Designer более ответственный.

Общение с коллегами: установка партнёрских отношений

Возвращаясь к вопросу о поддержке: то, что в русскоязычном сегменте индустрии появился такой ресурс – группа Altium&Electronics в Telegram, где можно просто задать вопрос другим пользователям, узнать, может, кто-то сталкивался с подобной проблемой, посмотреть их мнения, их ответы – это замечательно.

Это может быть и быстрее, и полезнее, чем создавать обращение в службу поддержки на сайте. И то, что есть такой человек, как Игорь Зырин (его статьи можно найти здесь), который и сам много знает, и, если не может ответить на вопрос, то может порекомендовать кого-то из коллег или предложить добавить какую-то идею, чтобы она сразу ушла к дизайнерам – это просто какой-то новый уровень общения между двумя компаниями.

И это не замена и не дублирование англоязычного форума Altium – это просто другое. Форум – классная штука, но, судя по тому, что я вижу, там редко доходит до каких-то именно технических дискуссий, потому что людям, которые там есть, зачастую нужно просто что-то быстро спросить или сообщить и бежать дальше.

С моей точки зрения такое общение – это именно то, что должно быть. Когда я жил и работал в Германии, то видел, что там это нормальная практика. Периодически компании-поставщики каких-то компонентов могут позвонить и сказать: «У нас появились новые разъёмы, давай мы к тебе заедем, покажем, поговорим».

Такой подход позволяет показать, что между компаниями существуют партнёрские отношения, а не просто «продавец-покупатель», когда ты купил какой-то продукт, и больше у тебя нет никаких прав, нет мнения. Иметь возможность посидеть и поговорить, один на один, как инженер с инженером – это большой шаг вперед.

А возможность пообщаться по техническим вопросам позволяет искать и находить решение той или иной проблемы – совместно пользователю и производителю, – и благодаря этому создаётся действительно хороший продукт!

Советы начинающим инженерам

Очень приятно видеть такие изменения к лучшему, видеть, как развивается индустрия в целом и её русскоязычный сегмент в частности. И для людей, которые только приходят в неё, сейчас открывается масса возможностей. Сегодня начать делать первые шаги в мире печатных плат гораздо проще.

Существует много разных CADов, в том числе и бесплатных – можно начинать с них, делать продукты с открытым кодом – чтобы просто посмотреть, насколько это нравится, насколько это интересно. И если да, если это твоё, то надо просто брать, изучать и делать – и делать на как можно более высоком профессиональном уровне.

Понятно, что все начинают с однослойных, двухслойных плат с какими-то невысокими скоростями, но если ты посвятил изучению функций CADа какое-то время, накопил базу знаний, собственные библиотеки, то дальше всё становится ещё увлекательнее. Ты уже можешь делать какие-то более крутые штуки, тебя начинают интересовать новые сложные вопросы и задачи, вроде: “Как в 10 слоях развести высокоскоростные сигналы?”, “Как избежать взаимного влияния сигналов?”, “Как там дела с целостностью сигналов?” и т.д.

Следующий шаг – переход к более профессиональному лицензированному ПО. Да, это дорого, но, если ты приходишь в какую-то компанию или же у тебя уже выстроился свой бизнес, ты можешь перейти на тот же Altium Designer и делать в нём сложные вещи: проекты с несколькими платами, 10—, 12-слойные платы, высокотехнологичные переходные отверстия и так далее.

Понятно, что чем выше уровень, тем выше и цена ошибки. Запорол плату – и всё, три тысячи долларов ушли в мусорное ведро. Такие случаи бывают, и в моей практике тоже – от ошибок, к сожалению, не застрахован никто. Но всё достигается с опытом, с навыками – постепенно ты начинаешь понимать, какие подходы к проектированию схематики использовать, чтобы было как можно меньше ошибок, и т.д.

Поэтому необходимо постоянное профессиональное саморазвитие, движение вперед – ведь и электроника не стоит на месте. Постоянно появляются какие-то новые вещи. Не зря в каждой новой версии Altium Designer добавляются такие новшества как дизайн гибко-жестких плат, обратное сверление внутренних отверстий, расчёт импеданса и подобные интересные приёмы.

Я знаю по собственному опыту – работа должна приносить моральное удовлетворение. Я пришёл в hardware исключительно по призванию. Случалось несколько раз в жизни, что я уходил и занимался чем-то другим, и, в общем-то, занимался успешно, но это не приносило удовольствия. А вот ощущение, когда ты сделал какое-то сложное устройство, со сложной платой, высокими скоростями – это действительно здорово!

Завершение

Непрерывное повышение требований к эффективности процесса разработки, в том числе печатных плат,  в современных условиях устанавливает всё более высокую планку к качеству и гибкости средств разработки. Усовершенствование сложных программных продуктов, таких как Altium Designer, с моей точки зрения, возможно только при тесном сотрудничестве с реальными пользователями.

Приятно, что компания Altium осознала это и поддерживает инициативы вроде групп в Telegram. Такой подход, с одной стороны, позволяет пользователям получить поддержку максимально быстро, и, с другой стороны, даёт разработчикам Altium  возможность получить обратную связь из “поля”.

Хочу выразить отдельную благодарность сотрудникам компании Altium: Игорю Зырину за его инициативу и непрерывную работу по поддержанию группы Altium&Electronics, а также Игорю Скрынникову за инициативу по созданию данной статьи.