Now Playing

CodePath EES2024 MUTUAL OF OHAMA - Beyond “Hello World”: How I’d learn to code in 2025

EES 2024 CodePath
Details
Length
1:00:55
Views
43
Featured Company
CodePath
Published
Oct 15, 2024
Find Your Path Forward

Ready to build your tech career?

AI-native engineering courses taught by senior engineers from the companies you want to work at. CS students and CodePath alumni enroll at no cost.

About this video

This is a recording from the CodePath 2024 Emerging Engineers Summit (EES). EES, the nation’s largest and most diverse event dedicated to Gen Z tech talent, takes place every year in October. Tickets are available to anyone who completes a CodePath course.

Software development is evolving faster than ever, and it’s no surprise to see increasing use of LLMs like ChatGPT for coding support. In this session, Mutual of Omaha’s Deepson Shrestha outlines how he would now approach learning to code and build applications to land a dev role, how to leverage cutting-edge tools and techniques to stay ahead of the game, and some dev resume-boosting tips.

Transcript

Hi everyone, welcome to the breakout session. Hello World: How I’d learned to code in 2025 hosted by Mutual of Omaha. It is so great to see you all.

We’re excited to have you join us today. I’ll be introducing our speaker shortly, but first wanted to share a few reminders. I see that you all have found the chat.

Please feel free to utilize that during the session. Try to keep your comments on topic. Use the Q&A feature if you have any questions because we will have some time for Q&A at the end.

You can see our speaker in the chat as well. And note that we can we can see the chat as well. So speakers can see the chat.

So you if you have any shout outs, any thanks that you want to give as well, we love seeing that in the chat too. Our team will be monitoring the chat. And following the session, we will ask that you complete a brief feedback survey.

So with all of those reminders out of the way, I would love to introduce our speaker for today, Deepson Shressa. So Deepson is a software engineer with a bachelor’s degree in computer science and six years of programming experience in objectoriented programming paradigm specializing in full stack web development. P and has gotten a lot of experience over the years in internships, personal projects, academic courses, online resources, and onampus experience.

So excited to learn from you today. Take it away. Yes.

Yep. Thanks. Thanks, Kelsey.

Hey everyone. Thanks for joining this session. Really excited to be presenting my topic to everyone in this conversation today.

So before all of that, a little bit of background about me. I’m deep fash and I’m a software engineer in mutual of Omaha. I’m an engineer one over here and I’m basically a fullstack webdev over the past couple of years since completing my undergrad education from Truman State University in Missouri in computer science.

I have dabbled around a few different roles. I’ve had the opportunity to work with some of the Fortune 500 companies in different internship positions. And switch around different roles, occupy different positions, work with a bunch of different technologies since my graduation back in 2021.

So, so one of my last internships was with Mutual Omaha and I kind of decided joining this company as a full-time associate in the position of an application developer. Given the projects that I was working on which I found to be really exciting and interesting. And a little bit about myself like technically I I basically started out in the UI side of things.

I I built built a couple of UIs here and there in in different internship positions spec specifically for Mutual of Omaha. I built a few UIs to kind of show show the flow of backend processes using Vue.js JS and ReactJS on the front end and there there about I went about switching teams to work on the data engineering side of things. And and right now my role it basically deals with cloud engineering.

So so I do things to basically deploy web application on AWS using infrastructure code. So so yeah that’s kind of my background technically. And thanks for joining into this session again.

I believe that the audience is is is is is of different kinds. So basically ranging in the spectrum I guess some of yall must be looking for your first internship or might be looking for other internship opportunities or like after this program completes might be looking for full-time position. No matter you know what your background is, what your skill set is and what you are looking to get out of this session I hope it’s going to be beneficial.

So so yeah let me jump into my presentation slides. And and the topic of this presentation is beyond hello world. How I learned to code in 2025.

So basically the gist of all of it is that in 2025 programming and coding has changed a lot compared to like two or three years ago where you know we used to be able to build simple web application get it in our resume and apply for jobs and even get shot at interviews and getting hired full-time. I believe that the bar has risen. I feel like in 2025 with the advent of in future in 25 and in the latest year with the advent of all of the different large language models that we get to use on a day-to-day basis like CH GPG or cloud AI or what have you.

Coding has become really really easy. It’s like really at the tip of our fingers to be able to write a simple prompt in English and get code generated for you and then copy the copy and paste the code in a code editor, get it deployed and get a website posted and running just in few minutes. So so it’s it’s really become easy in in in that sense.

So through this presentation I kind of wanted to relay to you like how I kind of do coding these days, how I work on my personal projects, what kind of tools and technologies I use and things that you might also need to probably add in your resume compared to what you would have your resume as a few years back. And and I guess the the different aspects of software engineering you might want to include in your portfolio to reflect that you are not only able to build like a simple application but also get it deployed and hosted and you know just just reflect the whole software development life cycle of whatever product you are building. So, so that’s kind of the gist of this presentation and it’s going to cover a whole bunch of different topics and feel free to ask your questions in the chat if you want along the presentation and we’ll get back to it at the end of the and at the end of the demo.

So, so yeah let’s jump to our first slide of the deck. And it’s about me which I went through and and then the next slide this one is the current software engineering landscape. So over here this slide is just trying to explain u you know what the current software engineering software engineering landscape is like what the current hiring landscape is like for software developers.

