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
53
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
61
TypeScript
lucasarruda
0
45
Other Decks in Programming
See All in Programming
【第4回】関東Kaggler会「Kaggleは執筆に役立つ」
mipypf
0
1.1k
Protocol Buffersの型を超えて拡張性を得る / Beyond Protocol Buffers Types Achieving Extensibility
linyows
0
110
DockerからECSへ 〜 AWSの海に出る前に知っておきたいこと 〜
ota1022
5
1.9k
Kiroで始めるAI-DLC
kaonash
2
560
機能追加とリーダー業務の類似性
rinchoku
2
1.1k
[FEConf 2025] 모노레포 절망편, 14개 레포로 부활하기까지 걸린 1년
mmmaxkim
0
1.5k
詳解!defer panic recover のしくみ / Understanding defer, panic, and recover
convto
0
230
奥深くて厄介な「改行」と仲良くなる20分
oguemon
1
450
プロポーザル駆動学習 / Proposal-Driven Learning
mackey0225
2
930
Zendeskのチケットを Amazon Bedrockで 解析した
ryokosuge
3
280
モバイルアプリからWebへの横展開を加速した話_Claude_Code_実践術.pdf
kazuyasakamoto
0
310
CJK and Unicode From a PHP Committer
youkidearitai
PRO
0
110
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
YesSQL, Process and Tooling at Scale
rocio
173
14k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Side Projects
sachag
455
43k
Documentation Writing (for coders)
carmenintech
74
5k
Code Reviewing Like a Champion
maltzj
525
40k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
520
A designer walks into a library…
pauljervisheath
207
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!