2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2, 3, 4, 5 ... 11  След.
 
 Моя производительность в написании программ
Сообщение02.09.2010, 17:22 
Аватара пользователя


01/04/10
910
Привет.

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

Меня беспокоит моя производительность, я незнаю, что будет требовать от меня мой будущий работодатель.

Скажу так, что программы пишу с нуля (на C), но в день пишу максимум строк 20, а всё остальное время думаю как сделать лучше. То есть рабочий процесс выглядит так: подумал, попил чаю, написал пару строк, посмотрел youtube, пришла в голову новая мысль, удалил пару строк, прогулялся, написал пару строк. За 9 часовой рабочий день набирается 20 строк кода.

Например, на надёжную работу программы из 400 строк мне понадобилось 3 с половиной недели, при этом первую неделю я вообще ничего не писал, а только тестировал маленькие 20 строчные прототипы, где узнавал как работают нужные мне API.

А модуль nginx (до этого абсолютно ничего незнал об API nginx) размером 1600 строк (+ отладочный код) я писал с февраля (первые полтора месяца ушло на изучение с чего начать).

Это нормально? Я не говорю для профессионала, а для человека, который собирается идти работать программистом в команде в качестве начинающего на испытательный срок.

 Профиль  
                  
 
 Re: Моя производительность в написании программ
Сообщение02.09.2010, 18:38 
Аватара пользователя


20/12/08
236
изниоткуда
Нет, это было бы нормально, если бы вы умели компилить в уме множество вариантов и выбирать лучший.

(Оффтоп)

любители травы говорят, что это можно устроить, но вы ведь не любитель травы? ;)
А так 20 строк кода за полный рабочий день - это почти ничего, мне кажется.

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

Может быть, стоит уменьшить прием чая и youtube? :)

 Профиль  
                  
 
 Re: Моя производительность в написании программ
Сообщение02.09.2010, 19:01 
Аватара пользователя


01/04/10
910
allchemist в сообщении #349163 писал(а):
Может быть, стоит уменьшить прием чая и youtube? :)


Ничего в голову не приходит, если просто не отрываться от работы, просто быстрее утомляюсь.

То есть Вы можете за пару дней написать стабильно работающую программку средней сложности объёмом в 500 строк?

 Профиль  
                  
 
 Re: Моя производительность в написании программ
Сообщение02.09.2010, 19:25 
Аватара пользователя


20/12/08
236
изниоткуда
Обычно я переписываю свой код по несколько раз, пока он не будет мне нравиться, а стабильность - это понятие, сильно зависящее от задачи. Тем не менее, в среднем, да, почему бы и нет?

(Оффтоп)

Говорят, что скорость написания и отладки сильно зависит от выбора языка.

 Профиль  
                  
 
 Re: Моя производительность в написании программ
Сообщение02.09.2010, 19:29 


13/10/09
283
Ukraine
creative писал(а):
Меня беспокоит моя производительность, я незнаю, что будет требовать от меня мой будущий работодатель.

Скажу так, что программы пишу с нуля (на C), но в день пишу максимум строк 20, а всё остальное время думаю как сделать лучше.
. . .
Это нормально? Я не говорю для профессионала, а для человека, который собирается идти работать программистом в команде в качестве начинающего на испытательный срок.

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

Правильный работодатель (командир программистов) должен не только брать от Вас результирующий код, но и обучить своему мастерству и опыту. Чтобы только требовать и давать задания, много ума не надо. Если Ваш непосредственный начальник имеет профессиональный уровень ниже Вашего, то какое право он вообще может что-то требовать? В этом случае Вы сами должны делать погоду на предприятии. Недавно прочел в журнале Computer World (Ukraine) откровения одного заместителя директора по ИТ (информационным технологиям). Так этот крутой навороченный «суперпрограммист» ставил в себе в заслугу одну единственную вещь. Он выбрал программистскую фирму, которая должна была внедрять компьютерный учет на его предприятии. Типа из десяти контор надо было выбрать одну! Зато как он был горд, что выбранная им фирма за «квадратные» бабки готова была решить его проблемы всего за полгода. Его программистское самолюбие светилось от гордости за себя любимого. А Вы бы стравились с подобной задачей? Если Ваш ответ «да», то вполне можете рассчитывать на служенный Мерседес с красавицей секретаршей :roll: и пачку резаной зеленной бумаги с мертвыми президентами :roll:.