And I I’d have to admit just by the showing of this little visual over here that right now the barrier entry to any software engineering position in in tech that has that has risen quite a lot. And going back to my original point of how it’s no more sufficient to have simple projects to be able to land your interviews or or your position itself. You know it’s it’s it’s better in your resume to kind of have more complicated project these days.

It’s it’s kind of tough for you know freshers or someone looking to get an entry- level position if you have not had any experience whatsoever in the bag beforehand. So, so, so that’s that’s kind of the trend having you know not all hooks are down because right now the hiring sessions are it’s it’s a full full full flow and as you can if you if you are like leaving your LinkedIn and looking around you can easily see that you know companies every every company ranging from big company to small company they are on a hiring speed. So hiring session for 2025 is kind of open right now despite the times been brutal for anyone entering into software engineering without any starting experience whatsoever.

Still companies are definitely hiring and tech market is is definitely not dead and you you must be hearing things about AI left and right and there might be you know nuanced or even deeper conversations about AI possibly replacing jobs of a software engineer or any office works but the fact is that it has not replaced anyone and anything yet. All jobs including that of a software engineer instead of getting replaced it’s it’s evolving and and learning to code and to software engineer it’s become more easier more easier than ever I I have to say that’s the that’s that’s that’s probably the positive way of thinking about it. So so on the next side I’m going to talk about like how I would approach coding if I were starting out.

If I had that mindset of landing a job at the end of any coding course I was taking or any coding road map I was falling through. If the end of it was kind of me trying to land a job, this is probably how I’d approach or go about it. So, so when I think about building an application or product, right, I try to keep customer sentiment in mind.

I like to think like how I would possibly approach solving a problem and coding or building a product is is is is a way to solve a problem. So that should be the first thing that anyone should keep in mind. If you look in an enterprise environment, you are building a product for a purpose.

It’s not like you are building something like a todo list or a basic node node application or whatnot. You would be building a product a UI a backend APIs or whatever to to solve an existing problem. That problem might be to render more data to your customers or to set up some sort of pipeline behind the scenes or you know have an API that your customers can interact with fetch data.

So those are the different kinds of problems you would be solving via coding and about using LLM to solve a problem to code to build a product. You I I would and that’s completely my personal opinion but I I would suggest that you would be using LLM as a starting point. You should be using LLM as a starting point for the for the project you are building u but not for building it end to end.

And the catch here is when you use LMS like chat GP to build a project from from from its starting point you can get a boiler plate and that is really helpful but trying to you know prompt in English and to get that code from charg to build out product end to end that does not really suit well for your end product is what I’d say. So it’s it’s like a tool that is to be used. All of these AI elements are tools that is to be used to fasten the software engineering process to you know increase your productivity per se.

Because the same product previously you would have built it in three months compared to now you can get a boiler plate spun up really quick and then you know prompt out the right query to get the right response and use it to have the same product built in maybe a month or less. So it’s it’s more supposed to be a tool to increase your productivity rather than you know build everything from end to end by just prompting and query to give you the whole output. But that’s that’s that’s the suggestion through this bullet point that I’m showing in the slide that using LMS as a starting point for your project would be the best thing to do rather than completely relying on it.

And another kind of take on it based on my interactions with some of my colleagues who have been also using chicd cloud AI for u you know coding purposes is is that people that I’ve worked with suggest that you should be using these elements definitely because those are the tools of the time but at the same time the coding output given by these lens you need to be able to understand it and also defend your work. So for example if I get a coding output from set chat GP and I tend to and I try to use it in in my in my project in my codebase to maybe add a feature to my application I should not be blindly copy pasting it I should try to understand why things are working the way it is what the actual output given by chat GP is actually you know trying to trying to do if possible refer to documentation as well and not just depend upon LLM and then incorporate the code into my project because that’s also going to come handy when you submit your PRs and u you know get your get your colleagues to review your code you’ll be better able to defend and explain what your code is actually doing. I I’ve you know while in my initial phases of like playing around with these different elements I have been more often than not in a situation where I’ve tried to blindly you know prompt and then get the code and then paste it and ultimately ended up not getting the response that I wanted to and kind of went to solution B which was like reprompt to say hey the code you gave did not work so I’m like reprompting you to fix this for me and it gives me another solution and I do not understand that solution as well and then I like reprompt it to say like please fix it or offer a better solution get gets me to point C that does not work as well and at this moment I’m like blindly copy pasting the code and not even trying to understand what it’s trying to suggest me or what’s what it’s suggesting me and then I get to like point A from point C back again and it kind kind of like you know looks around in a circle so that’s that’s been a repeated inance and the lesson that I learned from that is not to not try to just blindly copy paste any any code given by these LLM but to use your own critical thinking ability or your analyzation ability to actually understand what the code is doing and if possible try to reference actual documentations.

So for example a little bit of a real life situation based on a current experience I’ve had. So recently I tried to build out an AWS data pipeline and I got the boiler code boilerplate code from KPD. I kind of copy pasted it and implemented it to get the first deployment going.

