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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Lucas Arruda
May 20, 2017
Programming
58
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
68
TypeScript
lucasarruda
0
51
Other Decks in Programming
See All in Programming
霧の中の代数的エフェクト
funnyycat
1
410
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
480
はてなアカウント基盤 State of the Union
cockscomb
1
1.3k
作るコストが小さくなった時代 幸せに働くために改めて考えたいこと 〜エンジニアとして価値を出し続けるために注視している二分野〜
yuppeeng
0
120
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
190
初めてのKubernetes 本番運用でハマった話
oku053
0
130
symfony/aiとlaravel/boost
77web
0
140
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
110
AI 輔助遺留系統現代化的經驗分享
jame2408
1
1.2k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
110
フィードバックで育てるAI開発
kotaminato
1
120
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
180
Featured
See All Featured
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
370
Faster Mobile Websites
deanohume
310
32k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.9k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
How to build a perfect <img>
jonoalderson
1
5.8k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
460
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
470
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
420
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
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!