hey welcome back now in this episode I
want to cover my top programming
languages for 2020 and I think it's
important to recognize that you can
evaluate a programming languages in the
number of different ways for example
whether it is useful practical or
whether it can get you a job and then
the past year the landscape for software
engineering has changed so much in my
opinion I wanted to give an update on
what I think are the most relevant
languages and technologies that you need
to know quick pause this video is
sponsored by brilliant a problem solving
website an app with a hands-on approach
and over 50 interactive courses get 20%
off premium at brilliant that org slash
tech leave alright so first up what is
my number one programming language which
language would I personally want to know
and learn in 2020 and I know that there
are some popular ones you may be
thinking well there's Python that seems
very useful everybody says Python is
good I've said that javascript is very
good as well before - but it's not what
I would want to know I think they're
great language is very useful but
personally for me I would go with Swift
iOS mobile development and you may be
wondering why and the reason really is
competition in my opinion when you're
learning a language like Swift or
objective-c for iOS mobile development
the barrier to entry for this is
actually quite high for example number
one you need a macbook you may need a
membership to the Apple Developer
Program just like $100 per year and so
this creates a barrier to entry that
actually helps make it such that when
you go and apply to jobs you're not
competing against the billions of people
out there other outsource workers are
the other students who may be flooding
into the u.s. from say foreign markets
there's so many talented people out
there in the world to me it's an uphill
battle and it's just a market dynamics
at work I always mobile development if
you can get in it's really quite
pleasant actually you get great hardware
great technologies usually the iOS code
is cleaner than the Android counterparts
at least as far as I've seen and it
positions you well to land a role at
top-tier tech company like say Facebook
Google Apple because a lot of these
companies they want the mobile native
developers to be churning out really
high-quality performance code they don't
really want like react native type of
hybrid code and in my opinion mobile
development it's still pretty decent
area to be in although the heyday has
come and gone app development these days
it's more difficult than it was before
and there's a lot more things you have
to take into consideration like you have
to make sure your code works for iPad
iPhone dark mode light mode
accessibility all sorts of different
screen sizes dynamic text sizes
internationalization UI human interface
design patterns so the Philippine mobile
apps may have a steeper learning curve
you could be doing your own memory
management doing distributed processing
across multiple threads handling UI and
scrub performance issues layouts but
still I just personally prefer the
smaller playground that is that iOS
developer community so over all else
development comes in at number one for
me not because it is the most practical
language but because it is a language
with the largest moat around it because
you have to essentially shell out $2,000
for a MacBook Pro pick up the Apple
Developer Program and that just locks
out a lot of other people and
competition when you're applying to jobs
now coming up at number two I would put
Coughlin or Java Android development as
the next technology to know and I say
this because when I was working over at
Google and then later at Facebook I kept
hearing people say that there is a
shortage of Android developers so
Android development it's in demand at
these fan companies not to mention the
languages used like Java Coughlin I mean
they're pretty decent Colin is actually
quite nice as well as a very modern
language and Android has only been
gaining market share against iOS not to
mention most internet browsing activity
these days has shifted from desktop over
on to mobile so native mobile app
development while it may not be that
important for say a startup which maybe
just needs a web presence for these
large top-tier tech companies it is the
primary battleground because they
absolutely need to win on these
platforms and it is very important
they're making their apps as fast as
possible and for example if you're
working on say at the Facebook app or
the YouTube app these mobile versions
and the developers behind they are just
given higher priority they're given the
spotlight compared to say the web
counterparts are working on site that
JavaScript versions which usually you
knows people are trying to push people
off of that web versions on to the
mobile versions of these apps all right
so moving on language number three well
if you're to ask me what is the most
practical language to know the one that
you didn't have to worry about trying to
apply code job but if you just want to
know it and then become an entrepreneur
through that I would say javascript is
the way to go because you can just get
so much done with it these days you can
build a complete back-end using
JavaScript you can use node.js on the
backend you can build a beautiful
front-end and website using javascript
connect to a whole bunch of different
api's connect to a database and so if
you're a small-time developer you want
to build a prototype a proof of concept
then JavaScript can get you going you
build a simple website you don't
necessarily need a full mobile native
application unless there's something
specific you're trying to do but you can
actually get a whole bunch done using
say just JavaScript and building a
website now there are some problems with
JavaScript number one is pretty easy
there's no barrier to entry pretty much
everybody and their grandmother knows
JavaScript these days and then the other
thing is you have framework hell in
which you could be going through react
is angular view so there could be a host
léo frameworks not to mention these days
people are trying to write in typescript
which provides static typing on top of
normal standard JavaScript so there's no
single one correct way to write
JavaScript there could be more trend
because you could be learning different
things different ways of reading it you
could be come very good that I say
angular and then your next step you need
to write in react or typescript or no
J's and so forth you could even do some
native app development using RAC native
writing in JavaScript although these
days I think that due to higher demands
per se performance and quality people
have been going for more purely native
approaches instead of building on top of
another framework like that okay moving
on well recently I was asked by school
professor which language he should teach
to students he had been teaching in Java
and he was saying that feel a little bit
outdated what language should be
universally taught to just everybody and
in my opinion that would be Python
because Python is just something that
everybody can use it's a very general
and useful language it can be used for
web back-end development you got YouTube
and Instagram being powered on Python
backends
it could be used for scripting like if
you want to write bunch of internal
scripts and tools cron back-end jobs it
could be used for data analytic
making sequel Cory's building update the
pipeline's data engineering it could be
is from machine learning as well as well
as virtually every single API endpoint
out there allows you to interact with it
through a Python libraries so it's a
great language are very simple to learn
and read and this is the language that
we also use for our course by the way
Tech interview procom in which we teach
you how to pass the coding interview so
check that out if you're interested now
for my fifth language and this is where
things get a little bit interesting for
2020 in my opinion because my pick is
not really so much a language but the
technology of serverless platforms out
there for example if you want to build a
real time back in for your chat
application well sure you can go learn
node.js or go Ling but instead you can
also just use firebase and so back-end
services like this essentially replace
your entire need to go learn a new
language like node.js and figure out how
to scale that whole thing out make it
secure and everything if you want to
build a beautiful landing page you could
use like say Squarespace if you need
email marketing there are services for
that if you need video uploads image
uploads chat services payment services
well back in the old day you may use
stripe to do credit card processing wire
up their API using say Python connected
to some back-end and they have that fill
out some email form but these days you
can get all of that all set up you could
use API services like say zapier that
essentially glue multiple pieces
together such that many times you don't
necessarily need to even be coding a lot
of this stuff so platforms and services
have matured to a point that if you're
smart you're able to utilize these
services out there instead of rebuilding
things from scratch over and over and
that can actually save you from having
to learn additional languages if you can
just use these other services and then
another new thing I would say for this
year maybe number six is the language of
social media in which you know how to
promote your apps or products or
services using Twitter YouTube Instagram
LinkedIn Facebook tik-tok or snapchat I
think that 2020 will be the year of
these social media platforms essentially
just dominating a lot of Internet
traffic and if you're a developer and
you're out to promote your app or
platform that you need to know how to
navigate these social media platforms
and this is an essential skill and then
have mentioned this before but back in
the old days if you had the website
oftentimes people would just build an
iOS app and it would just be a shell a
wrapper on your website and the whole
goal of that was to get your website
into the App Store as a NAB such that
you get more traffic for your website
that people would visit it maybe they
put a little app bookmark on their home
page and you would have to code up the
shell for that so the whole goal of
learning iOS development was simply
distribution power these days if you
want that distribution power the
language to know is that of social media
and then after that I would say my next
language to know would be sequel the
database core in language because these
days there's just so much data that
there's a high need for data engineers
data analysts people are able to query
these databases get the metrics and make
sense of them back at my job at Facebook
probably 25% of my time I was just
writing sequel queries building these
dashboards and metrics such that people
could check the performance of their
features make sure that launches would
be going accordingly running a be test
and measuring impact such that we could
justify bringing a feature for it
this is all done through the sequel
query language now this video is getting
a little bit long I can't mention every
language out there but I wanted to
mention a few one is say c-sharp net
using unity development for example I
think that unity with C sharp has become
this great way to do cross-platform game
development if you're interested in game
development I think that would be a
pretty interesting technology to look
into similarly we have flutter using the
dart programming language to do mobile
app development across iOS Android and
perhaps other platforms as well flutter
is something to definitely keep an eye
out for it seems a little bit early
though and at least for a native app
development performance faster at that
time preserving the same look and feel I
think that those are things flutter will
have to know if they want wider spread
adoption then you've got golang which is
also quite a nice language my original
interest in this was for real-time
applications like say chat but then I
realized there's like Google firebase
you got Amazon ElastiCache so services
like this are fully managed they scale
automatically if you're looking for
something more custom though then
perhaps go lengths could be the thing
for you and then there are some lower
level languages like say C C++ whereas
if you're building something that needs
that level of performance that may be
for you it's not something that I
typically work with though on a
day-to-day basis
C++ for example though it could be used
for say cross-platform development
across iOS and Android devices
now before I wrap up I want to note that
the best way to think about this is to
think about a set of languages that you
want to know not just one maybe like say
three to five because if you go into an
interview setting for example and you
just say you know one language like say
Python or you only know Java it doesn't
really matter how good you are at these
you're not gonna get the job offer it's
pretty useless actually these days if
the only thing you know is just one
language you just can't get that much
done with it
so rather I find it helps to have a more
curious learning based minds that we're
out to just explore whatever
technologies may be useful for you and
it's not really just the languages it's
really all the frameworks the ecosystems
the tools the platforms and services
that surround that language that make it
really more useful so ready to learn
more brilliance courses have
storytelling code writing interactive
challenges and problems to solve it's
built for ambitious and curious people
who want to excel at problem-solving and
understand the world you come away
better at problem solving with brilliant
you unravel concepts bit by bit and
build up to an interesting conclusion
and discover deep truths and unexpected
places it's such a fun way to nurture
curiosity build confidence and develop
problem-solving skills crucial to school
job interviews or career and brilliance
thought-provoking content breaks up
complexities into bite-sized
understandable chunks that will lead you
from curiosity to mastery so go to
brilliant that works slash tech lead and
grab a subscription to help a loved one
spark a lifelong love of learning and as
for 2020 I would say that a lot of these
platforms and services they're being
built out now fully managed auto-scaling
cloud services that can save you some
time from having to learn another
language and you can instead just
interface with this through some API and
use whatever other language that you may
be currently on but simply you can keep
your tech stack the better so value for
me if you liked the video give like and
subscribe really appreciate that and
I'll see you next time Thanks bye