About anything nuanced or detailed that I had to imple that I had to implement in that data pipeline. I tried to get further code out of chat JP including the unit test but that did not work as expected and ultimately I realized that my my prompting was not detailed enough and that’s why the LLM was not giving me proper output as I was expecting it to give and then I switch a little bit of documentation as well went through a few tutorials on why things were not working the way it was supposed to and then eventually figure out the pipeline issue and added more details to that pipeline. So, so, so the summary of all of that is just me trying to say that use ll use it as a starting play for your code, starting play for maybe building out your classes, trying to get a starting point for debugging your errors, but it’s not the end all be all solution and whatever response you get out of your prompt on these LLMs, you you should be analyzing it and also using documentation as the documentation about that that technology as the as the main you know source of your error resolution.

So, so yeah, and something else that I also wanted to touch on over here was context based generation. So, basically you could also copy paste a part of the documentation or the complete documentation on chat itself while you are prompting your question to ask it to fix some bug for you. So, that provides these items a little bit of more context on what you’re trying to do.

And it helps u it helps it give back to you the the response you are looking which in most scenarios is going to work than than not if you had not you know provided these documentations as a reference for these elements you use. So so those are some of the tips I’d say and that’s completely based on my experience. I I try to follow this approach on a day-to-day basis just playing around with these different LLMs to you know perform the task of building the products and a little bit of kind of beam slide over here six hours of debugging can save you from five minutes of reading documentations and it’s it’s a complete fluke it was not said by confusious but to kind of reiterate this or to refresh this and in a way that’s relevant for 24 and 25 try to read documentation but you know five minutes of feeding the documentation in LLM like charge GB is going to possibly save you from the looping hell of trying different solutions given by it if you had not fed the documentation to it and you end up you know hours and hours trying to fix the problem struggling between prompts and between different LLMs.

So refer to documentation, feed the documentation to your LLM and then work together with it using it as a tool for helping you and not the complete be all end all solution and relying on it completely. So that’s a suggestion and jumping to the next slide. This is a sort of a tool that I use I I’ve started using more recently these days.

It’s it’s called cursor AI. It’s a it’s a it’s a IDE that has got integrations with LLM built in it and I try to use this because it’s it’s made coding really easy back even back a year ago I have had to you know copy paste my code from my visual code or intellig editor to charge GP to get a response out of it and you know paste the code back to to to IDE to see if it runs or not but this ID is an AI first ID that’s got extensions to these cloud models built to it inherently. So you can kind of work in this ID to do real time coding get real-time responses from these LLMs and do diff checks real time accept or reject the solutions provided by it and whatnot.

And and and yeah if you’re using VS Code and I bet there are many extensions out there in VS Code as well which promises to do something similar. You could continue using that and play around with different extensions. But I’m just kind of you know sharing with you what tool I use on a day-to-day basis for my personal projects and that’s cursor cursor IDE which has really you know helped make things kind of easier for me.

But I’m going back to my previous slide to see if I’ve missed anything. I have not. But yeah, this slide I’m kind of talking through the skills set I guess would need to evolve for you as a developer.

How you need to evolve in your engineering role possibly going forward in future and just touches over the same point using different elements LMS like charg and focusing on two important skills first is prompt engineering second is code reviews there are bunch of YouTube videos out there tutorials articles that shows you tips and tricks on how you can better engineer your prompt so that you actually get the specific response you are seeking from out of these tools. So that’s prompt engineering for you. And second is code reviews.

Now I cannot stress how much code reviews are going to be important if it’s not already important right now. When your when a colleague submits a PR or you submit a PR, you you you need to review the code and being able to analyze and give you the code to actually determine that it’s doing what the story is meant meant me meant for it to do. That’s that’s that’s the important skill in future most of the coding is going to get get done by LLMs and the important skill over here is to be able to review the code to see if it’s like actually applicable or not.

As a developer on a data datab basis even before LMS we we have been doing it you know it’s it’s not like we core things out from scratch. We refer to different resources like Stack Overflow or GitHub pages or other other different sites and resources. Maybe an internal company tool that you might be using for figuring out answers to your question, figuring out core snippets.

But that that kind of is getting replaced to a large extent by these LLMs because they provide you the snippets that you can use. So all that’s left for you to do is to review the snippet and actually determine if that snippet makes any sense and is applicable in your use case or not. So, so, so from that perspective, I’m saying that prompt engineering and code reviews are already and are if if not already, then going to be the two most important skills for you as a developer in future.

And I guess just a tip over here as well for boosting your resume if you’re probably applying for a full stack a developer role would be to maybe include these skills explicitly in your resume because that’s going to provide a little bit of a distinction for you as an applicant being able to prompt engineer stuff and and code review do code reviews. So yeah, that’s that’s the second point. And the third point is try to build an in-depth u knowledge in your area of interest or expertise.

Like that that helps you out with prompting stuff as well. The more you know how to prompt and the more in detail you can ask the right questions to the better response it’s going to give you. So the more in-depth knowledge you have in your area of work just in general push stack web development the better responses you are going to get from these LLMs to be able to use those codes to help you build your products out and that’s one thing and the other side to it is also that since like building building product has become a little bit easier because you can literally copy paste these code from these different LLMs you might quickly fail fall into this scenario.

Ario where you might actually not be understanding or you know getting a holistic overview of the what of what your code is actually doing. It might just be a general line that you might be copy pasting. So if you have a more in-depth understanding of what the thing is doing and how it plays into your code base and how it can help you build out your future that’s going to be really really handy.

