• Колледж или университет?

    xez
    @xez
    TL Junior Roo
    Тааак. На дворе январь.
    Если вы про поступление, которое будет через полгода, бросайте писать дурацкие вопросы и садитесь за учебники. За такую уйму времени можно любой экзамен научиться сдавать.

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

    Однако, я считаю, что в колледж ни в коем случае идти не следует. В колледжи, техникумы и училища попадают ребята, а большинстве своём, не заточенные на приобретения каких-то знаний и построения карьеры (хотя есть, конечно же, и такие). И вот с этим контингентом оболтусов вам придётся находиться в одних стенах в ближайшие несколько лет. Для молодого человека, особенно, подверженного влиянию общества, не лучший выбор.
    Ответ написан
    4 комментария
  • Product manager с нуля, насколько реально?

    c3gdlk
    @c3gdlk
    Ментор в http://rubyboost.ru/
    имхо, не тратьте деньги на курсы. Книга по канбану ,книга по скраму, книга по agile и идите на стажировку.
    Тратите баксов 50 на платные Jira, ADO, pivotaltracket и еще бесплатно trello и разбираетесь во всех их кнопках которые сможете натыкать.

    И Вы на голову будете выше всех остальных кто ломится в стажировку. Стажировка - не работа. Просто халявный способ войти в айти и надо обойти таких же халявщиков

    пол года назад примерно на пикабу видел рекламу курса какой-то популярной конторы на менеджера. Они там сквиз замутили, типа как бы ты, как менеджер, поступил в данной ситуации. Забавно, но там либо не было правильного ответа, либо нельзя было ответить однозначно. Все вопросы были говно. Вот и как после этого доверять таким курсам.
    Ответ написан
    2 комментария
  • Product manager с нуля, насколько реально?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Джун продукт менеджер? нет такой специальности.
    Ты либо ведешь продукт, либо не ведешь. Даже помощник продукт менеджера должен быть в теме.

    Разработка весьма сильно отличается от любого другого материального продукта.
    А так как задача продукт менеджера в том числе и понимать куда мы движемся, то не разбираясь разработке, не умея даже примерно оценить затраты на реализацию разных фич (а то, что какие-то тимлиды или архитекторы вам подскажут - это неправда. Они будут топить за технологии, а не за хотелки бизнеса), вы просто развалите продукт.

    Конечно менеджмент сильно зависит от человека, и какой у тебя бэкграунд мы не знаем. Найди знакомых, которые в этом направлении работают, пообщайся тесно, выясни мнение айтишника со стороны не рандома с инета, а того, кто тебя знает и с тобой работал.
    Ответ написан
    3 комментария
  • Как определиться с направлением программирования или ЯП?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Отсутствует главный тезис о том, что знание ЯП не сделает вас программистом.
    Как вы верно заметили, понимание принципов работы серверов и сети тоже сильно помогут, в том числе и в случае со Swift, но этого также будет не достаточно, чтобы называться программистом (даже со знаниями ЯП).

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

    А при наличии опыта пересесть с одного ЯП на другой - это вопрос 1-2 недели максимум (ну кроме разве что С++ или какого-нибудь ассемблера).
    Ответ написан
    4 комментария
  • Какие курсы по full stack на javascript посоветуете на Украине?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Не надо лезть в фуллстек, пока ты не дошел ХОТЯ БЫ до уровня джуниора ХОТЯ бы где-то.
    Любые курсы будет погрызть по кусочкам всего, и не научиться ничему до уровня самостоятельности.
    Изучи что-то одно. Потом подумай надо ли тебе еще и другое, или углубиться в то, что изучил.

    Фуллстек разработчик это не тот, кто учит и фронт и бэк и базы данных. Это в первую очередь человек, который может в одиночку выполнить целый заказ. То есть это уже не джуниор по определению.

    Поэтому и сейчас, пока ты еще даже не начал изучать, не нужно уже кидаться в крайности и выбирать специализацию.
    Ответ написан
    Комментировать
  • Как вытянуть id и текс сообщения в телеграме на go?

    EvgenyMamonov
    @EvgenyMamonov Куратор тега Go
    Senior software developer, system architect
    Вот тут расписаны все поля структуры Message https://pkg.go.dev/github.com/go-telegram-bot-api/...

    Пример того, как можно получить нужные вам данные
    package main
    
    import (
    	"log"
    
    	tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api/v5"
    )
    
    func main() {
    	bot, err := tgbotapi.NewBotAPI("MyAwesomeBotToken")
    	if err != nil {
    		log.Panic(err)
    	}
    
    	u := tgbotapi.NewUpdate(0)
    	u.Timeout = 60
    
    	updates := bot.GetUpdatesChan(u)
    
    	for update := range updates {
                if update.Message == nil { // не обрабатываем если нет сообщения
                    continue
                }
    
                // ID сообщения, int
                log.Printf("message id: %s\n", update.Message.MessageID)
    
                // так вы можете получить текст сообщения полный (тип string)
                log.Printf("message: %s\n", update.Message.Text)
    
                if update.Message.IsCommand() {
                    // так вы получаете команду
                    log.Printf("command: %s\n", update.Message.Command())
    
                    // так вы получаете аргументы (параметры) команды, string
                    log.Printf("command: %s\n", update.Message.CommandArguments())
                }
            }
        }
    }
    Ответ написан
    Комментировать
  • Есть ли возможность комфортно изучать js без интернета?

    fruworg
    @fruworg
    Да, возможно. Пару книг, статей и нужных инструментов (иде, бд и другие, которые вам нужны) вполне хватит. Но есть проблема - без интернета может просто не получится решить какую-нибудь проблему.
    Ответ написан
    Комментировать
  • Какие книги есть для новичков в ПК, вроде Фигурнова?

    saboteur_kiev
    @saboteur_kiev Куратор тега Книги
    software engineer
    Википедия, статьи на Хабре, сайты вроде тостера и stackoverflow
    Ответ написан
    3 комментария
  • Устройство на работу после фриланса, как лучше?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Неподтверждённым опыт - отсутствующий опыт. Подавайте на джуна и выростайте в мидла через год, если действительно специалист.
    Ответ написан
    8 комментариев
  • Устройство на работу после фриланса, как лучше?

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

    Опять же можете создать репу на гитхабе с сэмплами, вот не поверю что нет каких то набросков.
    Само собеседование сейчас забавное, спросят что то типа SOLID возможно из Фаулера, даже тестового задания часто не дают.
    Ответ написан
    2 комментария
  • Как устроиться django-developer без опыта коммерческой разработки?

    Jacen11
    @Jacen11
    очень хреновое резюме. Причем многие выражения в любом случае нельзя использовать. Много мало того что ненужной воды, так еще и выставляет тебя в худшем свете!

    КАК ПРИШЁЛ К DJANGO
    да всем насрать как. Могут иногда на самом собесе спросить чтобы начать разговор

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

    Данный проект я начал создавать, чтобы проверить на что я способен это всё же интереснее, чем просто создавать сайты-блоги, визитки и тд. Я не завершил его по причине острой необходимости в подработке( начал писать на php об этом говорится в разделе СОПУТСТВУЮЩИЕ НАВЫКИ).
    очень интересно. На самом деле нет. Прям автобиографию написал. У hr сотни резюме, эта писанина им не нужна и не интересна. Они ищут человека с определенными навыками, не более.

    В проекте "социальная сеть" начал применять паттерн MVC, но не везде отрефакторил код.
    Твой проект скорее всего никто не посмотрит, а если посмотрит увидит МВС, но ты сразу признался что работаешь через жопу

    То что ты там дальше понаписал записывается так
    git, web-socket, django-channels, docker + redis.

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

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

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

    Заранее хотел бы извиниться
    опять не успел начать уже сам говоришь что рукожоп. Нельзя так говорить в принципе

    фриланс это больше про коммерцию нежели про программирование
    это вообще о чем? типа ты за интерес собираешься работать? Ну и что положительного тут должен увидеть хр?

    но зато я точно знаю, что могу находить решения для реальных задач
    пафосно. Только все так говорят, а доказательства где.

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

    Я быстро разбираюсь во всём новом
    это уже давно стало позорным клише в резюме

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

    Вывод
    Это беспонтовое резюме от школьника, который не то что питон, русский знает на 3. Такое сразу идет на помойку. Любой выпускник универа или свитчер инженер сходу будет предпочтительнее. Посмотри как другие люди составляют резюме и сделай так же
    Ответ написан
    Комментировать
  • Попросили примеры кода, что делать?

    DevMan
    @DevMan
    предоставить примеры или послать/объяснить почему нет.
    Ответ написан
    4 комментария
  • Попросили примеры кода, что делать?

    fedorez
    @fedorez
    Хатуль мадан
    1) девочка работает по скрипту. У неё записано - «пример кода» - вот она и спрашивает.
    2)пет-проекта я так понимаю нет? Если есть - просто залейте на гитхаб. Если нет - на будущее - напишите что-нить. Список простых проектов можно погуглить.
    3) если таки совсем нет - так и говорите. Я лично не считаю отсутствие своего кода минусом, экстремизм это. Просто если очень надо - просите простенькое тестовое задание. Делайте, заливайте в гитхаб или битбакет - не забываете сделать его доступным - и показываете.
    Ответ написан
    4 комментария
  • Как решить проблему с кодировкой в pycharm?

    Sergei_Erjemin
    @Sergei_Erjemin
    Улыбайся, будь самураем...
    Это не с PyCharm проблема, а с Python... Скорее всего Python 2.7

    Пиши в начале питон-скрипта:
    # coding=utf-8

    Или оформляй UNICOD-строки вот так:
    words = [u'улика', u'улика1']

    Если работаешь с файлами:
    open(path_filename, "w+", encoding='utf-8')
    Ответ написан
    4 комментария
  • Как правильно должна проходить практика для программиста?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Задания надо выполнять обязательно - это важная часть учебного процесса. Но практика - это пет-проект как минимум. А ещё лучше работа над коммерческим проектом в команде профессионалов.
    Ответ написан
    Комментировать
  • Книга о последних версиях ядра Linux?

    @pfg21
    ex-турист
    хех документация имеет афигенское право устаревать - аккурат прям с даты последней правки в тексте...
    не жди что что-то вынесут тебе на блюдечке с золотой каемочкой и самостоятельно ковыряй то, что нужно/интересно.
    Ответ написан
    Комментировать
  • Почему Go с горутинами работает на одном ядре?

    EvgenyMamonov
    @EvgenyMamonov Куратор тега Go
    Senior software developer, system architect
    Горутины выполняются на разных процессорах как и должны, у вас четвёртое число слишком большое, все горутины завершают выполнение, а одна продолжает работать. По этому и создаётся впечатление, что они все работают на одном ядре.

    Чтобы в этом убедиться добавим два fmt.Printf, чтобы получилось вот так
    package main
    
    import (
        "fmt"
        "runtime"
        "sync"
    )
    
    var wg sync.WaitGroup
    
    func main() {
        runtime.GOMAXPROCS(8)
        arr := []int{1343434, 1343434300, 234343400, 334343434000, 400434340, 203434340, 4232, 23545, 15535, 353535, 33434434, 5334345, 3533434345, 3535}
        for idx, el := range arr {
            wg.Add(1)
            go test(el, idx)
        }
        wg.Wait()
    }
    
    func test(el int, idx int) {
        fmt.Printf("%d started: %d\n", idx, el)
        for i := 0; i < el; i++ {
            el = el - 1
        }
        fmt.Printf("%d completed: %d\n", idx, el)
        defer wg.Done()
    }


    Вывод будет примерно таким
    4 started: 400434340
    8 started: 15535
    8 completed: 7767
    13 started: 3535
    13 completed: 1767
    6 started: 4232
    6 completed: 2116
    10 started: 33434434
    3 started: 334343434000
    7 started: 23545
    7 completed: 11772
    5 started: 203434340
    12 started: 3533434345
    11 started: 5334345
    2 started: 234343400
    1 started: 1343434300
    11 completed: 2667172
    9 started: 353535
    9 completed: 176767
    0 started: 1343434
    0 completed: 671717
    10 completed: 16717217
    5 completed: 101717170
    4 completed: 200217170
    2 completed: 117171700
    1 completed: 671717150
    12 completed: 1766717172

    При внимательном просмотре станет видно, что нет записи 3 completed.

    меняю элементы с индексами 4 и 5 на такие же числа 334343434000, 334343434000, т.е. делаем чтобы все горутины отработали, но чтобы 3 осталось, т.е. вот так

    arr := []int{1343434, 1343434300, 234343400, 334343434000, 334343434000, 334343434000, 4232, 23545, 15535, 353535, 33434434, 5334345, 3533434345, 3535}


    Запускаем заново и видим, что теперь 3 ядра отлично загружены
    %Cpu0  :  0.3 us,  1.0 sy,  0.0 ni, 98.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    %Cpu1  :100.0 us,  0.0 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    %Cpu2  :  1.7 us,  0.7 sy,  0.0 ni, 97.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    %Cpu3  :  1.6 us,  2.9 sy,  0.0 ni, 95.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    %Cpu4  :100.0 us,  0.0 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    %Cpu5  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    %Cpu6  :100.0 us,  0.0 sy,  0.0 ni,  0.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    %Cpu7  :  5.6 us,  1.0 sy,  0.0 ni, 93.4 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    Ответ написан
    Комментировать
  • Почему за просмотр резюме HR необходимо платить деньги, а на биржах фриланса наоборот?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Полагаю, что зависит от сферы и от конкуренции. Если вы крутой, то достаточно опубликовать резюме на том же HH - и вам посыпятся предложения, причём платить будут работодатели (проекту HH). Если же вы сами не очень, и в вашей области овердофига таких же, как вы, то придётся в поте лица долбиться во все вакансии в надежде, что хоть где-то возьмут, и даже если приплачивать - не факт, что возьмут в ближайшее время.
    Ответ написан
    Комментировать
  • Почему за просмотр резюме HR необходимо платить деньги, а на биржах фриланса наоборот?

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

    Биржа не занимается поиском исполнителей. Это такие услуги по рекламе на максималках с кабальными условиями. Кто будет исполнителем вообще не важно, его личность должна быть скрыта, ведь только хозяин должен видеть его паспорт. Исполнители хозяина должны слушаться и говорить с гостем Биржи должны так, как говорит хозяин и держать голову ниц. За лишние слова хозяин наказывает, вплоть до выгона на мороз без права вернуться. При выполнении поручения от гостя исполнитель обязуется платить дань на доход. В некоторых биржах есть ещё оброк раз в месяц. Каждый хозяин ведёт учёт лучших исполнителей. Прикол в том, что эти звёздочки ничего не дают при выходе из этой биржи. Совершив Юрьев день, исполнителю придётся начинать всё сначала, ибо звать вас никак. Ведь внутри любой биржи, личности вашей нет.

    На сайтах по поиску работы всё наоборот. Каждый исполнитель это свободный человек, а у свободных людей есть права и имущество. Они уже стоят каких-то денег. В данном случае имущество это опыт работы в реальном мире. Допустим если ты работаешь погонщиком на бирже это одно, то ты белый человек а если исполнителем на бирже, это пустое, словно чпок от пробки при открытии шампанского.

    Свободные люди не зависят от работодателей и соответственно их внимание привлечь сложнее. Чтобы привлечь внимание такого человека, необходимо немного поделиться золотом. У кого больше золота, тот имеет больший выбор и может выбрать себе подходящего кандидата.
    Ответ написан
    1 комментарий
  • Как лучше реализовать транзакцию?

    yellow79
    @yellow79
    Senior Software Engineer
    В целом всё выглядит не плохо, но будет лучше, если контекст будем принимать на вход. Так же было не плохо отменять транзакцию в случае ошибки, ну и закрывать prepare тоже не помешает. На каждую итерацию цикла вовсе не обязательно содавать свой собственный prepare, достаточно одного

    func (db *Requests) StorePhotos(ctx context.Context, photos []Photo) error {
    	ctx, cancel := context.WithTimeout(ctx, time.Minute*2)
    	defer cancel()
    
    	tx, err := db.BeginTx(ctx, nil)
    	if err != nil {
    		return err
    	}
    	defer tx.Rollback()
    
    	stmnt, err := tx.PrepareContext(ctx, "INSERT INTO photos (id, owner_id, req_id, url) VALUES ($1, $2, $3, $4)")
    	if err != nil {
    		return err
    	}
    	defer stmnt.Close()
    
    	for _, photo := range photos {
    		if _, err = stmnt.ExecContext(ctx, photo.ID, photo.OwnerID, photo.ReqID, photo.URL); err != nil {
    			return err
    		}
    	}
    
    	return tx.Commit()
    }
    Ответ написан
    5 комментариев