Заметки Техдира
541 subscribers
20 photos
24 links
Мир разработки глазами технического директора. Рассказываю о глобальных трендах в мире IT и делюсь личным опытом

По поводу сотрудничества пишите: @Tehjoy

Сайт: https://ag-soft.ru
Download Telegram
Как взять первый заказ на фрилансе айтишнику?

Вечный вопрос, мучающий каждого фрилансера - “где?”. На самом деле, все не так сложно: чтобы взять первый заказ, нужно заняться мониторингом российских или иностранных фриланс-бирж, вот наиболее популярные из них:

UpWork - одна из популярных, иностранных бирж
Fl.ru - российская биржа
Freelancer - международная биржа

Для поиска можно также воспользоваться такими сервисами как:

Head Hunter (HH)
Careerspace
БУДУ

Рекомендации новичку при выборе первого заказа:

• Часто говорят, что фриланс требует опыта работы, поэтому некоторые заказы можно брать бесплатно. Это не так, не стоит вестись на такие заявления. Любая работа - оплачивается;

• Трезво оцените стоимость своей работы;

• Убедитесь в том, что ТЗ для полностью понятно и вы уверены, что сможете выполнить заказ;

• Если ТЗ не понятно, не нужно бояться задать вопрос заказчику. Спрашивать - это нормально;

• Берите первое время небольшие заказы, но с адекватными суммами для получения опыта в данном направлении.


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

Как видите, скорее да, чем нет :)
Хотя учиться 4-6 лет ради того, чтобы стать программистом, не нужно. Достаточно от 6 до 12 месяцев усердного обучения, чтобы освоить профессию.

Особо талантливым может понадобиться даже меньше времени
Какие технологии выбрать для написания мобильного приложения ?

Существуют два варианта:

Нативные приложения
Приложения, которые написаны на нативных языках, заточены под конкретную платформу

Кроссплатформенные приложения
Приложения с единой кодовой базой для обеих платформ

На каких языках пишутся нативные мобильные приложения:

• На IOS используется язык Objective C, а также язык Swift (сейчас он часто используется на новых проектах)
• На Android используются языки Java и Kotlin (но по факту многое пишется на Java, так как многие программисты уже привыкли к данному языку).

Технологии кросплатформенной разработки:

Apache Cordova, позволяет с помощью HTML, CSS, JavaScript писать мобильные приложения
React Native, очень популярный инструмент, который имеет множество разных библиотек, позволяющих ускорить разработку.
Flutter, в нем используется новый язык программирования Dart, который активно поддерживается Google
let str = “500”;
let result = ~~str;
Как вы думаете, какое будет значение у переменной result?
Anonymous Quiz
36%
null
31%
'500'
5%
500
28%
Ошибка
​​Как понять, когда пора перестать учиться и начать работать ?

Как по мне, многие ребята сталкиваются с ситуацией, когда нет понимания, можно ли уже устроиться на работу или нужно пройти еще пару курсов?

Во-первых, никто не останавливает вас от того, чтобы продолжать развитие как во время работы, так и за ее пределами (добирать профильные курсы)

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

Основное, что требуют работодатели - это закрытие задач. Если вы с этим справляетесь, можно смело устраиваться на работу 🙂

Как проверить самого себя?

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

Есть такая существенная проблема у начинающих специалистов- шаблонность. Как научили один раз, так и поступаем теперь на каждом проекте. Так делать категорически нельзя и с “шаблонностью” нужно бороться, так как это сильно мешает развитию.

После прохождения курса, стоит всегда делать практические задачи, так как это оттачивает навыки и благодаря практике вы наберетесь опыта
fun main() {
println("Hello, World!")
}
Начинаем рублику "Угадай язык по Hello, World!"
На каком языке написана программа сверху?
Anonymous Quiz
46%
Java
1%
Dart
3%
Go
49%
Kotlin
3 причины, почему мы откладываем задачи и дела на потом

Знакома ситуация, когда у вас есть пул определенных рабочих или личных задач, но их выполнение оттягивается до последнего дня?

Ниже приведу причины, почему так происходит:

Мы не делаем задачу или дело, потому что оно не срочное

Действительно срочные дела вытесняют ту задачу, которая стоит на данный момент перед вами. Так может происходить до бесконечности, пока ваша текущая задача не трансформируется в разряд “срочных”

Единственное решение данной проблемы - качественный тайм-менеджмент

Задача, которую вы себе ставите, на самом деле для вас не актуальна