So those are going to be like the skill sets of future are already the skill sets of current you know just relying on these LLM selectively knowing when to prompt these also focusing on documentations being able to engineer the right prompts and that is helped by if you build in-depth knowledge on your area of work or expertise and then being able to code review the code given to you by by these LLMs and also you know focusing on code reviews of your colleagues as well because as everyone continues and starts using these LLMs the more more of the much of the coding output is going to be by these LLMs in your repository in your teams or company’s codebase. So therefore being able to review the code and you know smell the bugs and errors right where it’s occurring is is going to be an important skill. So these are the skill sets that you need to adopt and you know would be really really applicable for any software engineering role in in future and and currently as well and handy to have these in your resume to kind of show your resume in a positive light to to the recruiters as well.

So that’s that’s my two cents on it. And yeah so just thinking about it as the description of this presentation also mentioned in addition to giving you some resume boosting tips I also wanted to kind of provide you some example of projects that you could possibly build and would would help you if you are applying for that your first role as an intern or a full-time applicant. Now my my take on it is that your basic applications like Trudy application or a simple Tik Tok application or a social media application or social media clone won’t probably cut it anymore.

Especially things that are just built for the sake of building and does not even have any usage statistics that has not been tested in production environment with real customer users. I feel like those projects are good learning opportunities to start learning a language or framework but those projects are definitely not going to cut it and I I don’t think it’s going to really take you a lot farther if you have that as your end project or the ultimate project in your resume. So, so what I had in my resume while I applied for my first few roles were push applications but I tried to add a little bit of hint of machine learning or AI in the in in in in those applications itself.

These in the slide are some of the examples like if you are maybe just coding out a simple fullstep web application to have it in your resume provide it a little bit of twist and add some AI machine learning components behind it. So instead of just a website that shows you the stats on software developer jobs in 2025 or maybe in the next five years or in the next decade and how that is going to pan out to be or even the history of software developer openings and stuff like that instead just add a machine learning component to it. You know have some sort of predicting mechanism built behind and make it a software developer jobs predator website.

That’s a tip. Something else you could probably build would be something like a interest rate predictor web UI application. Those kind of things would probably help you out and it’ll help recruiters see you in a little bit of different light.

They’ll they’ll understand that you’re not only meeting the basic minimum requirements of the position but also going a step beyond and you’re updated with the current technologies. You know how to use the current tools and you are basically in that ecosystem and you’re well aware of the technology landscape and you’re trying to learn along the way. So that shows a couple of things.

And that’s that’s going to provide provide a couple of extra shots on your resume is what I think it’s going to do. So those are my suggestions over there regarding the tools and approaches and you know the things that you might want to add to your resume and things like that. But in addition to that a few other things that I did not have in my resume and would suggest for people applying to these positions to have in in your resume for you know current ages openings would be some of these DevOps DevOps tools.

These are like enterprise tools that a lot of companies around the states and the world use for software development. DevOps is its whole different branch of things but you attempting these in your resume and showing some level of work experience with these tools work experience in in personal or project based settings. Showing that you know these tools and have used these tools would also kind of boost your resume a little bit more.

Things like Genkins which is a simple CI/CD tool and you might be using some other tools for CI/CD purposes. That that’s that’s going to be a really good plus point reflecting that you have worked worked with git that’s like a basic developer thing to do. You need to be able to know Git and different repositories.

And a really good thing to have in your resume would also be some sort of cloud development experience. Like if you have had some experience working on AWS, Azure or Google cloud which kind of occupies most of the market share in current days and age that would be really really handy. Most of the corporations around the world they they use one of these three cloud provider cloud providing services to deploy host their applications and backend technology.

So it’d be nice to nice and handy to have these technologies in your resume and at least you know get some of your projects deployed on on these cloud infrastructure to to get get a firsthand experience as well. I personally have a lot of experience in AWS. That’s what my current role pertains to.

And and there’s a lot of things to learn. So it’s going to only help you along the way and some of the extra things like containeriz containerization with docker and kubernetes these will be beneficial to kind of reflect as well you know these cloud service providers like azure google cloud they already have docker kubernetes in some one form or the another in in them but trying to deploy your application without deploying your application on these cloud providers if you wanted to experiment out and play around with things like docker kubernetes that would be something I’d encourage as well that’s beneficial as well just understanding the concept of containerization and content orchestration those those would be good things to learn and reflect too and about automated test suits as well on an enterprise setting your test would be automated you would be doing all different sorts of testing anywhere ranging anywhere from unit test to load test to stress test to spike test and and whatnot having things like automated test suits built and possibly you know built into your pipeline as well. That would be beneficial too.

But the gist of this slide is just to say that in addition to only building your web application, you also probably need to gain some experience on deploying these applications end to end and understanding other aspects of software engineering not just product building but also hosting deploying product and and other stuff in that regards. So those are really beneficial things to have and now in in in in my audience there are people who have had bunch of internship experience or maybe also have had started out on their full-time roles but I guess everyone can concur with me on on on that these tools are really beneficial in in my personal opinion because I’ve had a really good experience working with these tools and probably modern software engineering would not be possible without some of these. So that’s my take on it and moving on to this slide.

