How do I store information how do I get you to know how do I make calculations how to do how does a lot of this stuff happen right when I say shop what happens right how does it open a new screen how does it pull up the relevant material how does it display it in a certain format that's personalized to me a lot of the logic it a lot of the functionality is the backend and that's something you need to learn just as well if not more right because the front-end is is is how you show it to the user as far as they're concerned that is the world they interact with but behind the scenes does a bun cuff happen that's the back end and at that back end talks to the database right.

You're probably going to use you know sequel statements using my sequel or pl/SQL or or or if you are using what is called unstructured data things like MongoDB or Couch to reach out to databases to extract information now this information can be customer information it can be old receipts it can be your order history it can be all of this stuff right it all gets stored in a database so if you start thinking about how all these three things fit in together you come in and a user uses the front-end they go to a particular screen they try to perform an action all of the logic for that action is taken care of by the backend code and that back-end code then draws on information that's stored in the database, and you remember I said you are the sole developer.

You're the founder you are the CTO you are everything you're the person who's thinking about this end to end have to be familiar with all three of these now in larger companies you might not be the only person doing all of this but regardless of whether you're focusing on the front end or regardless of whether your project is right now focusing on building a back-end you need to understand how all of this works because paradigms like DevOps coming sure that used to exist if you know planning and then writing code and testing it.

All of that being done by different people that world is gone that world has been replaced by everything being done by one person or a small group of people each of whom understands all the moving parts and that's why it's important as a full-stack developer regardless of what your super specialty is or regardless of what your superpower is whether it's front-end database or back-end for you to understand all of these pieces and all of this doesn't work in a vacuum right one thing I'll add here is it's also important equally important to understand things like API's right how do you reach out to API's water ape's APIs are kind of like these it's like you know you can think about it this way if I want electricity.

I can actually go and try to generate electricity I can build a wind turbine I can build a hydropower plant and try to draw that that energy through copper wires into my house and try to light a light bulb, but I'm not going to do that because somebody's already done most of that work for me right The Electric Company the utility company has done 99% of the work, and they've brought it to a point where there is a socket on the wall there's a plug point and I just have to plugin, and I get my electricity that is exactly what an API does the API has given you that plug point and all you need to do is plug in what I need to do as the developer is to understand what kind of what shape of plug fits into it what voltage output it is going to give me and therefore adjust my needs appropriately that's the only last-mile adjustment that I need to do right.

Understanding API's understanding version control because I'm going to develop lots and lots and lots of code you know deploy it check-in do all of that stuff you know what are the right tools right I'm going to use gate I'm going to use GitHub I need to understand you know the version control environment I need to understand and guess what nearly every single company and nearly every single company's technical environment is now on the cloud and nearly every major company uses DevOps as their software development process, so you do need to understand how and where your code is finally going to you be used and where is it going to reside because the old world of going and buying you know a box from Dell for $200,000 and putting it in a server room and cooling it using a fan and having another database installed in it chances are you're not only you're not going to live and work in that world chances are you're going to use AWS.

You're going to use that George you're going to use one of the cloud environments you're going to deploy things continuously using these principles called continuous integration and continuous deployment with DevOps you're going to use a whole variety of tools that are continuously monitoring for when things break about whether your code is working well and playing well with existing code and so on the right so that plumbing or that infrastructure of cloud storage service compute network DevOps principles DevOps tools connecting to other APIs and services that are as much a part of your job as the stuff on the top with front-end back-end and database.

The front-end back-end in database code that you write is going to be maybe one file that is maybe going to be one I don't know a few kilobytes or a few megabytes right but that then has to play with all the other things that hundreds of companies around the world have built they need to plug into other services they need to pull information from you know a variety of different services they need to be stored on the cloud they need to continuously be monitored and fixed when things break so you as a full-stack developer need to understand all of this and that's not a mean feat which is why we spend so much time trying to do it when we try to impart this these skills to you all right so that's the world I hope I hope I did a thorough job of explaining that to you right now a lot of buzzwords get thrown around.

When we talk about front-end back-end database I just told you about 15 different tools in that previous slide, and I'm sure a number of you are asking so what should I learn there are literally a thousand different languages and tools and packages and frameworks how do I choose to look the short answer are you pick the ones that are most widely used among the used right, but you also pick up the ability to adapt to new tools because guess what you're not going to be able to choose whether you use angular or react you know in your next implementation chances are that decision has been made by your CTO or the head of technology or your architect or your boss.

So you may not even have the choice, but you do you can't say therefore I will not learn it at all you do have to learn it very well you have to make a choice pick one of the most popular ones go with it but be adaptable and be able to pick up something else similarly most big companies use Java as their primary back-end implementation framework or language but there are equally smaller companies that use Python there are companies that are very have long-standing contacts with Microsoft that use dot net and so you may not have the choice.

Post a Comment

Previous Post Next Post