Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Ruby ou Python?
Search
Lucas Arruda
May 20, 2017
Programming
60
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Ruby ou Python?
Como conduzir sua carreira num mundo de hypes e flamewars
Lucas Arruda
May 20, 2017
More Decks by Lucas Arruda
See All by Lucas Arruda
How to land a job internationally and triple your income…
lucasarruda
0
74
TypeScript
lucasarruda
0
54
Other Decks in Programming
See All in Programming
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
190
巨大モノリシックアプリ モダン化大作戦
ktcryomm
1
1.1k
フロントエンドUIフレームワークのこれまでとこれから
ssssota
5
2.9k
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
650
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
350
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
310
海上で動くGoサーバー: goroutineとchannelでさばく航行データストリーム
atsuki_seo
0
890
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
4
3.4k
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
390
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
340
仕様駆動開発による爆速プロダクト開発 / Bakusoku Spec Driven Development
kobakei
0
120
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
250
Featured
See All Featured
The untapped power of vector embeddings
frankvandijk
2
1.9k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
310
It's Worth the Effort
3n
188
29k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
410
Balancing Empowerment & Direction
lara
6
1.3k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
Building Applications with DynamoDB
mza
96
7.2k
GitHub's CSS Performance
jonrohan
1033
470k
WENDY [Excerpt]
tessaabrams
14
39k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
290
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!