Basically having some understanding of agile framework because most of the companies around the world use agile framework as well specifically scrum methodology some of them use conban as well knowing what these terms mean and kind of at least getting the basic conceptual idea of what these things are would be really beneficial just helps helps you out in your interviews as well in your in your first few days or months of working in an enterprise setting you’ll get a firsthand experience of already, you know, working with these tools. But if not, if you are building out your personal project in in college or whatnot and working working it out with your classmates, then just trying to maybe experiment with doing things in an agile fashion that would that would help as well. It’s it’s nothing complicated.

It’s just a fashion in which you kind of you know develop software or you know pounder products bit by bit. There are concepts like doing things in an iterative fashion touching back with the team on a day-to-day basis or every iteration which is a time span of few weeks and trying to incorporate things like test-driven development working with other people in our in your team and they might not be purely devs they might be like VAS or product manager or whatnot. So like having that sort of work like team feeling while trying to execute your project under agile methodology in a college setting while you’re working on a personal project that would be something beneficial too.

These are things that I’ve also learned in my software engineering classes in my college and we tried to like execute some of these things and that was a really good opportunity learning opportunity and it kind of reflected well on my resume because I I could speak to it with my interviewers when I was posed u questions relating to these things. So that that’s a really handy kind of concept to have in your mind and a good experience to speak to. So that was my other thing and just that leads me to something called the SDLC cycle or software development life cycle cycle.

And you must have learned about this in your software engineering classes or just when you’re dabbling around in the internet about the end to end of software engineering. This is what it is. So software engineering is not purely building out products or coding but instead it’s a complete end to end process starting out all the way from planning to execution and implementation and iterating back on on further future iterations to build more features to the product.

So it’s it’s a psychic passion or a psychic way of doing things. And that’s what that’s what in an enterprise setting as an engineer you would be doing. Start things things start out on the planning page.

You basically plan out and design stuff. Even before that you would be gathering some requirements and that’s that’s usually done by BAS in the team. But following requirement gathering and designing that’s when the next step is executed which is actually coding or implementation.

What I tend to do is figure out prototypes first you know build out the MVPs and get back to the MVP after that has been used by the customer and feedbacks have been received so that you know things are built out on an iterative fashion and we are also in touch of the in touch with the actual users of the product based on user feedbacks. Further features are added and changes are made to the application. So that’s iterative way of doing things and a common concept in in an enterprise engineering setting to say but yeah and and testing is another aspect of it as well.

An important part of the SDLC life cycle. Bunch of different kinds of testing. You know, I I tend to build my unit test out along with the classes and components I’m building.

Not just unit testing individual classes, but also maybe load testing and API if you’re building it to determine if the application is able to handle user traffic or not and figure out figuring out all of the different user statistics and you know sort of molding and modifying the application based on that. Maybe it may be like define your API load criteria, your capacities or whatn not. So all of that would be done in an iterative cyclic pattern.

That’s what all HDLC is about. So just a mismatch of words but doing doing software development in a more procedural fashion and and and to say that software development is not just building out products but instead it’s an end to end process where you’re planning, designing, implementing maintaining, executing and iterating on a cyclic fashion. So, so yeah, that’s that’s kind of what a SDLC cycle is.

And having some aspect of it reflected on your resume would also be a good thing to have. Not just saying that, hey, I built out this website that maybe predicts stocks, but also say that I built out this website that predicts stocks, but also it does not only do that, but also these are the user statistics. These were the user users I mean these were the number of users that used my application in this time frame.

It is either grown or reduced and what were the possible impacts of it? What were the possible feedbacks on your app? Trying to incorporate those feedbacks to improve your application and keeping a track of those statistics so that you can reflect on your resume would be a really really posit positive thing to have.

Those numbers those numbers are really really attractive if I have to say. Because I can I can kind of also recount one of my experiences where I was giving my first few interviews for my first internship role and I was like I built out this crazy cool application and I put it on my resume and the interviewer was like so you build out this application were there any customer feedbacks that you received on the application. I was like no I did not because I I I had not thought of that.

I was just thinking that the application was only meant to be built and you know deployed and I was getting all happy and giddy just using my own application. But that’s kind of question that’s kind of a question that you’ll probably also get asked on a technical or a nontechnical level like what were the user statistics and if we’re if you were able to you know improve on the product based on the feedback received from the customers. So, so yeah, that’s that’s the STLC life cycle.

All in all, having this concept detected on resume would speak volume to you being a developer, not just personally, but but on a professional level and would would would help you, you know, get a step ahead. So, so, so yeah, that’s the STLC life cycle stuff, but I guess those are the things that I really wanted to convey via this presentation. Things starting out from the current landscape of software engineering.

Things about using LLM and different tools on a day-to-day basis. Things you should focus on. Things like prompt engineering and your code reviews and not just code reviews from your your colleagues but also code reviews on the output given by these LLMs and general term terms concepts on software engineering and development that I just wanted to kind of you know convey in a shortcut fashion so that these are pointed out or reflected in your resume and these would be kind of really really handy to have.

But that that brings me to the end of my presentation. Thanks for thanks for listening. That was hopefully a short quick presentation.

A lot of information there, but feel free to ask me any questions in the chat. I’ll try my best to help answer those. Hey.

