Hey, this is Overpass Insights! My name is Eric and I... make apps! (laughs)
Today, I want to ask a question, does using existing libraries make you a bad developer?
Alright, so today, I want to talk about a comment I got in last week on a video
from Kirill. It's really good! Kirill says,
"Hey, Eric, have you ever thought about how good you are
as a software developer?" Yeah, sometimes! "I've been developing mobile apps for
like five years and most of the time I've been using existing solutions.
Most of the time you just need to put together known features, use common
approaches and popular libraries. That's more than enough to build a
decent app and get paid. I'm not a talented programmer and not
good in algorithms, but I can make an app and it will work good and will be
written in a decent manner. But, in fact, I'm just utilizing someone
else's creations. For example, Android OS it's a
masterpiece of nowadays tech, or Android Studio or Flutter or even the
mobile device itself. Each of these are cutting edge of
today's tech. The guys who are behind these software or hardware can't just
Google their problem. Most of the problems are probably don't
exist yet. Stack Overflow won't help and if you think about it, it's pretty
sad if you compare yourself with the guys
who do the future. Have you ever thought about that? Kirill, yeah, I think about that
all the time. And yeah, I don't compare myself to the guys of the
future. And we are definitely as mobile
application developers, we are standing on the shoulders of giants.
We are dealing with technology that someone else built and a lot of times
when we complain about say Google Play or Android as a platform
or iOS as a platform, it is really the
case where somebody else has built that and we're in their marketplace which is
different than if we were doing something completely from scratch,
right? But I think about this a lot, in fact, when I started as a software
developer uh i did like it was a lot of like
vba and visual which is visual basic for applications then i went to visual basic
doing desktop applications and one of the things that bothered me
about visual basic was it all visual basic apps well most visual
basic apps look the same it was a square form you know text boxes buttons all
that kind of stuff and i remember talking to an instructor about this one
so you don't have a lot of flexibility you're not really building anything from
scratch and he said well that's true why would
you want to do all the logic for a text box and for me a text box is just like
that's the the bare the lower part because no you
got to have the on focus event you would have if you were to create a
text box from scratch all those things you would have to be
put into it so you're basically using a library or framework that someone else
had done and as i start to go through my career i
started to see that more often than not i mean i'm not i've never been
like a c plus plus program where i do things at that lower level
and i'm sure c plus developers probably think oh there's also people who do
binary or whatever so we're always building on a certain platform
and as and you're able to build creations based on things that other
people have done so we're we're almost like i think about
like chefs like we're bringing in the right ingredients right we're bringing
in things like a really good chef doesn't go out
to the really low level like go out and kill the
animal or harvest the the vegetables but they bring all the
things in and sometimes they might use pre-made solutions like
like butter or maybe even a packet of something and you know it depends on
what level of of chef they are but in the end the end
user the whatever the diner in a restaurant or
the end user of our applications they don't really notice a difference
it's something that us as software developers
think about so yeah i definitely think and
this is where i talk about machine learning right
when we talk about software programming you know i've always heard about how you
have to be really really good at math in order to be a good programmer and i
think you have to be decent at math but i've never been really great at
it so i thought but i've been possible like
i'm using other people saying i could connect to a database i could retrieve
things like you know i understand how the concepts of software development
work and even the more advanced concepts like the design patterns and everything
like that kind of building upon that but um
uh but yeah i don't i don't when it comes to like something like machine
learning that's where it was like whoa this is
like really cutting edge stuff and i tried to learn machine learning
and i was really good to a certain point and it was like way over my head so that
was like testing the limits as being a software developer but
i don't think there's anything wrong with that you could take existing
libraries and always check the um check to make sure the license is on
then make sure this is the you're not using something that somebody could
claim ownership to if you're using something
like that but you're basically taking things that are
already out there and building your own unique combinations with them
ideally they should be somewhat unique right you can do it for your clients you
do it for your users the same way if you so if i go to the
movies i hear you know i see story lines that are like
parts pulled from other things there's nothing really very unique you
see when you go see a movie it's just like
different constructs different types of characters different types of plot lines
everything's kind of reused in different ways
and different mash-ups of and we're even the same with music you know how often
have you heard of music that has a new note or using a brand new
instrument no we're building on the things that other
people have built before us and unfortunately i take what you mean
about when we talk about android or ios we are
kind of at their mercy because it's always moving they're always changing it
uh but we can still create great creations from it i don't think there's
anything wrong with it and as a software developer and a lot of
software developers we want to create things from scratch as
much as possible and sometimes it's a good idea sometimes
it's a bad idea i've had contracts where
the the company says we want to build this on top of sharepoint
and i'm like i hate sharepoint let's not use sharepoint let's do it from scratch
and and i'm trying to go the builder from scratch which will be more
expensive and will take us longer to test all that
kind of stuff and um sometimes they went up sometimes i do
sometimes you're building something where you're just
you know i've met sharepoint developers who don't even know how to code
they're called developers but they just know the config of everything so they're
like at a different level than than i am and there's people where c
plus developers could build anything probably uh and they're at the
lower end and you know yes i do think about that from
time to time we are standing on the shoulders of giants we
are using the platforms that are there at our disposal and i don't think
there's anything wrong with that i don't think
it makes us less of developers um i suppose it's like you know it's
like it's like being a man in the modern
world where you go to the store and buy your stuff rather than go out and hunt
and there's there's a guy there's guys out there who are way more
masculine and manly than me but you know i'm doing pretty fine in
the world that I am that I live in with the with the tools
that I have and I think it's kind of smart when you use a library rather than
build something yourself. It doesn't say that you're -
you're less of a developer, it says you're smart and you're
resourceful. Just my thoughts on I thought was a
really good comment. Do I think I'm a really good programmer?
I think I'm adequate. I think I'm adequate.
What do you guys think? Do you think you're a really good programmer? Do you
think it makes you less of a developer because you use the libraries and the
platforms that are there? It's a really good question, something to
think about. Anyway, hope you guys are having a great day!
That's it for today. I'll talk to you next time!