Для того, чтобы такой проблемы не возникало, вам достаточно осознать, в чем реальная необходимость вашей задачи.

Нереалистичная цель и нереалистичный срок

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

На самом деле, эффективность зависит от степени дисциплинированности программиста. Если все делать с умом, результат не заставит себя ждать.

Вот несколько рекомендаций, которые помогут вам настроить свою работу и повысить ее качество :)
Заметки Техдира
Начинаем рублику "Угадай язык по Hello, World!"
На каком языке написана программа сверху?
Как мы уже выяснили, правильный ответ - Kotlin

Пока писал этот опросник, задумался о том, что было бы классно рассказать об истории появления языка Kotlin.

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

Kotlin - был призван заменить Джаву, так как он проще в использовании и более лаконичен: программный код на нем выходит в среднем на 40% короче, чем на альтернативных языках.
Кстати, его официально поддерживает Google,
#include <stdio.h>

int main(void)
{
printf("Hello, World!");
return 0;
}
Какой язык программирования был использован в примере выше?
Anonymous Quiz
33%
С#
53%
C
10%
C++
3%
Objective-C
​​Почему JavaScript — это фундаментальный язык программирования?

Фундаментальным JavaScript является, потому что в браузере исполняется только он, независимо от того, какой браузер вы открываете. Таким образом, все, что выполняется в веб-среде, будь то обычная веб-страница или социальная сеть, воспроизводится с участием JavaScript.

Любые альтернативы JavaScript — это все равно системы, тем или иным образом затрагивающие этот фундаментальный язык. Конечным итогом любой такой альтернативы все равно будет JavaScript. В качестве примера приведем язык Dart, который в настоящее время приобретает популярность. Он удобнее и мощнее чем JavaScript, тем не менее уйти от последнего полностью он не позволяет. Если на Dart-е мы хотим запустить программу в браузере, данная программа предварительно компилируется в код на JavaScript и этот код уже исполняется в браузере.

JavaScript непрерывно развивается, выпускаются диалекты, расширяющие возможности этого языка. Расширения эти достаточно интересны, так, например, TypeScript предоставляет возможность динамической типизации, он компилируется, что дополнительно увеличивает надежность языка.
Какой алгоритм помогает найти простые числа?
Anonymous Quiz
4%
Алгоритм Прима
51%
Алгоритм Решето Эратосфена
44%
Алгоритм поиска в ширину
​​Как построить процесс тестирования так, чтобы тестировщик не стал врагом разработчика?

Представим ситуацию:
Разработчик пыхтел над задачей месяц, выполнил ее, прошел код-ревью. После этого задача вернулась с тестирования с формулировкой «все 💩, ничего не работает»

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

Как сделать так, чтобы таких ситуаций не происходило?

1. Тестировщик должен точно составлять баг-репорт по согласованному шаблону

2. Задача от тестировщика должна возвращаться на проверку, а не к выполнению. Это позволяет руководителю четко отслеживать количество вернувшихся с тестирования задач, а разработчику дает возможность перепроверить результаты в тестировании

3. Автоматизация тестирования: помогает уменьшить количество ручного труда тестировщика, а значит уменьшит количество точек отказа, на которых что-то может пойти не так

4. Юнит-тесты лучше писать разработчику, тогда разработчик будет сам участвовать в процессе тестирования и будет проще к этому относиться

Вывод: выстаивать бизнес-процессы внутри своей компании тоже надо
Простота прекрасна

А тема сегодняшнего поста: история языка С

Язык С - это прадед C++, C#, Java а также всех других Си-подобных языков. Из всех языков, Си – самый легендарный и до изящности простой, именно он стал основой для многих, чуть ли не всех, языков программирования. Это, я бы сказал, ящик пандоры, который открыли Керниган и Ритчи.

Мощность языка Си одна из самых больших (больше только у Ассемблера), он краток и лаконичен. Единственное, что может сделать Ассемблер и не может сделать Си – это перевод процессора в защищенный режим.

Первая книга (#моялюбимая) о языке Си была написана Керниганом и Ритчи в 1978 году и вышла в свет под названием «Язык программирования Си». Позже именно она стала неофициальным стандартом Си.

Сам Ритчи наиболее известен как создатель языка программирования C и ключевой разработчик операционной системы Unix. Я лично считаю его одним из самых великих программистов в мире. Он
Какова сложность алгоритма пирамидальной сортировки?
Anonymous Quiz
2%
O(n)
54%
O(log n)
4%
O(1)
40%
O(n log n)