So I’m going to help moderate some of the questions that we have going on in the chat. And thank you, Deepson, so so much for sharing a wealth of information. A lot, you’re right, a lot that’s going on in the tech market now.

And so a lot of things that students are having to consider and think about and think about learning and trying out. And I think sharing from your perspective like these are some of the things I am doing and also some things that I would do if I were you all that was really really valuable. So I know that we have some follow-up questions.

And please upvote them in the Q&A if you all have a question you want me to ask first. So the first question is you mentioned choosing projects that actually solve problems. Should every project solve a business problem or is it not worth to build passion projects that relate to a specific niche anymore?

I mean my personal take on it is that it it does not have to necessarily be a business problem. It could be any problem outside in the real world that it could help solve. So building out project keeping in mind that it’s solving a business problem would be something good to have in your resume.

But I would also definitely not discourage from building any passion projects too. Passion projects are great learning opportunity. If it’s even a simple project that is kind of different and unique and would be something creative that no one else has thought of, that would also help you stand out as well.

If it’s that good of a quality is kind of showing you showing showing recruiters your your creative side, your uniqueness and something you’re really super passionate about, I feel like it’s still still worth it. It’s it’s good learning opportunity to start out with. But not only that, you could probably also have it in your resume if you think that it’s really a really good unique project that reflects your creativity and dedication to the art.

But but having said that I myself would possibly prioritize things that are trying to solve problems. Those those would be like real value providing projects because in the end coding is a utility to try to solve problems out there and I I just take it take it like that. Give or take my two cents.

Yeah. Thank you so much. The next question is, what is a project that an undergrad could do that would be relevant to companies who are in the same vertical as Mutual of Omaha?

That’s a good question. So, Mutual of Omaha is a traditionally a financial services company. Now based on what roles you are applying for, this question could be answered in in bunch of different ways.

In my position like if you’re applying for a cloud developer role or a software engineering role in Mutual of Omaha then maybe try to build out some sort of financial web application I guess something that plays around with numbers statistics and prices and amounts. That would be one way to think about it. Could give an example of what I have actually built out on on my daily job.

So I basically worked on this UI web application to allow people to view their 1099s electronically which was in in past getting mailed physically. So it’s a pretty simple concept you know people were getting their tax documents mailed u in a in a physical format but after the project the UI project that me and my team members built people started getting their tax documents in an electronic format and they do not have to deal with all of the paper hassle that provided this company a monetary benefit as well in that you know all of the printing cost is saved all the manual manual cost of transferring paper from one place to another that’s saved as So that’s an example of thing that I’ve like actually worked on. But just to answer answer the question in in short it would be some sort of you know financial application or web app or UI that deals with number helps helps solve some sort of financial problem would be would be would be my take on it for a for a fullstack role or a cloud devel or a UI engineer role.

Yeah. Thank you. I love that you take every question like you really think about it and you’re like this is exactly what I would do and I feel like you’re really curious about the the best way of of like attacking some of these problems.

So, thank you for sharing your perspective. Another question is you mentioned learning with LLMs but not letting them become a crutch. So, how do you do that?

How do you like utilize them a lot but kind of like keep them like avoid overrelying on them? Right. It’s a I guess it’s an art.

It’s a it’s a difficult question to answer in that there’s no like strict borderline. There’s no strict step to say that if you perform these steps that’s when it’s a touch or if you do not perform these steps these are not the touch. But how my my personal approach on doing that is I use LMS for printing out boilerplate code helping me get started on solving an issue.

For example, if you’re trying to attack a bugger problem, then you kind of copy paste the bugger problem to the LLM. See the output it gives but try to understand the actual output it gives. So comprehending the output that your LLM gives in response to the prompt you have provided it and not just blindly copy pasting it because before LLMs also devs have used stack overflow Google pages and other different sources it’s actually understanding the code before implementing that’s going to help because if you do not understand and you implement blindly then it’s going to only build onto your product and you end up with something that you do not know how to fix if a problem occurs in the future.

So digging into documentation is another step so that you are actually implementing the best way to do things. Comparing comparative comparative approaches of doing the same thing is also another point as well. Maybe you can requer your LLM to ask for an alternative alternative approach to going about solving your issue.

That’s going to help too. And just trying to not overly rely although it might be really tempting to copy paste your code from LLM and you know going about blindly without without even putting a thought to it you know just just using the code it gives making it a consious approach to like actually digging in into what the output given by LLM is trying to do you could even engineer your prompt saying provide me the references or the documentation that’s the basis of the response you have provided me so I won’t just accept the response you provided. Maybe pinpoint me to the documentation that you know helped you generate this response.

Maybe the LM is going to come up with a link to the documentation. If it’s chatp or there other sources like perplexity AI as well. That’s a really good handy tool that I use to figure out references to the suggestions that it provides me.

So being specific in your prompts and queries really understanding the response it gives back to you and asking it for alternative responses and analyzing the responses. Those are a few things that come into my mind when you know I was asked this question but really really good question to be honest. Yeah thank you.

And I think as you were sharing everything, it like our our CodePath students already have a lot of courses that they’re taking and not all of them leave time or like provide the opportunity to build a side project. And so in addition to like learning all of these things, a question that has popped up is as busy college students, how can they find the time to like go through all those technologies and frameworks? They barely have time to learn outside of class on top of coursework and extracurriculars, leadership, being very involved.

