How To Be A Real Developer In Two Easy Steps
-
Upload
northofnormal -
Category
Software
-
view
48 -
download
2
Transcript of How To Be A Real Developer In Two Easy Steps
![Page 1: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/1.jpg)
How to Be A Real Developer
In Two Easy Steps
![Page 2: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/2.jpg)
About Me
• Didn’t go to Cogwarts
I didn’t go the fancy academy of computer scenery
![Page 3: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/3.jpg)
About Me
• Didn’t go to Cogwarts
• Haven’t been hacking since birth
We had computers at home, but mostly used them to play Carmen Sandiego and write stories about dragons, not for hacking the mainframes.
![Page 4: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/4.jpg)
About Me
• Didn’t go to Cogwarts
• Haven’t been hacking since birth
• Started programming accidentally
I actually didn’t start programming until just a few years ago, and I started doing it accidentally: I had a boring job, and to pass the time I started tweaking my PC desktop. I started using little widgets for application launchers or desktop notepads, and occasionally, I’d open up the little text files with instructions and change some of the instructions to do something else. Or sometimes, I’d just start a new text file of instructions to make a whole new thing.
Apparently, that’s programming.
![Page 5: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/5.jpg)
About Me
• Didn’t go to Cogwarts
• Haven’t been hacking since birth
• Started programming accidentally
• Went to a web dev bootcamp
Kind of a long story from there, but…I taught myself HTML and CSS and fastforward a few years, and I decide to attend a web development bootcamp, where I learned Ruby, Ruby on Rails, JS…
![Page 6: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/6.jpg)
About Me• Didn’t go to Cogwarts
• Haven’t been hacking since birth
• Started programming accidentally
• Went to a web dev bootcamp
• Became an apprentice at Detroit Labs last March
Then, last year I joined DL’s first apprentice class. And I did pretty well, and graduated and became a full-time dev, and then we got a new apprentice class and I was talking to Kate Catlin right in that kitchen and telling her about my experience, and she said…
![Page 7: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/7.jpg)
“When did you start to feel like a
real developer?”
…and I laughed at her, because c’mon now. I’m not a REAL developer, not yet.
And that bothered me. I mean, I work with all these awesome smart people and DL charges just as much for my time as they do for people who actually know what they are doing. And it’s not like I’ve done *nothing*, I know some stuff.
![Page 8: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/8.jpg)
– Smart Person
“Fake it ‘till you make it.”
This is pretty great advice—if you don’t think you can do the thing, act like you can do the thing and sooner or later you are doing the thing, right?
![Page 9: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/9.jpg)
What do all these “Real Developers” have in
common?
So I looked at my coworkers, and this collection of No Shit Honest To Hank Real Developers, and decided I would see what they have in common and then I would do THOSE things and then I’d be in. And keeping with the idea of an MVP, of doing things in the smallest complete steps, I tried to find the smallest steps possible and start with those.
![Page 10: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/10.jpg)
Step One
So I looked around and the first thing I noticed was that all real developers have…
![Page 11: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/11.jpg)
Step Onegithub stickers
Score.
![Page 12: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/12.jpg)
Step Two
Second thing I noticed, and this was a big one—
![Page 13: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/13.jpg)
Step Twopimped out command line
Seriously, look around, all Real Developers have some kind of pimped out command line. They’ve got colors, they’ve got symbols—I worked with a guy in TO who had these emoji based on his git status, a fish for uncommited, sushi for up to date, and a cheeseburger when there was a merge conflict.
And mine? Looked like this. Not even like this, because I didn’t get a screenshot before I started, and I hadn’t named my computer, so it just said “Detroit Labs User.” It was very sad. Not Real Developer of me.
![Page 14: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/14.jpg)
Some basics• Get to know—or at least, don’t
fear—vim
• /.bash_profile
• PS1=“<some stuff\and stuff>”
• \@ current time in 12-hour am/pm format
• \u username of current user
• \W basename of current working directory
• \\ a backslash
• \[\033[0;31m\] Color Codes! This one is red.
• \[\033[1;31m\] Bold!
• there’s a script you can download that will allow you to add your git branch so you always know where you are at and/or your status
When I post these slides, I’ll add some links to tutorials and places that explain more about all these things, but the most important part is learning vim and not being scared of it.
I should say this is for bash, if you are using zshell, I can’t help you.
![Page 15: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/15.jpg)
Code time!
But I had an idea. A dream. A command line prompt that included weather information.
![Page 16: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/16.jpg)
Ruby script that goes out to the weather underground api and gets local weather conditions
Funny story: I wrote this script with the formatted URL and the open and do the thing, and then I went to the Wunderground api and discovered that they had sample code in Ruby for this exact thing. So that was fun.
<talk through the thing>
Wunderground api has a couple dozen weather conditions, but I caught the major ones. I’m okay with “Hurricane” being an eggplant.
![Page 17: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/17.jpg)
This refactor sets variables for city and state… but I have to specify every time. That’s not cool.
![Page 18: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/18.jpg)
v0.3 makes sets a default city and state but allows for customization
Luckily, Matz has my back, and Ruby allows for optional variables—so if I specify when I call the method, it’ll give me the weather in that place. And if I don’t, it’ll just give me home.
![Page 19: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/19.jpg)
But how do I get that on my command line?
That’s all well and good, but how do I get that on the command line?
![Page 20: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/20.jpg)
Like This! The result of two straight days of googling and swearing
You just pass the path into that PS1 = “” guy.
![Page 21: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/21.jpg)
because I was convinced it could not possibly be this easy
Really. That’s all you do.
![Page 22: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/22.jpg)
(╯°□°)╯︵ ┻━┻
Everything is stupid.
I can probably make this a variable, honestly, but I didn’t want to look at it for, like, a month after this.
![Page 23: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/23.jpg)
Check this out
![Page 24: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/24.jpg)
Now I just need to submit my paperwork to the
international licensing bureau of
Real Developers! I’ll get that golden hoodie and a
discount on a mechanical keyboard!
![Page 25: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/25.jpg)
Wait.
…there isn’t any. Crap.
But that means…
![Page 26: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/26.jpg)
I can decide what makes me a real developer
And honestly, the github stickers and command line, that’s just me being a smartass. I still don’t feel like a Real Developer. And there’s no licensing bureau, so I have to figure it out myself. So I took another look around, not just at DL, but everywhere. What do the people I respect do?
![Page 27: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/27.jpg)
Real Developers…
• Are polyglots
• Test-first always
• Pay it forward
• Contribute to open source
![Page 28: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/28.jpg)
–Narcissists, Mostly
“But what about me?”
So I’ve got these new criteria, I’m serious this time, let’s see how I think I stack up.
And I have this dark night of the soul kind of thing, where you sit with a glass of scotch and stare into a fire and question all your choices. What I came up with was kind of depressing.
![Page 29: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/29.jpg)
Real Developers…
• Are polyglots
• I don’t even know one language very well…
• Test-first always
• Pay it forward
• Contribute to open source
![Page 30: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/30.jpg)
Real Developers…• Are polyglots
• I don’t even know one language very well…
• Test-first always
• I don’t always test first…
• Pay it forward
• Contribute to open source
![Page 31: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/31.jpg)
Real Developers…• Are polyglots
• I don’t even know one language very well…
• Test-first always
• I don’t always test first…
• Pay it forward
• WTF do I have to offer…
• Contribute to open source
I barely know what I’m doing, here.
![Page 32: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/32.jpg)
Real Developers…• Are polyglots
• I don’t even know one language very well…
• Test-first always
• I don’t always test first…
• Pay it forward
• WTF do I have to offer…
• Contribute to open source
• Open Source Is Scary…
Because that’s the internet, and people are dicks.
![Page 33: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/33.jpg)
Well, crap.
But is this even true? As it turns out, staring into a fire with a glass of scotch is not the best way to self-evaluate. In the morning, over coffee, I looked at my notes and realized—this is all bullshit.
![Page 34: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/34.jpg)
Well, crap. No, seriously, this is all crap.
But is this even true? As it turns out, staring into a fire with a glass of scotch is not the best way to self-evaluate. In the morning, over coffee, I looked at my notes and realized—this is all bullshit.
![Page 35: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/35.jpg)
Real Developers…• Are polyglots
• I don’t even know one language very well…
• Objective C, Swift, Ruby, Coffescript, Lua
• Test-first always
• Pay it forward
• Contribute to open source
I do OBJC all day, I’m learning Swift, I just made this thing in Ruby, I’ve made bots for hip chat in Coffeescript, this all started with Lua…
![Page 36: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/36.jpg)
Real Developers…• Are polyglots
• Test-first always
• I don’t always test first…
• Test-first always is a journey, not a destination
• Pay it forward
• Contribute to open source
Test-first is a goal, an ideal. It’s Brigadoon. It’s the thing you strive for but never achieve because the value is in the attempt.
![Page 37: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/37.jpg)
Real Developers…• Are polyglots
• Test-first always
• Pay it forward
• WTF do I have to offer…
• I volunteer at meetups, I mentor, I teach my friends.
• Contribute to open source
I do things! And I have a lot to offer, I know what it’s like to be struggling to learn and how to pull through.
![Page 38: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/38.jpg)
Real Developers…• Are polyglots
• Test-first always
• Pay it forward
• Contribute to open source
• Open Source Is Scary…
• Well, okay. But that’s a dumb reason not to do things.
We all do scary things every day, like get out of bed and talk to other people and drive in cars. It’s good for you to do scary things. And it’s good for you to contribute to open source.
![Page 39: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/39.jpg)
Why do I keep doing this?
First it was just stickers and command line emoji, now it’s “Be able to simultaneously code in haskell and assembly” and “contribute to Ruby core.”
![Page 40: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/40.jpg)
Why does “real” even matter?
![Page 41: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/41.jpg)
Why does “real” even matter?
Nobody cares about your stupid problems.
This is the most frightening and liberating thing you can learn about life, right?
Why am I even worried about this? What does it matter if I meet some standard that doesn’t even exist?
![Page 42: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/42.jpg)
–Some hippie folk song my parents listen to
“Ships are safe inside the harbor, but that’s not what ships are for”
And here’s the thing: the problem really isn’t that I’m not a real developer, the problem is I’m afraid you’ll find out I’m faking it.
![Page 43: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/43.jpg)
• If you are afraid of messing up, you are going to code defensively
![Page 44: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/44.jpg)
• If you are afraid of messing up, you are going to code defensively
• If you code defensively you won’t take risks
The stupid things I do when I’m spiking by myself vs. the safe path I take when pairing.
![Page 45: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/45.jpg)
• If you are afraid of messing up, you are going to code defensively
• If you code defensively you won’t take risks
• If you don’t take risks, you don’t discover anything new
![Page 46: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/46.jpg)
–Some teenager in a Che Guevara t-shirt
“Question authority”
![Page 47: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/47.jpg)
• If you are afraid of showing ignorance, you won’t question things
It’s not that I don’t feel like a Real Developer, it’s that I don’t want other people to realize that I’m not a Real Developer.
![Page 48: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/48.jpg)
• If you are afraid of showing ignorance, you won’t question things
• If you don’t question things, you won’t understand them
Like getting my weather emoji actually on to my command line—I was so afraid to show I didn’t know, I wasted two days. When I finally asked somebody, they explained it in under five minutes.
![Page 49: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/49.jpg)
• If you are afraid of showing ignorance, you won’t question things
• If you don’t question things, you won’t understand them
• If things are never questioned, they never change
![Page 50: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/50.jpg)
Wow.
I’ve never seen a woman
doing Objective C before!
![Page 51: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/51.jpg)
• Gatekeeping is a thing
![Page 52: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/52.jpg)
• Gatekeeping is a thing
• A terrible thing
some examples—the pop quiz guy
![Page 53: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/53.jpg)
• Gatekeeping is a thing
• A terrible thing
• If I don’t think I’m a “real” developer, the gatekeeping weasels never will either
But there’s something more insidious here—remember, the problem isn’t that I don’t think I’m Read Developer, it’s that I don’t want other people to find out! So I start explaining about marking and sweeping.
![Page 54: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/54.jpg)
• Gatekeeping is a thing
• A terrible thing
• If I don’t think I’m a “real” developer, the gatekeeping weasels never will either
• Even answering the weasels reinforces that the weasels have the right to ask
And, also, there’s better ways to express happiness at seeing someone new in the community
![Page 55: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/55.jpg)
Side NoteThere are ways to express delight at seeing someone
new, or someone who for some reason doesn’t “look” like most of the people in your community that don’t make you a punchline in conference talks for the next year.
Talk to me later, I’ll give you some scripts so you can not be That Guy.
![Page 56: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/56.jpg)
How do I start to feel like a real developer?
More stickers? Learn more languages? Get therapy?
![Page 57: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/57.jpg)
I was right all alongThere really are two steps.
And they are pretty simple.
![Page 58: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/58.jpg)
Am I real?
Immanuel Kant was a real pissant
Who was very rarely stable. Heidegger, Heidegger was a boozy beggar Who could think you
under the table. David Hume could out-consume
Schopenhauer and Hegel, And Wittgenstein
was a beery swine Who was just as sloshed
as Schlegel.
![Page 59: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/59.jpg)
I’m going with this guy.
![Page 60: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/60.jpg)
Am I a developer?
![Page 61: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/61.jpg)
Am I a developer?
• I’ve got a github sticker
![Page 62: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/62.jpg)
Am I a developer?
• I’ve got a github sticker
• I’ve got a pimped out command line.
![Page 63: How To Be A Real Developer In Two Easy Steps](https://reader034.fdocuments.in/reader034/viewer/2022042819/55c5b47dbb61eb21048b4643/html5/thumbnails/63.jpg)
Hi. I’m Anne, a real developer.
northofnormal