Dev documentation platform

If you need to create and share documentation for developers (API, etc), http://readme.io looks like a good choice. 

Good:

  • Very fast and easy web site creation
  • Easy content management (articles creation, etc), code formatting, navigation
  • API reference is an interesting thing that allow to run requests and see response right away
  • Integrated forum (very basic, though, but may be enough)
  • Suggestions from documentation users.

Bad:

  • Tables editing and creation is a real pain
  • Very strange markdown language
  • Themes customization could be easier.

Overall, I can recommend http://readme.io, it looks like the best option so far. 

Interestingly, there are just a few options on the market, so I think it is an interesting opportunity to start a new product in this niche. I’d want to have a more integrated product that feeds documents from various places, like GitHub, and aggregates docs in a single usable platform.

Начинающим программистам РБ

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

1. Первую работу найти непросто. Раньше было очень непросто, сейчас, конечно, все гораздо легче. Но если у вас получится, постарайтесь не попасть сразу в огромную корпорацию. В таких местах слишком много формализма, устаревших процессов и мест, где можно не напрягаться. И нет ничего хуже для новичка быть в расслабленной атмосфере на задворках аутсорса. Лучше выбрать стартап с маленькой зарплатой и большой неопределенностью, пока вы можете себе это позволить. Там у вас будет больше ответственности и развитие будет идти гораздо быстрее. Год за два 🙂

2. Всеми правдами и неправдами избегайте старых технологий. ASP.NET, O/R mappers, ExtJS, MSSQL, Oracle, Windows — оставьте вот это все ветеранам. Вам может быть пока сложно понять, куда все двигается, но постарайтесь интересоваться трендами отрасли. Не все новое одинаково полезно, но со временем вы научитесь выбирать и лучше поймете, чего вы хотите и что вам интересно.

3. Учите английский. Вы как минимум должны научиться свободно читать техническую литературу. Без этого крайне сложно стать хорошим программистом. 

4. Заведите блог. Вам кажется, что вам не о чем писать. Конечно же, это не так. Любое новое знание, усвоенное вами и выраженное письменно с учетом ваших личных переживаний и мыслей, может быть полезно другим. Напишите 100 постов. Потом можно решить, продолжать или нет. 

5. Не зацикливайтесь на книгах о технологиях. Конечно, у вас есть явная потребность углубиться в ASP.NET на работе, но разбавляйте такие книги более абстрактной литературой. Почитайте про ООП и ФП, почитайте про дизайн систем, почитайте о разных концепциях (микросервисы, конкурентность, DDD, AI/ML).

6. Программируйте дома. Начните свой проект. Неважно какой. Простое мобильное приложение. Движок для сайта. Трекер расходов. Выбор следующего фильма для просмотра. Пробуйте на этом проекте все новое для вас. Важно доделать проект и получить работающее приложение — так вы научитесь доводить большие вещи до конца. Не бойтесь выпустить приложение в мир — это в любом случае будет клевый опыт, который со временем может привести к хорошему продукту. 

7. Не задерживайтесь долго в аутсорсе (1-3 года достаточно). В целом у вас два варианта: продуктовая компания или сервисная компания (типа tut.by или oz.by). Пока почти все сервисные компании работают на местный рынок, поэтому там масштаб поменьше. Вроде бы epam превращается в сервисную компанию на мировом рынке, но все же я думаю там пока еще много проектов, где чистый аутсорс. Если хочется чего-то большего, то остается только продуктовая компания с фокусом на мировой рынок (B2B или B2C, кому что ближе). Сейчас уже несложно найти удаленную работу на хорошую западную компанию — тоже отличный вариант. 

8. Не уезжайте в США. Там Трамп. 

IO.People Classification in IT

This post is an attempt to create a classification of how people consume information and how it affects their work.

Void: No input > No output

image

This person is a master of ignorance. He doesn’t read books that contain new knowledge, he doesn’t visit conferences, doesn’t watch videos, doesn’t do online courses. He stops learning right after graduation with a strong belief that he learnt everything he needs (and probably he’s right). 

If he reads something — it’s a fiction. It he watches something — it’s a TV-show or a blockbuster. If he visits YouTube channel — it’s Fail Army. All incoming information validated for a single purpose — entertain. Validation filter becomes very advanced with time and around forties there is close to zero chance to let new information in.

This type of person doesn’t do much. His work is usually unchallenging and somewhat repetitive. He likes huge corporations where political games and dark corners of ancient divisions allow to survive and even move up the ladder sometimes. 

Hot spot: Middle manager. 

Gut: Some input > Action output

image

Learn almost nothing, but somehow do things quite OK. Has supernatural ability to absorb information from the world via osmotic communication. He learns by doing and hates theoretical discussions. However, he do like examples and can somewhat generalize based on them. 

Hot spot: Middle QA engineer.

Abyss: Input > No output

image

This is a weird personality. He reads about everything and knows quite a lot. Unfortunately, all the knowledge carefully kept inside. He is quite lazy and doesn’t like challenging tasks. The information inside puts pressure on his mind. He always unhappy about everything and usually grumpy. Life sucks. Existential crisis is real. 

Hot spot: Bench.

Sponge: Input > .Squeeze > Output

image

Absorbs information like a sponge. In some special mood can be quite productive, but he should be squeezed to shine. Direct orders, gentle pushes, flattery and all other manipulations are acceptable to help Sponge overcome his laziness or modesty.

This person can become a real star if he meets a good mentor in his early job positions. 

Hot spot: _.apply(mentor)

Doer: Input > Actions

image

Learn new things, but in general filter out everything that doesn’t evidently relate to his job. Likes to read books about technology, something similar to ASP.NET 5.0 or Java 8 in Action. Don’t like deep discussions, since they quickly show his narrow focus and it’s not pleasant to feel that way at all.

Hot spot: Developer

Spreader: Input > Information

image

Reads a lot about everything. Talks and writes about everything he learnt. Promotes learning. Has a blog (often more than one). Visits conferences and do talks about some quite abstract things. LOVES meetups. Likes to participate in discussions about everything and never gives up.

However, somewhat lacks practicality and doesn’t like do things by hands. 

Hot spot: Mentor or Serial entrepreneur

Master. Input > Information and Action

image

Balanced personality. Learns theory and practice to have a full picture. Know how to focus and cut himself from the noise around. Likes everything: write code, solve problems, write articles and books, help people, do talks. Sometimes this enthusiasm to be everywhere leads to burnout, so he have to do physical exercises and have a good family to keep the energy past forties. 

Hot spot: Lead _

Plum. Input > ACTION

Unique personality type that belongs to few humans on Earth. Maybe you are lucky enough to know them. I do. However, somehow they do sell random stuff. Nobody knows why.