But I’m also assuming that you’re working and maybe working on things outside of work too, right? That’s that’s a really really great question. Yeah, college days can be busy.

I was involved in a few clubs myself trying to balance out my academics and my you know on campus work and it definitely takes a lot of time. So time management is a really important skill to have. Now, if you’re trying to catch up with every new technology that comes up, it’s it’s it’s going to be a different it’s going to be a difficult thing to do.

Like just taking an example of front-end frameworks that are popping up every day. You had like React, Angular, Vue.js, now things like spelt is popping up. Now, front-end frameworks that just you know provides you coding output based on the prompts you are giving is also popping up.

So, it’s really difficult to catch up with these technologies and stay consistent. Even enterprises do not catch up to these technologies. Like from an enterprise perspective, we tend to stick with technologies that are more long-term and it takes a lot of time to train people in companies with all of the up-to-date technologies.

So, so my like core suggestion on this would be to focus on the patterns first. This is where like practicing on your DSN algorith could help. This is where like getting a lot of knowledge and information on system design components could help.

But most of the modern UI frameworks just for the for the sake of this example, most of the modern UI frameworks have the same basic concept underneath the hood. If you perhaps know React, you can easily catch catch on with Vue.js. If you know Angular, you could probably learn the other two frameworks pretty easily.

So it’s trying to focus on the patterns and the general thing. Not getting too specific and not you know like having that form of so this technology has popped up this this day and I I might need to like catch up with this to stay relevant even like people interviewing you won’t have that idea won’t have the idea on that new technology of fog that that has popped up so so trying to stay relevant but not too relevant focusing on the patterns and the basic concepts that kind of support or power the technology from underneath underneath the hood. That would be that would be really handy thing to do.

And in in in the in the market as well trying to analyze what what frameworks are not just popping up on a day-to-day basis but what have been used in a long-lasting sustainable manner. So for example, if something has been used for the last two or three years, maybe you should focusing on that technology and build projects using that technology because you know that that’s going to perhaps sustain a little bit longer. That and focusing on your basic concepts you know going back to the solid principles I guess on object-oriented design principles doing things like that I know this a lot of random thoughts but those would those would really help yeah but it’s a it’s a I do admit that it’s a really difficult thing to do trying to balance your academics work and you know being involved in clubs and a lot of those things but but yeah good luck with all of that it’s really fun kind of I just want to like add a follow on question to that.

When you’re talking about all of it, you seem like really kind of energized and like excited and it also sounds like a lot of work. So, like personally, how do you manage your enthusiasm and like energy for like learning all these things? It seems like you kind of lean into this spirit of curiosity that like fuels you or something.

Insightful question. Yeah, energy when used correctly really helps. I I try to choose my instances of when like I’m maybe energetic and want to really learn something versus where where I want to probably sit back and listen a little bit more and deal deal with things in a different fashion.

A pretty wholesome question but like I mean even right now my basic 9 to5 is my day-to-day job but even post my 9 to5 work I I I try to take some time out for myself to learn things that I’m really curious about. I’ I’ve been taking this this this AI machine learning course on Corsera right now by Andrew Angie. That’s that’s a really insightful course.

It’s it’s it’s it’s got me really excited. So I’ve been taking that course series. So I try to take some time out for myself, save that energy for self learning as well in addition to the daily work thing that that I do.

So so just distributing energy I guess kind of not letting the fire of curiosity you know go dim just being continuously curious. If you do not enjoy this then it’s it’s not even going to be worth it on a day-to-day basis. I like learning new tools, technologies.

I like investing myself into it and like applying it, sharing with people the things that I know and sharing with my team members the things I know and kind of help people resolve their issues. That’s what really gets me passionate and energized. So those are instances where I kind of lean into my energy.

That’s what feeds my curiosity and supports my curiosity as well. But there are times when I like tend to listen, you know, just lay down and listen and try to relax a bit and I I basically pick and choose my instances to to answer your question. I hope I did just your question, but my thoughts.

Yeah, thank you so much. Do you have strategies that you use where you leverage AI to help you learn a new programming language? Maybe you can talk a little bit more about that.

Yeah, it’s a it’s a it’s a basic approach. I guess some of those things I also covered in my slide, but to learn a new programming language in current day and age, definitely utilize LLM to get you started with you know some of the basic questions you could ask the AI not necessarily AI is going to give you the right answer always. So always try to double check or cross verify the answer it’s giving but documentation is the primary source could start with basic application start by pointing out hey tra how can I go about building this web application that’s probably going to predict the elections coming November so that’s something I’m interested in in buildings and for example as a response to that chat is going to give you a boilerplate code or the possible steps and you could lean into the steps dig more into the steps and ask it to break down the steps piece by piece for you.

Copy paste the course snippets while understanding what those code snippets are doing. If you do not understand even a single sentence then try to dig into it a little bit more. Google search it you know search stack overflow try to look out for possible YouTube videos as well.

I myself being a visual learner I try to seek out for video references and I I tend to go go out to YouTube to learn a lot of new different things. So doing that but but yeah that’s how you use those technologies. I mean if you’re like actually trying to pick up a new thing that you absolutely do not have any idea about then then then referencing documentation and videos would be the first place to go.

