Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Ruby ou Python?
Search
Lucas Arruda
May 20, 2017
Programming
0
47
Ruby ou Python?
Como conduzir sua carreira num mundo de hypes e flamewars
Lucas Arruda
May 20, 2017
Tweet
Share
More Decks by Lucas Arruda
See All by Lucas Arruda
How to land a job internationally and triple your income…
lucasarruda
0
59
TypeScript
lucasarruda
0
41
Other Decks in Programming
See All in Programming
2025/3/18 サービスの成長で生じる幅広いパフォーマンスの問題を、 AIで手軽に解決する
shirahama_x
0
140
OpenTelemetryを活用したObservability入門 / Introduction to Observability with OpenTelemetry
seike460
PRO
0
190
データベースエンジニアの仕事を楽にする。PgAssistantの紹介
nnaka2992
6
2.5k
Devinのメモリ活用の学びを自社サービスにどう組み込むか?
itarutomy
0
940
技術好きなエンジニアが "リーダーへの進化" によって得たものと失ったもの
pospome
5
1.3k
OUPC2024 Day 1 解説
kowerkoint
0
380
신입 안드로이드 개발자의 AI 스타트업 생존기 (+ Native C++ Code를 Android에서 사용해보기)
dygames
0
480
Devin , 正しい付き合い方と使い方 / Living and Working with Devin
yukinagae
1
490
eBPF Updates (March 2025)
kentatada
0
120
フロントエンドテストの育て方
quramy
5
900
生産性アップのためのAI個人活用
kunoyasu
0
460
MCP世界への招待: AIエンジニアが創る次世代エージェント連携の世界
gunta
1
220
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
101
18k
Thoughts on Productivity
jonyablonski
69
4.5k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Rails Girls Zürich Keynote
gr2m
94
13k
Producing Creativity
orderedlist
PRO
344
40k
Mobile First: as difficult as doing things right
swwweet
223
9.5k
Writing Fast Ruby
sferik
628
61k
Done Done
chrislema
183
16k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Building an army of robots
kneath
304
45k
Site-Speed That Sticks
csswizardry
4
440
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Transcript
Ruby vs Python
OU
Como conduzir sua carreira num mundo de hypes e flamewars
None
Lucas Arruda @lucasarruda
EX Avenue Code ThoughtWorks
ATUAL Desenvolvedor Independente Consultor etc
MakeSchool
Curso de Computação na prática
2 meses Para aprender a fazer apps 2 anos Pra
aprender computação de forma prática
mas…
Python ou Ruby?
Faz diferença?
Chuck Norris desarmado ou humano armado?
Pitfalls Armadilhas
Toda linguagem tem sua curva de aprendizado
Toda linguagem tem suas ferramentas específicas DSL's libs etc
Ou seja… Toda linguagem tem suas particularidades E também seus
casos de uso mais apropriados
Python, Ruby, PHP Java, C# Go, Elixir C/C++, Rust, Nim
o/a programador(a) faz a diferença
Exemplo
User.all.map(&:meals) User Load (0.2ms) SELECT "users".* FROM "users" Meal Load
(0.2ms) SELECT "meals".* FROM "meals" WHERE "meals"."user_id" = ? [["user_id", 2]] Meal Load (0.1ms) SELECT "meals".* FROM "meals" WHERE "meals"."user_id" = ? [["user_id", 3]] Meal Load (0.2ms) SELECT "meals".* FROM "meals" WHERE "meals"."user_id" = ? [["user_id", 4]] Meal Load (0.1ms) SELECT "meals".* FROM "meals" WHERE "meals"."user_id" = ? [["user_id", 5]] …
User.includes(:meals) .all .map(&:meals) User Load (0.2ms) SELECT "users".* FROM "users"
Meal Load (0.4ms) SELECT "meals".* FROM "meals" WHERE "meals"."user_id" IN (2, 3, 4, 5, …)
O que diria um dev: Junior: faço o que eu
sei fazer Não junior: eager load em tudo!
E o experiente?
Depende…
Porque?
E se houver cache das Meals???
Em que situação, view, estamos? Quem consome os dados?
Cada caso deve ser avaliado com suas particularidades
Não pode haver pré- conceito na computação
Tudo pode mudar com o contexto
Tudo é um tradeoff entre Tempo x Dinheiro x Necessidade
Sharp Knife
"Se eu tivesse apenas seis horas para derrubar uma árvore,
passaria as primeiras quatro afiando meu machado" —Abraham Lincoln
Você realmente domina suas ferramentas?
Usa scripts? Automatiza?
Domina seu editor predileto? mais um rant: Vi x
Emacs x Sublime x XPTO
Conhece ou estuda as últimas tecnologias e ferramentas?
Domina git e o processo de deploy? ou seja, cuida
da confecção até entrega?
Isso é responsabilidade sua e da sua equipe não
vale repassar para chefe, cliente / outros
Carreira
Sua carreira é sua Não é da sua empresa Não
é do seu chefe
Sua carreira vai ser conduzida por você Sem mimimi
Invista na sua habilidade técnica
Não tenha preconceito com outras linguagens
Na nossa área tudo pode ser muito relevante!
Meu exemplo:
PHP Amigos, comunidade, contatos Cursar Computação
Ubuntu Comunidade BR Ubuntu MG Amigos
Java Avenue Code Inglês bom
DevIsland (C#) Testes, Dojo ThoughtWorks Aprimorar minha técnica
Ruby Independência Trabalho remoto Oportunidades fora do BR
Python Meetups, amigos
RubyConf DevDay QCon FISL Amigos Contatos Trabalhos
Enfim… saia da toca, corra atrás Ninguém vai fazer
isso por você
Não tenha preconceitos
Nem com Javascript
Quem aqui gosta de Javascript?
mas…
Você nunca sabe quando pode conseguir aquela oportunidade foda só
por que sabe NodeJS ou ES6
não se esqueça também
das “soft skills”
Você sabe se vender para o seu chefe cliente
colega de trabalho?
Você é aquele cara foda tecnicamente mas que não cresce?
Enquanto seus colegas menos técnicos parecem estar numa posição melhor?
Você já se questionou se você sabe conversar bem, explicar
para uma pessoa não técnica? Se tem paciência se faz mais do que é pedido?
e não somente se seu código é o(log n) ao
invés de o(n)
O cliente/chefe não quer só desempenho, mas principalmente se você
entende ele. Se sabe resolver o problema dele. Se fala a língua dele.
Você está insatisfeito com sua carreira… mas não procura ativamente
mudar isso?
Ou então procura… mas seu currículo é uma sopa de
termos técnicos não explica bem suas habilidades reais e suas conquistas
É muito provável que alguém não técnico vá ler seu
currículo e descartar assim que não entender nada.
Você tem referências ou testemunhos do seu trabalho numa página,
portfólio, LinkedIn ou no próprio currículo?
A maioria das contratações se baseia muito mais em
“conheço ele e sei que ele é bom” do que “nossa, ele programa à 8 anos e sabe 4 linguagens e 6 frameworks"
Ou seja: Contatos e referências são imprescindíveis
Portanto… Você precisa sair da toca Aprender a
conversar, perguntar, questionar, procurar, ao invés de esperar oportunidades surgirem
Se você não o fizer, alguma situação da sua vida
irá te obrigar que você mude forçadamente
Exemplos ser demitido downsizing (acabou a grana) ser
jogado para escanteio (projeto ruim) etc
The Pragmatic Programmer Andy Hunt The Passionate Programmer (My
Job Went to India) Chad Fowler Don’t Call Yourself A Programmer, And Other Career Advice Patrick Mackenzie Referências
Perguntas?
Obrigado!