Programming Throwdown - Holiday Party
Episode Date: January 2, 2019Hey all! This is our annual holiday show! We give away prizes and talk about random news stories :-D. Thanks to everyone who chatted with us on Discord, and looking forward to a super excitin...g 2019! I'll be sending an email to all prize winners later today! Show notes: https://www.programmingthrowdown.com/2019/01/episode-85-holiday-party.html ★ Support this podcast on Patreon ★
Transcript
Discussion (0)
programming throwdown episode 85 holiday party take it away patrick welcome to the last episode
of 2018 wow got a lot of exciting stuff planned for this episode.
That's right.
Some giveaways, which we'll explain in a minute.
And hopefully they'll be fun and exciting.
And we're recording this.
We always, I guess, technically record it live.
Like, Jason and I are both live, I guess.
But this time, people are listening in on the Discord.
And if we get any particularly particularly excited uh people into the discord
who want to join us on audio chat we might have that that episode don't know what's going to
happen it's uh end of the year 2018 anything can happen that's right anything goes it's wild it's
crazy speaking of wild crazy and anything goes uh since we called this episode the holiday party
episode i want to talk a minute about uh work holiday parties
so uh each year at i guess you know every company i've worked at there's always been a holiday party
and i think you know hollywood has made a thing of holiday parties like famously i guess the opening
of die hard is a holiday party right i haven't watched it in a long time yeah i think that's
true so holiday like like it's a a cultural thing i guess uh but i guess it's particularly interesting i don't know
that i've ever seen portrayed the uh computer science holiday party uh so so you know it's
typically for for those of you who you kind of haven't experienced it yet the way i've typically
experienced it is sometime uh near to thanksgiving
but normally after thanksgiving but before christmas uh your company will decide to throw
a holiday party it may be for the whole company it might be for just your team or normally it's
been more like i've seen at like the department level um so depending on the size of your company
i've worked mostly at large companies so that's you know several hundred to a thousand ish employee level and um and so that's about the size of the holiday party they have it at some
you know conference center or uh you know some museum something it just depends on you know
sort of the uh current economic environment the sort of culture of your company various things yeah they actually uh they
still do the whole company holiday party where i work and uh it's completely insane it's just so
many people it's an unbelievable so this is also an interesting time of year because uh for me the
two biggest things that are recurring year after year that are kind of most interesting, aside from the event itself, when it takes place, is one, they typically have people dress up.
Typically either like at least business casual, but typically more like you're supposed to often black tie.
And so most of the people I work for either own zero or one suit and they haven't worn it until except last year's holiday party
yeah exactly so it's a very interesting time from people who normally wear jeans and t-shirts or
even shorts and flip-flops to see them actually kind of suit up and go to a party so that's the
first interesting bit and you say also you see some people because they're they're not used to
this they might be unprepared so for example um the
last time they wore dress shoes was at the last holiday party and uh they lost the dress shoes
so you'll see this person wearing a tuxedo and flip-flops oh no no i didn't never seen this
and it's not to make fun of people like i mean i think you can own it right like some people wear
the jingle bells suit right that has like just bells all over and like i think that's cool like that's okay
because it's kind of a weird thing to ask these people who are not known for wearing sort of nice
when i say nice clothes fancy clothes uh to put on fancy clothes and go to this event so it's
already a little awkward like everybody kind of gets it not judging those people if if you
you know myself i probably don't pull off a, I would
be able to be made fun of in 90% of social light circles for what I wear. And it's fine, you know,
the faux pas. So I'm not one to throw rocks. So that's the first interesting bit. The second
interesting bit is it's typically a you plus one. So you can bring a friend or a spouse or a
significant other, your mom, like I've seen, you know, a variety of rules. But it's really interesting because you know these people from work,
but now you're meeting some other person sort of in their life.
And most of the time that tends to be someone who's not in computer science.
So you get a room that's split kind of, in my opinion,
typically almost right down the middle.
About 50% sort of engineers and about about 50 kind of non-engineers in a sort of awkward
miasma of people in suits and cocktail dresses and ball gowns uh all in an event that probably
has some amount of alcohol probably has dancing and music and eating and it's just this uh very
interesting time of year did did they change the the alcohol rules
this year uh i think there was i forget what the exact rules are those things like two you got two
tickets so you could have two drinks okay yeah so they did so actually uh i was one of the companies
that didn't do that so i don't i don't really drink i mean it's not a i don't have a any moral
issue it's just one of these things that as I've gotten older,
it's like the hangover is getting a lot bigger.
And so I just stopped drinking at one point.
But yeah, they had just totally open bar.
And that's actually starting to go the way of the dodo.
I know fewer and fewer companies are
still doing that um and probably for good measure i mean someone could get just just completely
hammered but uh yeah um but yeah that was it's an interesting thing that you know okay you bring
um you know somebody either a significant other or a friend or something like that
the odds that they're in tech is you know is
i don't know what it is but it's not necessarily high in the scheme of all things you can do right
and so what happens is you meet other you know pairs of people and and you have maybe a connection
with this person that goes like you spent 2 000 hours with this person in the past year and so
you have all these things you want to say in a social setting. Um, and then these other two people have to kind of hit it off right away.
And it's just, yeah, in general, it's, it's pretty difficult. It's like, it's a, it's a,
it's a little bit of a taxing time to like, make sure, you know, everyone's, everyone's happy and
things like that. I generally enjoy it. I'm not the most introverted person, so I tend to have a good time.
I also don't drink.
And so I do see from my perspective there
that seeing people get very sloppy is kind of off-putting.
So I'm actually pleasantly surprised
when there's a limit on it,
just because it's a different...
When you get mismatches there,
I think it leads to awkward situations.
Yeah, that's the thing.
If someone is really hammered, get mismatches there i think it leads to awkward situations um yeah that's the thing if if someone
is is really hammered they can kind of cause like irreparable damage you know i mean i mean i have a
crazy story where um i actually wasn't there so so there was a um i actually worked in tech when i
was when i was 17 years old. And there was a holiday party.
And I actually, I don't remember.
I either couldn't go or I wasn't invited because it was an open bar.
But there was some reason why I wasn't there.
And I heard later that this person got completely smashed and grabbed a microphone. Now, it's not like one of these things where
there's a band and this person just steals the microphone from the band. It wasn't that dramatic,
but there was just, there happened to be a microphone. I think someone had just finished
speaking and she got on the microphone and just started saying, you know, a lot of really personal
things about her coworkers and things like that. And, and those wounds, I mean, they don't really
heal. I mean, it's not like your family
where you could kind of just hash it out,
but it was awkward the entire duration that I worked there.
I mean, for years, it was awkward.
Yeah, I mean, for me, I actually enjoy these events
as like getting to meet people
and getting to meet their other people
that are in their lives.
And like Jason pointed out, it's sort of interesting.
You spend so much time with these people,
but never often in a social setting or in a very reduced
amount of time in a social setting and so bring those two worlds together it's kind of interesting
and also um you know i'm married and so my wife is like one of the few times she ever gets to meet
all the other people i work with and so even to this day so we actually didn't go to the one this
year um but in general uh we've gone in years past
and she still remembers the people she's met like oh yeah now i know if i say so and so she'll be
like oh he was the one wearing or she was the one wearing this stuff and i'm like yes that's right
and so like that's how like you know they hear the stories but that's how they fix the people
and what they look like in their uh in their head was is meeting them in these scenarios so it's
actually a enjoyable time but as jason pointed out you uh inevitably end up with some
amount of stories from every holiday party yeah that makes sense if i could give people one bit
of advice it would probably be not to get hammered at your holiday party i mean it's just life pro
tip from jason yeah i mean mean, happy holidays, everyone.
Let me just turn down my gain a little bit.
But yeah, it just doesn't seem like a good idea.
If you're tempted, then just in your mind, just say, okay, when I go home, I'm going to buy an entire bottle of something
and have a huge party with my personal friends who I trust
or something like that.
But yeah, holiday's yeah. Holiday parties
are pretty wild, but in general, I think, um, it's a ton of fun to, to talk to your coworkers.
It's really strange because you eat lunch with your coworkers. Um, and so it, it seems like you
would build, but there's just something about being in a completely social setting and also
kind of being around your close friends
and your coworkers at the same time.
It is really cool.
And I have a great time.
We look forward to it every year.
Cool.
All right, Jason, why don't you go over this year's giveaway plans?
Let's do it.
Speaking of looking forward to it.
So, you know, I posted on Facebook and Twitter and all these other things that Patrick doesn't
have accounts for yet and i talked about um how now is the last chance to make a patreon account etc etc
and then uh i did the cutoff so uh the patrons who were patreon members on this morning uh were in
the raffle um and then what i did is i spent about 15 minutes monkeying around in Excel trying to figure
out how to generate random numbers that wouldn't change every time I did anything.
I finally got that to work.
My Excel skills are absolutely terrible.
I don't understand how I can't figure out Excel, but that's my Achilles heel.
And so we have the names of people.
Now, we're going to do a little bit different. You know, last year we set a mission of sending, you know, a little gift to everybody.
We ran into a lot of issues with international shipping. It turns out that's really, really hard.
I had no idea. I kind of thought that similar to, you know, calling internationally, that it would
be easy. Maybe we'd have to pay a little more money to ship to different places. It turns out logistically, it's a total nightmare.
And so what we're going to do this time is, you know, we've been spending the whole year talking
about different books of the show. And so we thought we would do is take 15 people,
we'll break them up into five groups of five. So three groups of five.
And we'll either give you the option of an e-book, a book from any of our books of the show.
It actually doesn't even have to be this year. So it could be any book of the show,
an either e-book or physical copy, or you can get a t-shirt um and so what we'll do is after this episode's done i'll send
emails out um the nice thing about this too is if people haven't put their address on patreon
what i'll do is i'll email you and at that point you could you could either tell me uh yeah i want
a physical book and here's my email address or you could give you could suggest the ebook or t-shirt
and uh and you don't need an address to win, which is different this year.
So, yeah.
So maybe we'll just go through our first five.
Drum roll, please.
No, I can't do it.
I have no rhythm.
I wonder if we could just tap.
We could just tap the microphone.
Let me give it a shot.
No, no, no.
We're going to go.
Did that work?
I'm wincing.
It's like Patrick's eardrums are blown out um so i'm not gonna read last names just in case but um the first initial of the last name maybe yeah actually one sec let me see if i can get this
all on one screen here oh the dramatic pause jason if i can get this all on one screen here. Oh, the dramatic pause, Jason. If I can get this all on one screen.
People are all like on pins and needles.
Pins and needles.
There we go, perfect.
On the edge of their seat, we're waiting for it.
I'll say your first name and your state.
How about that?
That probably narrows it down.
So, or country, if you, actually, well, yeah.
So Jansen fromia is actually number one
so he had the highest random number jansen your random number was 0.994 that is very close to one
good job sir uh second one is is james uh we don't know where james is from james b um then we have so if you're a james b
email i guess you have to email all email i have everyone's email oh okay i'll be able to email i
just don't know where Alexander's
from. And Ian from Canada. Congratulations. That's our first five. We'll be getting an email from me
later on tonight. Oh, spoiler before the episode comes out. That's all right cool well maybe if they're in the discord
then uh they'll know yeah i'm just uh just making a note here so okay all right cool well i'll flip
around the order of the news of the show so you can do your bookkeeping uh so the first uh news
article we have for this evening is amazon's hq2 now this was in the news a lot or at least i saw a lot of discussion
about it because amazon had a search for their new headquarters outside of seattle and it turned
into much uh discussion and debate about how that would work and the nature of tax incentives
and all of that and that's interesting i guess but i don't really want to talk about it because yeah politics uh and who has time for that and uh well i guess all of you should politics are important
but not necessarily on this show and so uh what i wanted to talk about though is i noticed that
and i think several other companies since then have talked about kind of looking and expanding
i think google apple others are kind of growing their campuses out of the Silicon Valley area.
And Amazon is already not in Silicon Valley, but in Seattle.
And I I'm wondering if this is a trend towards diversification or if it's just people making much ado about what was already there.
But for some reason or another, it's caught the attention of media, at least that companies are looking to expand into new locations and grow new locations outside of, I guess, what you would call their traditional headquarters and have a more split presence.
I believe most of these big companies already have presence in multiple locations.
But for whatever reason, they're deciding to kind of emphasize that they are going to be more than just an identity of a single location.
And I, for one, hope this is a beginning of a trend.
I don't know that it is.
I actually don't know enough to make a statement about that.
But I hope that it is the start of a trend
because I think it really would be good for people to have more choice
than having to live in the West Coast or East Coast,
Seattle or Washington, D.Cc or the silicon valley or la like
i think there's lots of really great places in the country and there's a lot of reasons family
being a big one why many people may not want to relocate and having more choices i think would
be great for the industry yeah i totally agree i mean i think um the the unanswered question and and i think nobody has
this answer which is why um well yeah i guess yeah i would say no one has this answer which
is why it's so on the fence is is is how sort of pareto distributed is is the the software
engineering field right so you know you hear about the 10x engineer and
things like that, right? And so, for whatever reason, or well, for historical reasons,
there's a lot of incredibly talented people in New York, Seattle, and the Bay Area,
software engineers, right? And if you really need, you know, an army of, you know i don't know top coder world champions or something like
that then uh that's hard to get anywhere else right i mean if you need three i actually went
to visit a company and they weren't even i'm not going to say who it is but they weren't a big
company um i mean maybe on the order of hundreds of engineers, maybe even just 800 engineers.
And they had two top coder, like, finalists.
So, like, top 10 top coder, you know, world champions.
And, you know, the company wasn't even that big. I mean, we're not talking, like, a Google or an Apple or a Facebook or anything like that.
And so that's just hard to do anywhere else in the world, right?
But I think maybe people are starting to realize that,
like, A, that's not as important as people thought,
especially as now things are becoming
a little bit more of a commodity.
And it's really about data science
and understanding large volumes of data and things like that
where spreading it out, there might not be that same distribution.
And the other part is that that generation is getting older
and they're probably, for family reasons and things like that,
moving regardless.
It doesn't matter even if there's the best job there,
they're just going to move
back home or move to the Midwest or move wherever. And so that talent is going to diffuse no matter
what opportunities there are, right, to some degree. Yeah. Yeah. I mean, that was a, I mean,
I guess even across the rest of the world, as you point out, there are other places in Europe and
Asia that have good talent too and i i really hope that
companies become i don't know open-minded as you said and there are companies in lots of places
like even small shops you know sprinkle all over the place but i feel like you know the focus has
largely been the the very high-paying prestigious jobs i guess is one way of saying it uh that
aren't just onesies or twosies in a couple
small cities, tend to isolate into relatively few places around the globe, which makes them
kind of almost by definition expensive to live in because lots of people go there.
And I hope it spreads around a little more.
It would be nice to have extra choices and more opportunity to recruit
from places where people don't necessarily aren't interested in moving yeah yeah absolutely plus i
mean the field itself just keeps getting bigger and bigger yeah and so it just seems silly not
to include more and more of the country and as you said to the world right and that's not even
to talk about remote work which will this whole separate uh thing so oh yeah we'll just keep going
we should do it i think we've already done an episode on that right on telecommuting if not about remote work which will this whole separate uh thing so oh yeah we'll just keep going we
should do it i think we've already done an episode on that right on telecommuting if not we should do
one 2019 we already have it lined up um okay my article was on serverless programming which is
is uh really interesting it's not what it sounds you know when i first heard this i kind of thought
you know bit torrent peer-to-peer, like I thought literally serverless.
What it actually means is basically you don't have to maintain an operating system.
That's effectively what it means.
So there's this thing called AWS Lambda.
There's an old thing from Google called, what was the Google one?
Like Google Cloud Compute or something. I can't remember
the name. Google Cloud Platform, GCP. And that was similar. And the idea is there's an API.
You implement that API and then your program doesn't need an operating system, right?
So for example, I mean, think about what the operating system provides, right?
It gives you a file system.
It lets you access things like the network card and things like that
so you can, you know, communicate with other computers.
And then there's physical things which you're not really going to use
if it's in a data center, right?
So as long as you can wrap that so you so you
could wrap the file system if you need to write some local files you just
create an API for that or you create you know a fuse user space file system or
something like that as long as you can guarantee that someone can connect to
the internet you don't really need to have to be maintaining your own operating system.
And the nice thing about that is it's much easier to scale
versus you don't have to spin up 100 nodes,
run your Docker container on these nodes, things like that.
You just have this program and you give it to Amazon or Google or Microsoft.
And you say, hey, I want this program to run on 100 machines.
And then if all of a sudden, you know, it's Labor Day and you're getting hit with a ton of traffic, you just bump that up to 200 or 300.
And of course, you can do that with Docker and this other technology.
But but this makes it way, way easier.
And so it's starting to really take off i think it's pretty cool i have to admit i i'm not a web developer or even a web backend developer so
um i can't say for sure i haven't played around with this yet but i want to
um so i can't say for sure if it's a good idea from a technical perspective but just from a
like product engineering or production engineering perspective, it seems like like really nice.
Like it reduces a lot of the friction.
I mean, I don't really need to maintain a file system when all my program is doing is writing logs and talking to a database.
Right. So I think it's pretty cool. And this article talks all about how that works.
I want to talk about a recurring theme people who are listening to the backlog of our
episodes often write us in and talk about that we made i knew called predictions i guess but things
we've said in the past and i know one of the things we've talked about a lot is spacex bigelow space
um whether or not i guess virgin galactic is it yeah on these kinds of things oh which i could
have made that the article.
Virgin Galactic 2, which is the, or Spaceship 2.
I forget the exact nomenclature.
But they recently reached by what some people define as the edge of space.
They reached space.
And this is the Richard Branson-backed company or owned company.
I guess he owns it anyways.
And they've been for a while trying to get to space uh and they're wanting to take tourists there they're suborbital so they won't
actually be able to orbit like a spacex um but they recently were able to get there so people
are kind of like thinking might be soon that sort of paying customers albeit very outrageously
expensive tickets will actually start being able to kind of visit space
it seems like you know how much that would cost i forget i think i looked up at the time i don't
look at it okay cool but the article i actually picked that was a bonus freebie no charge for
that one uh is spacex recently had their 20th launch of the year and i think this is a crazy
story that there are several companies now offering uh or close to offering um commercial
access to to orbital flights be able to put satellites up and soon hopefully to be able to
put humans back uh into space i guess right now it's mostly the the russian uh uh the rockets
that are able to put people into space and they recently had a problem and so they've had issues and so now it looks like uh spacex and and other companies might be getting close uh and this uh 20th launch of the
year for spacex is it's kind of it's kind of interesting to see how frequently uh rockets
are launching and maybe i just never paid attention to it before maybe it's cool again
maybe it's always been this common but i actually think uh i should have tried to find a graph of it
but i feel like it's becoming more commonplace and i'm excited that you know as my children grow up hopefully
they'll be able to you know see uh thriving space yeah for the going to space again low price of
250 000 okay well do we space who's gonna be the first person to say something about like the moore's
law of ticket prices to space or something oh that's true yeah just kidding just kidding i know it's not the
same um specifically though this 20th launch of spacex was an interesting one if you if you hadn't
seen it in the news i encourage you to watch the video of it so spacex when possible tries to
re-land their first stage so they can recover the engines and everything and they either landed
on a barge or back near the uh where they launched from on land and this one they were headed back to
land on the land and i guess the uh approach has it to be targeting sort of not on the land
initially but on on the sea like just offshore in the ocean and then once it sort of
sees everything's a-okay it sort of at the last minute kind of pivots over to land on the the
landing pad and what happened was it's sort of something in one of the hydraulic motors uh
malfunction and so it begins to spin out of control uh and so they actually you know no longer are
targeting the the landing pad or they don't move
to target the landing pad and the live stream actually cuts away and the people pretend like
nothing's happening but then when it comes back and you actually watch the video later uh it sort
of spins out of control but they managed to actually regain control which is crazy because
they don't have a lot of time to do it they manage the algorithms managed to regain control of the
rocket and they actually effectively land it on the ocean,
like in a very shallow water.
They kind of land it at the last second.
It's like barely hovering.
But then, of course, when it goes to land,
there's no solid thing there,
and so it just sort of tips into the ocean.
But for what could have been a very catastrophic failure,
it turns into an almost uneventful thing.
And I think they ended up recovering the rocket,
and I think they decided they're going to have to just scrap it for parts or whatever they won't be able
to reuse it after being in the salt water um that makes sense but it's just it's kind of crazy that
it had gone so long without any issues that it's almost become commonplace this thing that people
you know i kind of remember on this podcast and having talked to people it's been like oh this
is ridiculous that you would fly up and fly
part of the rocket back just the amounts of energy involved and fuel you'd have to use and there's no
way that doesn't make sense and now it's just like oh yeah of course they do that yeah it's
mind-boggling yeah so i guess that's the nature of progress yeah i guess maybe ai was able to just
control that rocket with such efficiency that it makes it worth saving or
something um my uh show topic or my second news is flutter flutter 1.0 and so flutter is is pretty
interesting i've heard mixed reviews about it but but basically what flutter is um i don't know if
we've talked about about reactjs or sorry, React Native.
Yeah, okay.
Oh, that's right.
We talked about all of that when we were talking about Clojure and there was Clojure script and all of that.
So just to recap, React Native is where you write in a mix of HTML and JavaScript.
But it's actually not HTML. It's XML, let's put it that way, and JavaScript. And then what happens, React Native ends up, basically, that code ends up
driving a bunch of native components. So for example, if you have an XML tag button, then that's going to draw a button on the screen.
And that tag takes attributes like text and things like that.
And that tag can have children tags
for all the different choices and things like that.
So what happens under the hood is that button, XML tag,
turns into an iOS button if it's built for iOS or an
Android button, like a native button, right? Now, that's really cool. And it feels like a native
app. You don't realize that the person hasn't written it in Objective-C or Swift or Java or
Kotlin or one of these native libraries. So you don't know that the person has written it once for two phones or even more than two types of phones, but they have, right? Flutter takes a
different approach. So Flutter is a little bit more like the web where, you know, you hope that
all the browsers more or less behave the same. And so everything kind of looks the same. So if you go to Google.com on your phone and you go on your laptop,
more or less it looks the same.
And so Flutter, a button in Flutter is going to look exactly the same on Android and iOS.
It's not going to match the theme of that hardware.
And so the nice thing there is you
when you're designing the layout so for example maybe on android you can fit three buttons across
because just the the number of pixels and the border and the the padding and all that the
buttons is is less and on ios you can only fit two buttons across but if you don't know that
you're writing react native then then you when you deploy an iOS, it just doesn't look good.
Like maybe it wraps around in some weird way.
Maybe one of the buttons falls off the edge of the screen.
And so you have to deal with all of those inconsistencies.
Whereas for Flutter, it's almost pixel perfect,
or pixel identical between the two.
Now the downside of Flutter is that neither one of,
it's never going to look native, right? So there's a sort of uncanny valley where,
you know, it's like, okay, the buttons don't feel like regular native buttons. When you scroll,
it doesn't really scroll with the same gravity. It doesn't have the same momentum and things just don't quite feel right. And so
that's a trade-off, you know? I mean, you can't have iOS and Android look different. So like,
you can't have something that looks the same on both and looks native, right? It's impossible,
right? So Flutter makes a trade-off in one direction. React Native does it in the other
direction. The jury's kind of still out, but I thought it was really interesting.
And I think as a developer, one nice thing about Flutter is you can run it on, let's say, the iPhone simulator and then run it on an Android device.
You don't necessarily need an iOS device because the look and feel and all of that is much more predefined.
So yeah, check it out.
I think it's pretty cool.
It's getting a lot of traction.
It's written in Dart, so you have to use the Dart programming language.
But I think Dart is, correct me if I'm wrong, but I think Dart is like a superset of JavaScript.
I don't know if that's true anymore.
I know it's like, what did you call that?
Transpilable to JavaScript.
Yeah, it used to be a superset,
but I think that's not true anymore.
I think that not all JavaScript will just run as Dart code.
But either way, I think it's cool.
It's definitely worth trying out,
especially if you're an app developer,
and see how it compares to other frameworks.
And let us know.
If you build an app in Flutter,
shoot us an email, post on Discord some cool pics,
and we can check it out.
All right, man.
I think it's that time.
Time for another giveaway.
Five giveaways. so now the next
five uh just to recap we're gonna send you all emails um you can uh choose a t-shirt we'll send
you a t-shirt from the store we'll send you a book one of the books of the show of your choosing
um for those two you'll have to give us your address if it's not already in patreon uh or you can opt for an ebook so any of our books of the show that are available on kindle
uh we'll figure out a way to get that too so we have christopher from west virginia we got steve
uh steve p we have alisar from um interesting al Alisar from Merseyside.
I don't actually know what that is.
Is that a country?
I don't know, but we'll find out.
Andre, who is from, looks like, Jorbiti.
And Jonas, who's from Denmark.
So congratulations. I'll send emails to you guys um later on today looks like mercyside is a county in uh in england oh there you go or so says uh my
google search and wikipedia it's interesting this this this column is really noisy i don't know why
that is but but you know there's one column in this Patreon
report. It has states
for some people. It has countries for
other people. It must be just
like, when people fill
out the form, there must be this field that's just
principality or something.
Or maybe it's pulling it out of a string.
I don't know. But congratulations
you folks, and I'll send
that information out to you pretty soon.
All right, cool.
Well, we're going to do one more little activity here.
And then we'll draw the final five names.
So I found an article, and I had it as the article of the show.
And then I decided to actually read through these and see.
Well, Jason hasn't read these yet.
And so we're going to see how he responds to this.
And this is an article describing a person who learned programming at an early age,
but wrote, hey, here's some thoughts I had about the difference between programming
and working as a professional software engineer.
Nobody really told me these.
Some of them are very on point.
I think some of them might be a little more interesting.
We won't necessarily read all of them
But that you know, I'm gonna read a couple here and see what what Jason thinks
All right. So here the number one Jason is it's normal to have more lines of tests than production code
That's a tough one, I mean he's definitely close
Really?
I feel like it's true to more lines of tests and production code.
If you're writing good tests, if you're actually writing unit tests for your code.
Wait, so you feel like the answer is yes? Like you agree with that?
For code that you are writing unit tests for, yes. I feel the answer is yes.
So you're saying there's more unit test code than actual code?
Yes.
Yeah, I believe it.
Yeah, I'm having a hard time visualizing that because a lot of the unit test code is a little
bit more boilerplate.
But yeah, I think that's true.
I agree with that.
All right, cool.
Having no choice but to use VI early in this person's career, they meant that now they're
stuck using those key bindings everywhere.
Yeah, I disagree with that.
I mean, I definitely got started with Emacs, but...
Oh, here it goes.
Well, no, I mean, I've never switched to VI,
but I did switch from Emacs to visual IDEs,
like Atom and Visual Studio Code and these things.
And to be honest, I haven't turned on the Emacs bindings.
Now, there are times where I do like, yeah, like control X, right button and nothing happens
or I'll literally draw an X on the screen.
Now I'm kind of like, oh, I need to set up the Emacs key bindings, but I never actually
do.
So, yeah, I mean, personally, i don't seem to have locked in any of
these key bindings what about you yes i was gonna say i think i read this more as like you'll lock
into a way of doing things and be stuck that way yeah i don't know i don't know i agree with that
either yeah it just hasn't really happened for me i definitely could see it happening in general but
personally it hasn't happened all right cool uh yeah so i'm picking and choosing here but um
that oh here you could have a hundred
percent base salary difference doing the same job depending on whether you work at a small startup
or at a big company hundred percent base i think that means you could be paid half as much at a
startup as what you could earn if you went and worked at a big company and base salary yeah i
mean i feel like that's just that's just a, right? I mean, it's a fact.
Yeah, I think it's true.
I mean, the startup is one of these risky,
it's a risk versus,
you know, like you're not gonna,
the whole point of the startup
is you own some big chunk of the startup.
But yeah, that's fair.
Yeah.
So, I mean, I think that's something
not a lot of people would know.
I think it is true.
I think that it can be all over the place.
But I think in general, yeah, startups pay much less than big companies.
That's a really good point.
You know, I just took it for granted.
But, you know, if I was straight out of college, I probably wouldn't have realized that.
But yeah, I mean, in my opinion, and tell me what you think about this.
I think it's crazy to join a startup straight out of college.
I mean, the startups that get really big, like the Googles and Facebook, sure,
they're founded by people who are either in college or dropping out of college or what have you.
But first of all, those people are the founders, right? And secondly, that's the vast, vast
minority of startups, right? The vast majority of startups are actually, you know, they do
reasonably well. They end up just mid-sized
businesses or they get acquired by a bigger company. But I don't feel like they have that
enormous upside that a Google or Facebook as a startup has. And so, yeah, I mean, if you don't
realize that there's a huge risk, then probably you should be at a bigger company, in my opinion.
Yeah, I think so. I've personally wondered about this. So I'll say that you should do the thing that's right for you. So if out of college, you're really interested in a startup and a startup is a
good fit for what you're, I don't think there's anything to lose per se, like going to a startup
isn't going to mean you never go work at a big company. But I think you have to realize that,
and this is actually going to be another one of the points uh in here uh is that how much time you
actually spend coding versus a whole variety of tasks this is not exactly this person's point
but um i think the amount of time you spend coding relative to a whole suite of other tasks
is uh varied across your position across your role across your current team and between startups
and big companies so at a big company you know you might find yourself often fighting with
build systems that are mandated by your company uh whereas a startup it might be like oh i just
ditch that go use a different build system because why not um and so i think that you
might learn the actual coding i don don't know. I've never worked
at a startup. It might be quite similar. The actual like Java or C++ or Python you write
might be pretty similar. But the context around it, the amount of testing, the amount of speed,
the flexibility, I think those things can be very different. And so I'm not sure how directly
transferable it always is. Yeah, that makes sense. I mean, I think at a
startup, you're trying to find the right product market fit. So just to recap, I mean, not to spend
a whole show on startups, but the whole point of a startup is to find a monopoly, like start with a
very, very tiny monopoly. Maybe your monopoly is in your city. You know, you are the people that do
fax, converting faxes to emails. And for whatever
reason, maybe it's because of marketing. Maybe it's because you're famous in your hometown. I
don't know, whatever. But for whatever reason, you just own a ton of that market, 70% of that market.
You have a monopoly. And then the question is, can you grow grow that market and can you end up with you know
a monopoly of of uh you know all taxi drive all taxi cabs or something i guess uber when i say
monopoly like i'm kind of waving i'm waving my hands a little bit i mean obviously uber doesn't
have a monopoly you can just download lyft but like effectively can can you reduce the the space of people who are in this
in this in this in this market to like a handful of people and is it a huge market right and so
while you're doing that you know you might be radically changing the software and so tests and
things like that might not be as important as you're probably if you're in a startup you'll
probably be writing pretty cavalier code that that's what i would expect i've never as a generalization
yeah i mean i feel like that would generally be i mean it depends now if the startup is
medical equipment you know to please write like a pacemaker or something that's totally different
but i feel like in general a lot of these startups, I feel like you're going to be writing pretty cavalier code, especially if it's product code and not like a database.
So getting off of the startups, another interesting point that I thought they had here that was good was that different roles can be valued.
Oh, here they say, here it goes, have different cachet that in your local culture, in the local culture of your company. So
saying you're a test engineer or an automation or front end or web or database or an optimization,
a low level compiler guy, like whatever the kind of thing you say you do can vastly impact how
people feel about you. I'm expounding a little on their point, but how do you feel about that?
Yeah, I mean, I think I kind of wish it was a little bit more formal. And I think we're getting
there. We're not quite there yet. But it's kind of weird. I mean, I'll get an email from someone
and they'll say, hey, we're looking for a software engineer for this company. And then you look at
the job description and it's, oh oh needs to be able to to write
you know Motorola assembly or needs to know a whole lot about optimizing a database these things
which which I've literally known nothing about um and so you know I'm hoping actually that
these things that they're calling kind of it sounds like they're they're making it seem more
like a social label, right?
But we should just go so far as to make it stratify the software engineering job a little bit, right?
I think it cuts both ways.
I think that you can say, oh, all that person does is blah.
All that person does is write front-end code.
They're not a real engineer
uh and i guess to what you're saying about stratifying yeah i think that can become
dangerous because i think the skill set you need there might be and i'm not saying this is true
i'm just going to invent something as a generalization but to say like oh right in front
end oh that's not as technical and that you you don't even need to know differential equations
to do that and it's like well that might be't even need to know differential equations to do that.
And it's like, well, that might be true.
But it also means working with artists and constantly vastly changing requirements
and having an eye for design because you don't always have the designer at your disposal.
It might mean a skill set that's actually quite difficult and hard to do um but you know working on you know compiler optimization theory uh and
the symbolic logic of that or whatever you know maybe that is a much more academic thing but it
turns out like yeah that's very rigorous and difficult and those puzzles are very very hard
to find and making progress comes in you know spur, spurts rather than, you know, UI mocks.
But that doesn't stratification is weird because stratification implies like almost a strict ordering.
And I don't know that I know that's the right word, but like I don't know that it's strictly this one's better than another.
It might be different people are suited to different.
Yeah, stratification is totally the wrong word. I think it's more like, what's the word I'm looking for where it's just clustering or just split out so that front-end engineer, like if someone wants a front-end engineer, they don't put stuff on.
More defined roles, like more nuance, more granularity in the roles.
Yeah, exactly. Now, one unfortunate thing is that is that any time you put two different labels on two different things, there's going to end up being a hierarchy.
Right. Like if nothing else, the supply and demand dynamics of those two jobs will be different and that will cause the pay to be different and that will cause a hierarchy, right? I mean, but that happens already, right? So by sort of hiding under
the software engineer label, it actually just makes it harder for people to advocate for
better salaries and things like that, because it just adds more variance, right? But yeah,
to your point, I don't think, I think it would be wrong to assume that any of those jobs is better than any other one.
I mean, they're they're all they're all sort of require a different set of skills.
But you are right. I don't. And without getting in, I don't want to drag it onto a giant conversation.
But you are right that they're different. One may be better or worse or harder or easier.
But supply and demand will dictate that prices might be different. Like the pay.
Yep. Yep. So, yeah. so I can see it both ways as
well I personally still lean towards like why not I mean especially if we if
software engineer becomes I mean let's imagine in the future 10% of all
employees globally our software engineers I mean that's that's obviously
what much farther from the universe we're living in now, right? But let's say that happened, right?
I mean, you can't just have software engineer as a job title then.
It would be absurd, right?
And so, you know, I think that as that job becomes more and more prevalent,
eventually that will have to happen.
So, I mean, I think that I guess on the fly trying to come up with an analogy,
if you talk about a medical doctor, so people still say you're a doctor,
but there's pediatricians and there's surgeons and there's cardiologists
and there's general practitioner.
I mean,
I'm not,
I'm not an expert.
Yeah.
Right.
You have all these different things.
If you looked at a job description,
it probably wouldn't say doctor,
right?
Right.
But you would still,
other people might call it that even if they know there's more nuance, you'd still say, Oh, you're a doctor right but you would still other people might call
it that even if they know there's more nuance you'd still say oh you're a doctor like you're
still that thing you're still a doctor you still go to medical school but then you develop a
specialization and you're right a job offer would be very clear about hey this is a position for
you know working in the hospital as a chiropractic surgeon i don't i'm terrible
anyways i don't know what that is either but but you know it's going to say very specifically what
that job is it's going to have a good label because it's a sort of stable thing and everyone
knows what it means um but it's probably true that like a pediatrician doesn't make as much
money as a brain surgeon despite the fact that people both call them doctors and they probably both refer to themselves as doctors yeah i agree with that cool next one or another one is
that the best technology doesn't always win in fact it often doesn't interesting the best what's
that one more time the best technology technology doesn't necessarily win in fact it often doesn't
huh i know i never i never thought about that well i
mean what's your take on that i need to mull on that a little bit oh i mean i feel like that's
yeah that's definitely true right like the best website or take it like a programming language
people are always like lisp lisp is amazing well this is pretty cool uh and some people would say
it's the best but even if whether or not it's the best is arguable. But even if you believe it is best or even if it was the best, a whole host of things, conditions, context, corporate backing get into whether or not that technology wins out.
Yeah, I mean, definitely. I mean, the statement is weak in the sense that, you know, the best is just one thing.
And there's so much noise that it's like saying,
pick any quality.
That one quality isn't going to guarantee success,
no matter what it is,
or even however you compose best, right?
But in general, I mean,
I definitely think better languages succeed.
Like I think languages that aren't as good.
Is that even true?
No, I don't.
I mean, I think it's a true statement.
As you point out, it might be weak in that it's a little hard to prove best, right?
So, like, would you say, I mean, let's take the top languages.
Let's say C++, JavaScript, Java, Ruby.
Are those, you know, better or worse than an average language than an average they're probably better yeah then the best there are probably other ones that are
best but didn't get backing or were ahead of their time or uh you know insert a whole host
of other reasons that are they in the top let's say 15 oh i don't know man
because i feel like a lot of people create a lot of languages and don't ever sort of fully execute
on the idea yeah that's true so i that's difficult but i mean look out there in in let's take websites
right like um uh isn't true that the site with the best, most, let's say the quickest and most accurate sports scores,
the latency between event happening in the sports world and their update of the score,
doesn't necessarily mean that that website will become how everybody checks sports scores.
Most people are still going to go to ESPN or whatever equivalent for your sport broadcasting might be in Europe, because that
has marketing, it has already organic traffic. And as long as if those sports scores are good enough,
you might cultivate a crowd around your specific, as you said, your definition of best, like I have
the lowest latency and highest accuracy, but that doesn't guarantee you're going to get traffic.
Yeah, I think it makes sense. Yeah. So I think, you know, in general, really popular languages are good. Um, are they the best? Yeah,
there's no way. Cause as you said, there's too many other factors. Yeah. Um, let's see if there's
any other, Oh, here's a kind of two, the appropriate use of emojis would become a very important
communication skill. The appropriate use of emojis would become a very,
no, I don't really, I mean, it's just me.
Maybe it's like a generational thing,
but I don't use emojis, to be honest.
I mean, I'll use the smiley face sometimes,
but almost everything, like when's the last time
I did anything other than a smiley face?
And I've been talking to you for like a decade.
Fair enough. That's just me though i use the table flipping emoji thing where the guy and he like flips it
down like that oh yeah that one's hard to draw unless you have it saved somewhere i just copy
the table flipping one and the guy shrugging the ascii art shrugging guy those are like my
those are my go-to emojis i have to admit i really like both of those um but they have no reason personally what yeah i mean when i see
someone do the table flipping it legit it legitimately makes me laugh so i mean i i get a
lot of value out of it but i just i haven't you know taken the time to macro it and i never i'm
always too lazy to search it like in, in the middle of a conversation.
So I haven't had a chance to use it.
Maybe if someone used it on me,
and it was quick enough where I could get to it and use it back on them,
I would do it.
All right, hang on, hang on, give me two seconds.
I'm going to text it to you.
I need a table-flipping, like, literally a table-flipping emoji,
you know, like in the keyboard
so so if you know if in the tray of the keyboard i could choose table flipping i'd probably do it
like you replace the letter i like who needs the letter i just make it there's no i in table
flipping oh patrick just sent me the table flipping this This is a really good one. This is like a really fancy, like...
Yeah, that does look fancy.
This is not the normal one.
Okay.
I think it's time, man.
I think we need another five.
Wow, that one is fancy.
He has a symbol for his nose.
What an interesting nose.
So now I'm just sending...
I found a website that has like a whole bunch of
random table flipping emoji out of the Unicode characters. And so there's some really good ones in here. Okay. We can put a link in the
show notes here. I'll add a link to this. This is good. You just bookmark this page, Jason,
and your life will be at least a hundred times better, at least guaranteed or your money back.
Yeah. I think people will actually listen to me in group conversations at work now.
Yes. Okay, cool. All right. I don now yes okay cool all right i don't have
to just say i don't have to just say i told you so all the time people have listened oh man um
all right so our last winners well first of all thanks everyone for signing up we have people
who have been patrons for a while actually let me take a
look at that uh i don't have i don't have a way to look at that off the top of my head we'll have
to do it next year oh yeah next year we should have like categories like five people based on
like how long they've been there five people based on like distributing by geography like
we should have that'd be cool yeah i won't remember that by next year i thought well
geography is a good idea i thought about doing it based on how long they've been there but but i have a feeling those people
have already won like some of our really long time yeah i looked at the names and some of them
i recognized um yeah i remember sending gifts to them already so so i yeah at the last minute i
kind of didn't do that but well there's no one way to cut it fair, right? So this is as fair, I guess, as anything.
Uniform random.
Can't beat it.
All right.
So this person's last name is NPC.
I don't know.
I have a feeling that's not real.
They're a bot.
They're a bot.
But we're going to give it to you anyways and um uh i'm
not gonna announce the the people in the overflow um because i don't want you know you didn't
realize oh i was the first person who didn't get it oh yeah but if but if but if npc doesn't get it
uh you will be someone else we'll definitely make sure 15 people get prizes. That's what that's what.
Yeah, there we go.
But Glenn NPC, who doesn't have an address.
Glenn, you are you're coming in number 11.
Stephen from the UK.
Thomas K.
We don't have an address for Paul from the UK as well.
And Chris, Chris L.
So those are our winners.
I'll be sending all of you folks emails.
And insert applause, clapping from the crowd.
Yeah, actually.
Yeah, I can't.
I'm not going to reveal anyone's email. That wouldn't be right.
But but you have some hilarious emails.
Congrats on you.
If you're a patron of Programming Throwdown,
you come up with some pretty good email addresses.
So props to you on that.
Cool.
All right.
Well, we didn't end up with anybody who was willing to participate in recording.
Yeah, there's someone who uh
there's a there's an audience here but uh but i think there's people are a little bit shy i
actually i didn't want to just randomly open the mic up and people just be like oh ah so so i i
posted uh um does anybody want to to join the chat and some people are gun-shy. I think it makes sense.
It's recorded forever.
It's in an MP3.
Tell me about it. I know.
On the internet for your entire life.
I don't blame you, but definitely keep up chatting
on the Discord. We answer
all of the questions. We literally answered
every question on the Discord
that people have asked.
Congrats again to our winners and uh you have a great um holidays merry christmas happy new year happy uh hanukkah oh i found there's this thing called ed or ed or something
like that it's like a it's a it's a it's a holiday tradition i don't actually know much about it
but happy ed or eid okay um uh kwanzaa um i think that covers everything i'm gonna go short and
sweet and just say merry christmas and see you guys next year merry christmas happy new year and
next year we have an unbelievable show. We actually already recorded it.
I'm not going to spoil it, but it is definitely, in my opinion,
the highest profile interview we've ever done up until now.
It's an absolutely phenomenal show. We don't know when it's going to come out.
The day is going to be.
It's actually not coming from us,
so we're not necessarily in control of the day. But it's ready to go, actually not um it's it's not coming from us so so we're not necessarily
in control of the day but it's ready to go and uh really looking forward to it i think it's
going to absolutely knock your socks off um you have an amazing year and let's let's do it again
next year see ya the intro music is axo by binar Pilot. Programming Throwdown is distributed under a Creative Commons Attribution Sharealike 2.0 license.
You're free to share, copy, distribute, transmit the work, to remix, adapt the work,
but you must provide attribution to Patrick and I and sharealike in kind.