Hey TechLead here, welcome back to coffee time now today I wanted to talk to you about
Coding and specifically why coding is not going to save you
You know
I see so many junior engineers out there and they seem to have it in their head that all they need to do is learn
Python learn how to write a few variables a few do-while loops and then they can apply to Google and they'll get it
But it just doesn't quite work like that
And in fact, I haven't written a for loop in like 10 years, you know
I'm just so tired of seeing people and it seems like all they want to do is code code code code
They want to see me open up a terminal with Pro
dark-themed and just start clacking hacking away on the keys and they just want to hear that typing in their heads and
To them that is code if they're just obsessed with seeing do-while loops for loops if else statements
and they want to know how can write a do-while loop in Python? How do you write a if else statements in Swift?
How do you declare a class in JavaScript?
None of this is going to help you and I just don't see the fascination with it
You see over the past few years working over at Google and then over at Facebook
I've had this revelation that the role of software engineering
It's changed quite a bit and coding is not even really a huge part of it anymore
You're about ten years too late to the game if you think coding is interesting, and it's just so old-school
you know how in the old days people use the right assembly code and then we
Abstracted upon that so no one wrote assembly code anymore people start to write in C++
And then people have tracked up on that and they start to write in Java and now we've got Python
Well, we've abstracted upon that as well now and these days programmers aren't even really reading code
they're using a bunch of
microservices platforms tools web services cloud
Infrastructure and configuring all of that and gluing these pieces together through API endpoints and frameworks
Speaking of which do we have a sponsor today? Let's roll the sponsor message
Click pause ready to start next business from websites and online stores to marketing tools and analytics
Squarespace is on one web platform to build a beautiful
Online presence and run your business get 10% off your next or desk or space.com slash tech lead. Alright, so here's a thought experiment
Let's pretend that you spend the next few months studying coding and you get very good at Python and JavaScript
Then what are you gonna do with that?
Are you gonna write a to-do app and present it to people?
Are you going to make a guess for your blog or you're gonna make another dating site, you know?
There's tens of thousands of dating sites that have already been made before you you bring nothing new to the table
Your user interface will probably look pretty shoddy like amateur hour probably because you're not really an artist
your infrastructure is not going to be
Distributed or scalable really it's not going to be faster performance and that most they're probably just be a few basic texts and images
So unless your dating app is going to be this real time video streaming application part by machine-learning with AR and VR video filters
You're probably not going to be getting anywhere. So how do you get to this level of effectiveness? How do you build something?
That's at the cutting edge of technology that bloggers will actually want to write about
Because the way I see it
If you're relying solely on your own skills as a programmer using your data structures and algorithms
What your recursion and breadth first search and binary search trees you're not going to get that far
Think about that most algorithms these days. They're not even handwritten anymore
They're powered by machine learning trained on millions of data points. So software engineers. Do not even render their own algorithms anymore
They're just tuning models and gathering the data. We've become data gatherers
So what I'm trying to say is nowadays
it takes a lot more than just pure code to ship a product because in the old days where you could just
Launch a website and that was already pretty cool
It would have some text and images and you can even get a job as a webmaster these days that is not even sufficient anymore
Consider as a prerequisite that most top apps support so much functionality like video streaming
Real-time presence and chat email marketing payments and customer service not to mention
You may want newer tech like blockchain AR and VR image recognition and video analysis
And you'll definitely want professional landing page with UI that is responsive on mobile and desktop with crash
analytics logging support for "A" - "B" experiment testing data replication and redundancy at scale, and high performance across
Distributed servers is pretty much beyond the knowledge of a single person to be able to handle all of this anymore
So as I see our jobs as software engineers is not to only code but to also
understand all of the services and platforms out there like Amazon AWS
Google cloud fully managed backends on firebase
frameworks and open source libraries on github and more
So I'm almost imagining this role where software engineers really spend all of their time reading
Documentation and learning about all of these web services and platforms and cloud managed backends and then the actual code that they do, right?
maybe just a little bit in the end to glue all of these pieces together because really who's going to be
wanting to write their own video encoding and decoding
streaming service and then managing that and
Scalia that who really wants to write their own chat server and then trying to distribute that across multiple servers
While they're actually trying to launch their other projects and features, you know, maybe chat isn't even the primary part of their app
Now I know all of this may sound a little unfamiliar and strange ambiguous
But you have to remember that software engineering is all about
pushing the edge of technology the role of a software engineer is to solve problems not
Necessarily to code and you have to remember that many years ago apps
Themselves were a strange idea people didn't even know you can make money online
People didn't even know how to do credit card payments online then stripe and PayPal came along made everything easier as well as a whole
Bunch of micro services and platforms if you think about it
The role of being a coder is a very worn and trodden path these days with your other
completion code editors tech conferences for the masses with tutorials galore and neat little
Package the web frameworks that can deploy entire websites with a single click of a button that is just not even
Challenging or interesting to just make a basic website anymore these days you have to go further than that and push the boundaries
And I can tell you looking at some of the apps I have built in the past
I have personally wasted so much of my own time rebuilding things that were already out there
Like I came up with this image
Upload service and that was figuring out how to do image uploads how to resize the images store them distribute them across multiple
Servers back them up and it was such a pain and it wasn't even a good service
I could have just asked her is all of this over to Amazon s3 and similarly for emails
I pretty much built up my own entire custom tech stack for email deliverability and
Sending messages to customers and it was a total pain to manage I had issues with the emails were going to spam and you know
All of this could have been outsourced to like Amazon SES or some email marketing service
And I didn't really have to build out all of this by myself
If I knew where to look for these services now in addition to others it may also be good to mention that software engineers
Many aren't even reading code by hand anymore. Like when I was working at Facebook
I have been working on three hundred thousand lines of code. Most of it was just through scripts
That would actually write code
They have code generators these days. Where you
Declaratively just write the type of behavior that you want and then scripts would actually write the actual
C++ or Python or objective-c code that would enact the functionality such that you are not writing code manually by hand all the time even
So for instance, let's say you wanted to build an e-commerce stores to sell shirts
You can crowdsource the artwork at the site like 99designs
hire a contractor at work to help polish up the design a little bit more send the image to Alibaba for
manufacturing ship the finished product to Amazon FBA for storage and distribution
Then register a domain name and set up a professional website or landing page for it through Squarespace
Calm slash tech lead set up some email marketing campaigns for Thursday SendGrid
Amazon SES add some more payment options through stripe PayPal Braintree and then buy some ads on Facebook or Instagram
And at this point you've launched an e-commerce business without writing any code at all
Although you can see that not anyone can be doing this
You still need a technical mind to be able to?
Understand how all of these pieces may be wired together and then to optimize all of that and then there may be some code glueten
Here and there may be four dashboards metrics analysis
Maybe you can use some machine learning to forecast what your sales are going to be
Maybe pull in some user data from an API exposed through some email automation framework create some spreadsheet and do some user
Analytics on that that's where a coding may come in quite handy here
So the way I see a coating has evolved to be more about the usage of api's and frameworks than about the individual
Implementation of some data structure or specific algorithm now, why is this important for software engineers? Well, sure
You still need to know how to code you're going to be definitely
tested on that and you want to pick some specialty area like say
Python web Django back in engineer or iOS mobile surf the engineer and that's great
But in addition to all of that you do want to have the projects to prove and validate your skills
Because the projects are really going to be what makes your background impressive code that does not exist in the vacuum
And so in order to find success in your project
You're going to want to be leveraging all of the tools are available for you rather than reinventing the wheel every time
Knowing how to use any of these web infrastructures micro-services cloud platforms managed backends
They're almost just as good as learning some other language like cycling or nodejs
It's going to 10x your work because you don't have to be reinventing the wheel every time and you can quickly ship something
Impressive just by going together a few advanced
components that have already been written out by
Experienced software engineers and you may find you can get much further in your project with less code and then whatever
Framework or API? You're using let that dictate
Whichever language you may want to use like if you're using an open-source project that's written in scala
then that's going to be the language you're gonna want to know and the last thing to know is
Don't have so much pride in your own code. I know a lot of software engineers
they have
overinflated a sense of ego and they want to say well they came here to code and they want push their own code out to
Production and that's the only way they're gonna feel good
they want to know how things work inside and then make sure each part is optimized that they understand every little bit of it and
To be able to say with pride that they wrote
100% of this project and I remember we even did this over at Google we did the one that use other open source frameworks that
Pretty much did exactly what we were trying to do
So we spent months writing our own version of this stuff and later on
We just scrapped it on and just use the open-source version thing because it was just better
So remember that the job of a software engineer?
It's not to code at least not 100 percent of it is it's to solve a technical problem. So have pride in solving that problem
So if you're building an online business or launching your next app learn to use tools like Squarespace to get yourself a head start
Squarespace empowers people with creative ideas to succeed every day
They helped millions of dreamers makers and doers by providing them with the tools
They need to bring their ideas to life on Squarespace is all-in-one platforms
Customers can build a website claim a domain sell online and market a brand their Street of products combines cutting-edge design and world-class
Engineering making it easier than ever to establish. I own your online presence
So check them out over at squarespace.com slash tech lead and get 10% off. They'll do it for me
I hope you enjoyed the video give a like and subscribe and I'll see you next time. Thanks. Bye