Welcome to Insiders' Viewpoints: Career Paths for Web Application Development In this video we will listen to several web development professionals discuss the qualities and skills of a web developer. So, what are the qualities and skills required to be a cloud native or full stack application developer? (This can cover both technical and soft skills that a web developer needs to be successful at their job.) The most important skill to be a full stack cloud developer is being comfortable with ambiguity and learning all the time. Because in the cloud, there are so many updates coming out all the time. And keeping up to date is what will keep your application being the best you can. Because oftentimes, cloud provider will come up with an update, that solves a problem you were just working on. And then you don't have to write the custom code yourself, you can just leverage that new feature in the cloud. That's cloud native development. And what I mean by being comfortable with ambiguity is you're constantly using services you haven't used before. Because there are so many, and so many new ones and so many features, you're never gonna be totally experienced in any of them. So be comfortable with feeling uncomfortable. A full stack developer should have technical skills for front end technologies, creating API's and writing back end code, working with databases, web architecture, basic design skills, and working on git. Apart from this they should also possess project and time management skills, attention to detail, good communication skills and understanding the customer requirements as per the overall business vision. The other skill I would recommend for a cloud native developer is understanding the broad scope of services, at least at a high level for at least one of the major cloud providers, and to be fairly confident in at least one language, such as Python, or Node J.S. Ideally, cloud native app developers should have a solid grasp of some key technologies that include container technology, which also includes Docker, and container orchestration platforms like Kubernetes and open shift. There is a steep learning curve with Kubernetes and plenty to learn in this realm. Another is serverless services. serverless services have a lower learning curve and in that simplicity is a strength. Essentially serverless services involve developing and deploying a service that mostly performs one function it looks like a function, and you can deploy that without worrying about the details of managing a server. API's cloud native developers should be well versed and comfortable working with rest API's including the common tools, authentication, and all aspects of working with rest APIs. One skill that I think is very underrepresented and underappreciated, to be a really good cloud native developer, is optimizing your workflow. And what I mean is that as a cloud developer, you're going to be developing on a local machine, a laptop or a desktop computer most of the time. But you're also going to be deploying out to a wide variety of virtual machines, containers, servers, so on and so forth. And in order to do that, a lot of things actually need to happen. You need to develop your code, test your code, build images, deploy those images, and each one of those things takes time. So, it's really important to understand and to optimize where you invest your time and what you can automate. Generally, try and automate that and spend your time generally developing creating the code for your problem, not building images and waiting for things to go. So, it's really important to optimize your workflow and make the most of your time. Next, we will hear these experts discuss some of the different paths that you can take to get into the field of web development? OR, how did they get into web development? Build your knowledge, build your knowledge in languages like Python, Java and front-end technologies like Angular or React. You can then get certified in a cloud platform and start applying for jobs. By first taking several free or nearly free online courses and doing projects where I would actually write mini apps. And then once I felt like I had completed several courses, and was able to actually, you know, do a fair amount of things. And that it was actually after 1000 hours of practice, you might not have to wait that long. After 1000 hours of practicing coding, through those courses and exercises, I started going almost every day to meet ups. And I soon met a startup founder who needed an app built for a specific purpose, a home watering system. And, within a month, I wrote that application. And towards the end of the month, I was going, again, to meetups. And I set a goal for myself, that every day, I would have an informational interview, like in a coffee shop with someone. Because if I meet someone everyday in a coffee shop, I'm like, who's a developer who has potentially a job to offer me, then I'm bound to get a job. And I actually did that. And on the third day, on the third day of me having that challenge of having coffee shop meeting every day, I landed a job, And that person gave me some react code to work on it first. And then some Node JS, I remember. And I was just continuing to expand my horizon with every task I was doing. There's no single right path to get into this field. Many people learn these skills from online courses, such as this one, but there's also the traditional path of going to University or college either way. When you do learn something, it's very important that you go ahead and apply it, whether it's a project for school, for work or a personal project. And finally, we will listen to these experts discuss the advice that they would give to aspiring cloud and full stack application developers. (This can include what to learn, skills to acquire and how to acquire them, how to demonstrate that skill/expertise, getting attention of employers, networking, and any tips for getting hired.) So being a full stack developer, you know, means a lot of things. And it's really hard to be absolutely perfect at all of those things. So, my advice to a full stack developer would be to, you know, to really hone in on what your strengths are, and then focus on your weaknesses. So, for me, I can say I really work I love working with back-end, but I'm not so good at designing or writing CSS. So, in the past couple of years, I've, you know, really tried to focus on the front-end and make my skills or make myself better and skill up in that area. Another advice I would give you is to try different frameworks. So if you're primarily a JavaScript developer and you work a lot with Node JS, I would say go outside your comfort zone, and try working with a Python framework. Maybe you start, build or build something in Django or Flask, just looking at how different frameworks approach the same problem or working with the of designing and creating a website. You know, so a lot of things are common, for example, authentication, or middleware, or routing, or creating REST services. All of the different frameworks have a very opinionated way of doing that in if you step out of your comfort zone and go look at how different frameworks approach this problem. I think that could be very beneficial to any front-end developers or sorry, full stack developer. And then finally, I would say, read source code, right. So when you're developing JavaScript, go read the actual specification, when you are building a Python app, go into the source code of whatever Python version, your language you're using, and see how things are done. That I think is just struggling and trying to find your way around. It could be scary in the beginning, but it will help you in the long run. It'll help you become a better developer in the long run. If you want to start being a full stack application developer, you want to create cloud apps. Best advice I can give to you is do it. Don't bog yourself down in the details, you might make a mistake, but if you're just getting into it, it doesn't matter what framework you choose, what tools you use, what language you choose. There are so many options, choose something new. Choose something that seems cool, something that will make you excited, perhaps. But make that decision. Move on, create something, because once you've created something, you can share that with the world and with the cloud you can grow it or move on fast, and I think that's the most important thing you can do, because once you start creating, you're really going to start moving forward with your career. The advice I would give to aspiring full stack cloud application developers is get some cloud certifications. It gives you a high-level overview of the cloud services, so you know what's out there. And then also get your hands a little dirty in the cloud. So actually, try to use some of those services. Even if you're not making something very meaningful out of it. Just try to click, you know, start on VM in the cloud and see what happens and do that for a few different things. And It'll be a lot less scary. But anyway, once you have two or three certifications, you're going to get the attention of recruiters on LinkedIn. And so that's a sure-fire way to, to get some attention. Another piece of advice I would give to aspiring full stack cloud developers is listen to lectures. All the major cloud providers, have annual conferences, listen to those talks. They're meant to be pretty captivating, for a tech talk. And they're usually very well curated. And, you know, I try to listen to these cloud talks. When I'm cleaning on my own, or taking a little walk, or driving, you know, not all the time, don't drive yourself crazy. But now and then, as you're eating, you know, it's good to focus on your food. But now and then, you know, try to listen to some cloud lectures. Getting started with full stack development on the cloud can be pretty overwhelming. You have a lot of options to pick from for the various elements of your stack and you also have a lot of options when it comes to how and where to deploy them. I recommend when you're starting out to pick a particular stack, stick with it. The situation you want to avoid is where you've developed 12 different to do list apps in 12 different languages, but you haven't really developed any deeper skills in any of them. I'll start out by saying I guess I'm not entirely convinced of the notion of a full stack developer as it is it's really difficult to excel at both front-end UI development and also back end API data access and data pipeline development. So, my advice is to focus on one or the other. And you might learn something about the other one, but at least have mastery in in either the front-end or back-end development. Back-end API development and micro services development will require more interaction expertise with cloud infrastructure and services than probably front-end development will. In general, I'd recommend learning more about security as security concerns now pervade everything, and you don't want to be the person that you know, leaves a security hole in your application. Getting Hired. It's no surprise networking is key here. Even second degree connections can get your resume out of the digital pile.