«Тяжела и неказиста жизнь просто программиста» (народный фольклор). Вообще-то, кодить на дядю это неблагодарный труд. Лучше быть единственным программером в фирме и работать в основном на себя. Или, по крайней мере, пахать, но получать достойное вознаграждение. При условии, обучение, повышение квалификации за счет фирмы. Сейчас такие времена, что редко, что действительно нужно писать с нуля. Уже есть практически все. Нужно просто уметь воспользоваться готовым, только и всего. В идеале, можно ориентироваться на shareware и получать с этого дополнительный заработок. Вопрос только в одном, можете ли Вы генерировать новые идеи или предпочитаете исполнять чужую волю (кодить по техзаданию)?

 Профиль  
                  
 
 Re: Моя производительность в написании программ
Сообщение02.09.2010, 19:41 
Аватара пользователя


01/04/10
910
Предположим Вам дали задание написать модуль наподобие вот этого:

http://lxr.evanmiller.org/http/source/h ... c_module.c

(этот модуль отдаёт статику)

И Вы вообщеи ничего не знаете об API в nginx. За какое количество времени Вы напишите подобный модуль, который будет работать стабильно вообще без сегфолтов и зависаний?

to Scholium

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

 Профиль  
                  
 
 Re: Моя производительность в написании программ
Сообщение02.09.2010, 19:52 
Заслуженный участник


27/04/09
28128
Может быть даже, в вашем положении я писал бы всего 10 строк (узнавание нового API, обдумывание логики программы, которую будут использовать люди, отличные от себя самого и т. п.). Но, увы, не могу вообразить. А и самому важно, хотя ещё 4 года учиться.

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

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

 Профиль  
                  
 
 Re: Моя производительность в написании программ
Сообщение02.09.2010, 19:57 


24/03/07
321
сейчас считается, что скорость написания программ важнее скорости выполнения (доп. железо стоит дешевле доп. работы программиста). Поэтому программы стараются писать побыстрее, не обращая особого внимания на производительность. А когда производительность становится существенна - переписывают узкие (тормозные) места кода.
Да и вообще, не нужно пытаться сразу писать идеальный код. Сначала быстро пишут некий протопит, глючный и непроизводительный, а потом уже по надобности корректируют код.

 Профиль  
                  
 
 Re: Моя производительность в написании программ
Сообщение02.09.2010, 20:21 


13/10/09
283
Ukraine
creative писал(а):
Предположим Вам дали задание написать модуль наподобие вот этого:

http://lxr.evanmiller.org/http/source/h ... c_module.c

(этот модуль отдаёт статику)

И Вы вообщеи ничего не знаете об API в nginx. За какое количество времени Вы напишите подобный модуль, который будет работать стабильно вообще без сегфолтов и зависаний?

Я бы не взялся за эту задачу – не интересно, да и вообще не Виндоза.

creative писал(а):
to Scholium

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

Я эту проблему для себя решил. По принципу: «сначала я работал на свои программы, а теперь мои программы работают на меня» :roll:. Появилось больше свободного времени и проги пишу сейчас для удовольствия. Примеры моих последних статей можете посмотреть в http://www.codeproject.com/KB/list/Emery-Emerald-04.aspx и в http://www.codeproject.com/KB/cpp/NaturalSort.aspx. Там есть ссылки на мой русскоязычный сайт и на математический результат на этом форуме.

Интересно, какие бы Вы предложили идеи, если бы вас попросили изложить концепцию простой программы учета ресурсов и начислений на средних предприятиях? Условие WinAPI32 и чистый С. В крайнем случае, MFC. Ближайший прототип – полностью сконфигурированная 1С77 (с универсальной конфигурацией по учету и начислениям), но гораздо лучше ее.

 Профиль  
                  
 
 Re: Моя производительность в написании программ