Getting that underlying idea about what that technology is just a rundown of one to two hours on how the technology work and what all capabilities that it holds and how it you can use it to build the product you want. Getting that surfacial idea and then taking it as a base or a foundation to prompt your LLM because if you do not know what to prompt to the LLM, it’s going to give you a generic response and you’re not even going to understand the response that it gives back to you. So building that foundational knowledge based on some of the traditional ways of building a project out that may be by taking a course or by viewing your YouTube videos or online documentation or online course snippets or sample from different resources building that foundational knowledge and giving it maybe a few hours to understand the technology and then from that point onward you’ll have the foundational knowledge to be able to query the LLM and that’s how you can start using the LLM or in your learning process as well you can query the LM potentially but that should be the way to go building up that foundation by your own by yourself knowledge by yourself research and using the LLMs to query to to give you step-by-step instructions on how to build out a project you want so that way you are actually applying the knowledge you’re getting.

Yeah. So apply the knowledge as you’re learning it. I think we have time for two more questions maybe.

So this next question, yeah, we have about six minutes left. This next question is from a student who’s working on a project that transfers playlists from Spotify to YouTube, which side note, I would really like that because I’ve needed that and I mostly just do it manually if I need it. So, do you have any advice for them using LLMs to research and build their project?

That’s a that’s a really really exciting exciting concept. Really exciting idea and I personally also want to be able to you know transfer my playlist from Spotify to YouTube. Have not really thought about it but first thing is like what kind of application you would want to build and what would be the supporting technologies that you would want to use to build this application.

If it’s a simple web UI application that not just you but other people out there in the internet can also use then would be a web UI application doing it via your browser or could also go into Android or iOS development to do it to basically create a app that does it but this almost even feels like a extension to be honest just thinking about it right because it has integration in between YouTube and Spotify might be a YouTube extension or a Spotify extension you might want to build But if not, if it’s a simple web UI application, then using your front end frameworks to build out the UI piece in the back end, make API calls to Spotify and YouTube APIs. I’m pretty sure that they have APIs out there that’s going to give you back the list of songs or or whatnot and then transferring that data to Spotify. But those would be those would be the thoughts I’ I’d have to go about building business application, choosing on your technology stack.

Figuring out the APIs behind the scenes that Spotify and YouTube offers so that your backend application can make those calls and working on the UI of your web app to integrate your UI and the back end and you should be good to go. And along the way you you you would you would be using LMS to you know make make queries basically ask you questions like how what should be the approach that I should be taking give me step-by-step instructions those will be the questions you’ll be asking to your LMS maybe you could also ask LMS if there are any ongoing YouTube APIs or current YouTube APIs or Spotify APIs that are available that you can query for this project to make it happen. But yeah, refer to the API documentations as well.

Use LLM as the step-by-step tool that that would help you to implement your your application. But really, really thoughtful project, good idea. I know.

Please keep us posted. Share it on your LinkedIn, Denzel, and yeah, tag us. Last question is going to be companies have concerns over proprietary code being leaked to a third party.

Are are you allowed to use AI to scan your codebase during work or is that something like you’re not currently doing? I think that’s the question. Yeah, that’s a that’s a really really good question like thinking about in an enterprise setting, right?

Just speaking about mutual we do not scan our code base or we do not allow AI to scan our codebase as of yet. But we are working on integrations with GitHub. So our core code base is is in Bitbucket and we will be migrating it to GitHub to be able to use Microsoft copilot.

It’s going to help with at least scanning our part of our code bases and giving us the right outputs. But so far as of currently we are not allowing AI to scan our code bases. Definitely not but that’s that’s that’s in works for future integration.

We are migrating our projects to GitHub. We plan on using Microsoft GitHub copilot to be able to give us coding outputs and help us assist with coding by scanning our existing code bases and as our current company policies hold we use chat GP that’s our suggested LLM tool but we are we are supposedly not allowed to also post any propriety data related information to chat degree any generic question about how to go about doing things or provide me step-by-step guidance and doing certain things that’s allowable but actually copy pasting the code or data and statistics or any personally identifiable information is is prohibited and that’s understandable given that we are a health insurance company and we’ve got a lot of private sensitive information that we hold for our customers. So we we take it upon us to really secure our information and not post unnecessarily to LLM not yet as of now.

So really good question. Not yet, but yeah, we things things are evolving. So yeah, Deepson, thank you so so much for spending a full hour just dropping lots of wisdom, insight, and helping us get like get acquainted with our curiosity and find things that are going to fuel us to continue to learn forever.

All of us, right? And we are excited to like follow you on LinkedIn if you ever want to share your time management strategies and how you fit it all in because I know this is also outside like coming to talk to students today outside of your nineto-5. So thank you so so much.

Sure. Yeah. And I will say drop your appreciation in the chat.

You can go see Mutual of Omaha at their company booth. So we encourage you to visit them during a future networking break. To close us out, we will of course have a brief video from our host Bobby Thorless.

Thank you all. We will now be transitioning into the open network session. Let me give you some information here.

It says that you can access the networking lounge to build connections. Now remember network, it will be your network going forward. Remember that, Jim.

Or you can visit the company’s booth to learn more about the organizations joining us here at the summit. And don’t forget to drop your resume when you go visit them, too. Thank you so much.

We’ll see you in a little bit.