Сообщение02.09.2010, 22:21 
Аватара пользователя


22/08/06
756
Цитата:
но в день пишу максимум строк 20

Вы меня шокировали.

Я думаю, чтобы повысить производительность работы, вам стоит каждый день заниматься математикой. Начните с матанализа, хотя бы.

Я не являюсь профессиональным программистом. Но я все-таки имею некоторое отношение к программированию. Мне кажется, 20 строк не является удовлетворительным результатом. Даже не смотря на заявления типа: главное не количество, а качество. Согласен. Но если тратите на одну сточку кода целый час (примерно), то и оплачивать ваш труд нужно соответственно. Мало, но качественно.

Вы говорили, что не имеете высшего образования и считаете, что оно вам ничего не дест. Даст. Хотя то, что у вас увеличится производительность работы. После ваших заявлений вы обязаны бежать получать образование. Лучше всего туда, где много теоретической физики и математики.

 Профиль  
                  
 
 Re: Моя производительность в написании программ
Сообщение02.09.2010, 22:40 


24/05/09

2054
Программирование разное бывает. Если рутина - внешнее оформление с начинкой из простой арифметики, то и строки кода будут "лететь". Если задача сложна - сами понимаете. Для первого и высшее образование в принципе не нужно. За вторую задачу такой программист скорее всего не возьмётся.

Представьте, что после задачи учета на предприятии (красиво оформленная арифметика) вам дают задание написать программу распознавания лиц работников или сканирования отпечатка пальца.

 Профиль  
                  
 
 Re: Моя производительность в написании программ
Сообщение02.09.2010, 22:55 
Аватара пользователя


22/08/06
756
Alexu007, согласен с вами полностью. Остается узнать лишь, какими задачами занимается автор треда.

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

 Профиль  
                  
 
 Re: Моя производительность в написании программ
Сообщение03.09.2010, 06:31 
Заслуженный участник


08/04/08
8556
creative, 20 строк - это мало. Хотя бы 100 строк. Хотя я скорее быдлокодер и пишу методом Ctrl-C-Ctrl-V и вызов методов в программе почти не использую (почти SQL один), но у меня порядка 100 строк точно есть. Попробуйте поанализируйте свой метод писания кода и оптимизируйте его. Как Вам советуют, лучше пишите сначала код, который понятен и в принципе работает, пусть с тормозами и без обработки исключений, а затем его аккуратно оптимизируйте. Выработайте и запомните основные приемы кода, который Вы пишете и применяйте их. Ну и т.д. Можно почитать книжку Макконелла "Совершенный код". В Интернет лучше вообще не лазить (закрыть его и поставить случайный пароль). Потратите месяц на самосовершенствование - станет легче кодить + совершенствование будет происходить полуавтоматически.
Ну это, конечно, мое личное мнение.

 Профиль  
                  
 
 Re: Моя производительность в написании программ
Сообщение03.09.2010, 10:35 


13/10/09
283
Ukraine
Sonic86 писал(а):
creative, 20 строк - это мало. Хотя бы 100 строк.

Вы напрасно ориентируетесь на количество, а не качество. Мало и 100 строк, если «попрет». Но много и 1 строка в день, если Вы вынашиваете концепцию, идею программы. У меня практически есть возможность набрать команду программистов в свою фирму, под моим руководством. Однако, те выпускники ВУЗов, что приходили на собеседование, сами уходили в другие отделы. Хотя я им всем говорил: «Контора у нас блатная, так что Вы будете работать здесь в любом случае, даже ничего не делая. От Вас мне ничего не нужно, но если есть интерес к программированию, как таковому, я могу помочь развить Вам Ваши способности безотносительно к потребностям фирмы, так как все, что нужно было запрограммировать, я уже запрограммировал». Однако, практически все выпускники -программисты отказались от такой перспективы. Насколько я понял, они не чувствуют себя способными к программированию и не желают посвящать этому свою карьеру. Их предпочла карьера начальника отдела снабжения, отдела экспортно-импортных операций и т.д. Заниматься реальным делом не захотел никто, хотя бы для своего собственного развития. Поэтому если бы Вы Sonic86 или creative пришли бы ко мне устраиваться на работу, я бы вас взял (пока есть вакантные места). Только мне было бы глубоко ультрафиолетово, сколько строк в день Вы пишите. Я бы с Вами предпочел разговор о концепциях и идеях программирования. Например, какую лучше всего написать shareware программу и как организовать ее продажи через Интернет? Что лучше, писать платные или бесплатные программы? И, наконец, мой конек, какими должны быть учетные программы? Ну и так далее. Если Вы станете одержимы работой, которой делаете, то сможете легко работать по 14 часов в день, выдавая в день столько тонн кода, сколько нужно. Так что, пока Вы все ведете детские разговоры :roll:.

 Профиль  
                  
 
 Re: Моя производительность в написании программ
Сообщение03.09.2010, 11:12 
Заслуженный участник


08/04/08
8556
Scholium писал(а):
Вы напрасно ориентируетесь на количество, а не качество. Мало и 100 строк, если «попрет». Но много и 1 строка в день, если Вы вынашиваете концепцию, идею программы.

Ну это уже зависит от условий. Я предполагал наиболее естественные условия: либо Вы пишете все или почти все заново, а значит необходимо много служебного или сильно специального, технического кода, который кто-то должен писать, либо Вы заходите в какой-то большой проект, в его небольшую часть, там разбираетесь и программируете, код, опять же, сильно специальный, разобравшись предварительно в методах, классах, цели программы и пр. Программа м.б. и почти неконцептуальной. Напр., я сопровождаю программу для почты. М.б. у меня с интеллектом плохо, но ничего глубокого, интересного я в программе для почты помыслить (м.б. это от издержек матобразования) не могу и пишу довольно стандартный код. Идею программы носят архитекторы. Приходя в компанию в архитекторы не попадешь просто так + мозг нужен + образование. Если ты попал туда - тогда да, там 1 строка многого стоит.
Scholium писал(а):
Однако, те выпускники ВУЗов, что приходили на собеседование, сами уходили в другие отделы. Хотя я им всем говорил: «Контора у нас блатная, так что Вы будете работать здесь в любом случае, даже ничего не делая. От Вас мне ничего не нужно, но если есть интерес к программированию, как таковому, я могу помочь развить Вам Ваши способности безотносительно к потребностям фирмы, так как все, что нужно было запрограммировать, я уже запрограммировал». Насколько я понял, они не чувствуют себя способными к программированию и не желают посвящать этому свою карьеру. Их предпочла карьера начальника отдела снабжения, отдела экспортно-импортных операций и т.д. Заниматься реальным делом не захотел никто, хотя бы для своего собственного развития. Поэтому если бы Вы Sonic86 или creative пришли бы ко мне устраиваться на работу, я бы вас взял (пока есть вакантные места). Только мне было бы глубоко ультрафиолетово, сколько строк в день Вы пишите. Я бы с Вами предпочел разговор о концепциях и идеях программирования. Например, какую лучше всего написать shareware программу и как организовать ее продажи через Интернет? Что лучше, писать платные или бесплатные программы? И, наконец, мой конек, какими должны быть учетные программы? Ну и так далее. Если Вы станете одержимы работой, которой делаете, то сможете легко работать по 14 часов в день, выдавая в день столько тонн кода, сколько нужно. Так что, пока Вы все ведете детские разговоры :roll:.

Ничего себе :shock: я думал, что так не бывает. Тогда да, у Вас будут совсем другие требования и мои рассуждения у Вас не проходят.
А вообще это да - важный фактор - Вы хотите заинтересовать человека работой, а любимая работа - это Вещь! Любимая работа была элементом утопий Стругацких. Я исходил из безразличного отношения к работе, возможно, что и зря. Так что мой совет - в последнюю очередь.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 157 ]  На страницу 1, 2, 3, 4, 5 ... 11  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group