This field is in a perpetual state of unprofessional immature childishness. Expecting people to learn a random set of skills, build projects, practice LeetCode, write custom resumes, & build a professional network is the definition of trying to score on a moving goal. The fact that you have to make an hour+ long video on getting hired, says more than enough on how ridiculous this entire process is. Technology is supposed to make life easier, but it seems like it can only make it unnecessarily difficult with needless complexity.
So it's engineers job to complete complex task and finish with outcome of simple abstraction/interface/product. If you can't do it, you're a student that needs practice. Once you get experience the jobs follow you, you just need to have some presence, something as simple as LinkedIn. Up-skill on the job.
I definitely disagree with this comment. You are confusing two things. You are confusing the results of technology (making things easier) with what software developers do (create software). Software developers are never hired to do easy things. If they are easy, they don't need software developers. This has been true since software development was created. Now, we have built better and better tools to make our jobs easier, but that doesn't mean that we then get to do easy jobs. No, it means we don't have to do those parts of the job and instead can focus on the actual hard parts. For example, I started developing professionally in the late 90's. At that time, if I wanted to build a website, I would probably use PHP or classic ASP. Let's say I chose ASP. I would write the site with very little help from an editor. Testing was messy and hard. Often the best bet was to just update production code, deploy it manually to the server, and see what happened. That deployment process involved FTP from my machine to the production server. I had to know how to configure IIS. I had to know how to configure the Windows NT server. If I wanted to access a database, I had to know how to configure, maintain, and talk to the SQL Server. I installed servers, I poked holes in firewalls, I debugged network issues, I manually wrote configuration file changes, and more. I can do all of that now with automation from right inside Visual Studio. I can also deploy to a test environment, I can debug on my local machine, and I can commit and roll back code easily instead of making zip file backups. All of those things have greatly improved my development process. That means I'm spending less time configuring various systems and servers, which gives me more time to actually write code. I don't get to kick back and relax because of that. Instead, I have to focus on writing code and doing the other tasks associated with code. Sometimes those tasks are still outside of the realm of just writing code. That's where you can add a LOT of value as a developer. If you know how to set up CI/CD, how to optimize SQL, if you know how to work with Azure, or other similar tasks that your company needs, you can be more valuable. As a developer looking to get a job, you can just rely on your ability to write code to land you a job. However, you are competing with others who can do the same. The key is to figure out how to stand out from the crowd. I've shown you how to do that. If you don't want to do that and if you want to just whine that things are "immature", "unprofessional", and "childish", you can just hang out with the rest of the crowd and let someone else stand out in a positive way instead. We all have choices in life. We can blame everyone around us for things not being the way we like, or we can accept the reality that we live in and work to make the most out of it. I truly hope you decide to choose the second option. You will get a lot further in life if you do.
@@jayrigger7508 yeah the pipeline I saw is students/recent graduates get intern positions and then they get offers to stay/return as juniors. Juniors usually come with some real work experience. So where does it leave people with bootcamp level of training? Even though I see degree as bit waste of years, without it, it's like swimming against the tide
That's rough, but I'm curious about your conclusion as to the reason. I know this is area-dependent, but here in the US, most job listings that ask for a college degree say "or the equivalent work experience." Being a 20-year C# developer means you have more than enough work experience. Again, it might be the region, but I would consider what other options it might be. For example, were your skills in modern C# or just .NET Framework? Did you demonstrate what you could do in C# with a portfolio or GitHub profile? Did you have someone review your resume for clarity? I have had lots of skilled developers apply for job postings I've been a part of. I've rejected quite a few without an interview. It was never because of their college education from 20 years ago. I would highly recommend you go through your entire package and review it all. You might not be showing off what you can do in a way that employers can actually see.
Thanks to all the good advice and educational content from you and a couple of other guys on youtube I was able to get a full stack developer job without any university background in software engineering. Now it has been a while that I'm thinking about starting my own software business. I have already done some research and was able to find one small company who is wiling to pay for my sales management app. I know things aren't that simple. So if you could make a video I wanted to hear from you on that topic. Thanks again all of your great content
I'm going through that right now. It has been difficult for me to get new opportunities as a MAUI developer. And I think it is necessary to go back to the basics. To rebuild confidence, skill and development experience
MAUI is definitely a tough technology to get a job with. It, unfortunately, isn't a strong option in the .NET space. The good news is that you have the right idea. You've got skills in C#, in XAML, and even in mobile. That's a lot. Now just broaden your abilities a bit in order to have more job opportunities. For example, you already know XAML from MAUI so learn WPF. Now you can do desktop development. Or learn web development with Web API and Blazor since you already know C#. That will also add to your mobile skills by allowing you to pick up Blazor Hybrid easily, thus adding another option to your resume.
Instead of a skills section, I list skills for each of my work experiences, right before the bullet points. Would that be less likely to be reviewed? I thought it made sense so they could see what I used at each job.
I personally like to have both skills under a job and a separate skills section. Otherwise, you could have skills that you don't necessarily have work experience in that would get missed.
Hey Tim, what's the best way for backend devs to build a portfolio since we can't just share links like frontend devs? Also, should new devs learn C#, Python, or JavaScript?
You can still put basically the same info as a front-end person - a good title, a short description, a short list of technologies used, 2-3 pictures of any relevant items, and a link to the GitHub repo (which can have a more in-depth readme). I recommend C# because of how versatile it is. You learn one language and you can do backend, frontend, full stack, desktop, web, mobile, games, IoT, Windows, Mac, Linux, Xbox, etc. You are keeping your options wide-open while learning a really popular language.
Tim does that mean your C# Master-course alone cannot land me a job? I feel so overwhelmed and discouraged after seeing a lot of things that I have no clue about
That's not what I am saying. What I am saying is that software development is a constant journey. You don't just arrive. You continue to work and grow. You can absolutely get a job from just doing the work in the C# Mastercourse, especially if you do the practice work that I constantly encourage you to do. However, you shouldn't stop at the C# Mastercourse and think you are done. There will always be more to learn. I know it can be discouraging to pick your head up and see just how far you have to go. It is like being a mile into a marathon. You can't focus on how far you have to go, especially since the finish line will keep moving. Instead, focus on how far you have come. That is how you measure progress. You can do this.
This still applies to you. The job market isn't always going to be booming. Depending on the area, it might be clogged with developers, or the jobs might not be there at that moment. Either way, following this advice will help you stand out from the crowd. Regardless of how active the job market is, being seen as a better option will set you up for success.
These can be painful, but there are two options. One, you can avoid those companies. Interviewing that way is a concerning red flag about how they feel about developers. It might not be a great place to work. Or two, you can do some prep work to be ready for those types of interviews and you can push through.
Possible? Definitely. Is it going to be easy to find a job like that? Probably not. The .NET Framework is an older technology, which is both good and bad. It is bad in that life is passing you by. It is good in that there are still jobs out there that need .NET Framework developers, which means in some ways you will become more valuable over time, just to a smaller and smaller pool of employers.
Hey Tim, I'm a recent college graduate. I am curious if you plan on doing any New Year's sales on your website? I bought one of your courses and love your teaching methods. I missed the Black Friday deals because I was busy with my last couple of weeks of course work, but I would love to pick up a couple more to work through now that my schedule is more open. You are much appreciated!
I personally prefer Azure because it is powerful, works well with C#, and because it is safer to use. There are ways in Azure to protect yourself from accidental cost overruns. AWS seems to be a bit harder to safeguard.
your idea of a pizza app sounds great. how does somebody get the data. is there a website a person can go to in order to get the data. because unfortunately all the skills in the world mean nothing if you have no data to actually put into it. in a real job, you will have the data. but if you are doing for a portfolio, unless somebody literally had a pizza company, how would you get the stock levels, what items they have etc.). i wish you can do a course to cover how to get the data so you can build an app for a sample pizza company.
"In a real job, you will have the data" - that's not a great assumption. Often times you don't have the information. It is on you to gather that information. In this case, you can do research and figure it out. Look at websites for pizza places. Figure out what they list for toppings. Extrapolate from there. For a demo site, you are going to have to make educated guesses on some things but use that to your advantage. Make those guesses configuration options that can be adjusted. For instance, you should have mushrooms at a pizza place. So what are the assumptions around mushrooms? I can see a few. First, you would have to know what quantity of mushrooms you would get in an order from the supplier. Let's say it is 1 kilogram. That's assumption #1. Then, you would need to figure out what a standard amount of mushrooms goes on a pizza when they order a normal amount of mushrooms. Let's say 50 grams. That's assumption #2. Now you know what you need to know in order to handle inventory for mushrooms. Once you hit 20 orders (or 10 orders of extra mushrooms or any combination of the two), you will exhaust your supply of mushrooms. So, once you get down to 500 grams left, you probably want to reorder (that's a configurable set point for the reorder). See how that works? Now do something similar with all of the other toppings. The same could be done for the raw ingredients of the crust and the sauce. Or you could say that you buy those pre-made. The key isn't to be perfect. The key is to set something up that a pizza restaurant could actually use. If you allow it to be configured, but not be overwhelming with configuration, you can make something that almost any pizza place could use. Don't try to make it work for every pizza place. Just make it work for 80%.
Utilizing network of contacts is super demotivating topic for me as an introvert looking for a job. If someone tells me that I need to expand my network of contacts and talk to people just to get a job it sounds sadistic to me. I don't like people mostly, so in my case it would be precisely how it sounds - talking to people only to get this job. But in the same time it would make me tired to have frequent contact with people I don't care about. Of course, maybe I would meet someone who would be my soulmate or just really my type person, but it's not the case. The case is giving someone advice to talk to someone with clearly business intensions. That wouldn't work for me.
First of all, I am an introvert. I struggle to talk to people, especially those I don't know. Just because you are an introvert doesn't mean you can't reach outside of your comfort zone. To this day, I still practice various techniques to help me get through social interactions. It can be done. Second, I'm not saying you HAVE to do any of these things. People get hired without following any of these steps. What I am sharing are things that will improve your odds. Let me ask you this - if you struggle talking with people, how are you going to fare in the job interview? Probably not good. There are ways to prepare for that step. The best way is practice. Practice talking to people before your career is on the line. The best way to do that is to meet people and talk about what you do in an environment where the stakes are low. Third, if you do get a job as a developer, how do you intend to actually do the job? You will almost certainly have coworkers to work with, a boss to work with, and users of whatever you build that you will need to interact with. Those all take interpersonal skills. If you don't have them, you will really struggle to succeed. I know this isn't a pleasant idea, but I would HIGHLY encourage you to take baby steps towards talking to people. Build up this skill in your life. You don't have to love it, but you really should work on it.
Graphic Interchange Format... You are the best Tim, you passed the test.
😂
This field is in a perpetual state of unprofessional immature childishness. Expecting people to learn a random set of skills, build projects, practice LeetCode, write custom resumes, & build a professional network is the definition of trying to score on a moving goal. The fact that you have to make an hour+ long video on getting hired, says more than enough on how ridiculous this entire process is. Technology is supposed to make life easier, but it seems like it can only make it unnecessarily difficult with needless complexity.
So it's engineers job to complete complex task and finish with outcome of simple abstraction/interface/product. If you can't do it, you're a student that needs practice. Once you get experience the jobs follow you, you just need to have some presence, something as simple as LinkedIn. Up-skill on the job.
I definitely disagree with this comment. You are confusing two things. You are confusing the results of technology (making things easier) with what software developers do (create software). Software developers are never hired to do easy things. If they are easy, they don't need software developers. This has been true since software development was created. Now, we have built better and better tools to make our jobs easier, but that doesn't mean that we then get to do easy jobs. No, it means we don't have to do those parts of the job and instead can focus on the actual hard parts.
For example, I started developing professionally in the late 90's. At that time, if I wanted to build a website, I would probably use PHP or classic ASP. Let's say I chose ASP. I would write the site with very little help from an editor. Testing was messy and hard. Often the best bet was to just update production code, deploy it manually to the server, and see what happened. That deployment process involved FTP from my machine to the production server. I had to know how to configure IIS. I had to know how to configure the Windows NT server. If I wanted to access a database, I had to know how to configure, maintain, and talk to the SQL Server. I installed servers, I poked holes in firewalls, I debugged network issues, I manually wrote configuration file changes, and more. I can do all of that now with automation from right inside Visual Studio. I can also deploy to a test environment, I can debug on my local machine, and I can commit and roll back code easily instead of making zip file backups. All of those things have greatly improved my development process. That means I'm spending less time configuring various systems and servers, which gives me more time to actually write code. I don't get to kick back and relax because of that. Instead, I have to focus on writing code and doing the other tasks associated with code.
Sometimes those tasks are still outside of the realm of just writing code. That's where you can add a LOT of value as a developer. If you know how to set up CI/CD, how to optimize SQL, if you know how to work with Azure, or other similar tasks that your company needs, you can be more valuable.
As a developer looking to get a job, you can just rely on your ability to write code to land you a job. However, you are competing with others who can do the same. The key is to figure out how to stand out from the crowd. I've shown you how to do that. If you don't want to do that and if you want to just whine that things are "immature", "unprofessional", and "childish", you can just hang out with the rest of the crowd and let someone else stand out in a positive way instead. We all have choices in life. We can blame everyone around us for things not being the way we like, or we can accept the reality that we live in and work to make the most out of it. I truly hope you decide to choose the second option. You will get a lot further in life if you do.
20 year C# dev , 1500 applications 5 serious interviews. Finally after a year got placed as 3rd party contractor at $50k less than prior job
Main issue for me was associates degree so was being filtered out
@@jayrigger7508 yeah the pipeline I saw is students/recent graduates get intern positions and then they get offers to stay/return as juniors. Juniors usually come with some real work experience. So where does it leave people with bootcamp level of training? Even though I see degree as bit waste of years, without it, it's like swimming against the tide
That's rough, but I'm curious about your conclusion as to the reason. I know this is area-dependent, but here in the US, most job listings that ask for a college degree say "or the equivalent work experience." Being a 20-year C# developer means you have more than enough work experience. Again, it might be the region, but I would consider what other options it might be. For example, were your skills in modern C# or just .NET Framework? Did you demonstrate what you could do in C# with a portfolio or GitHub profile? Did you have someone review your resume for clarity?
I have had lots of skilled developers apply for job postings I've been a part of. I've rejected quite a few without an interview. It was never because of their college education from 20 years ago. I would highly recommend you go through your entire package and review it all. You might not be showing off what you can do in a way that employers can actually see.
Great guide dear Tim thank you and keep it up dear.
You are welcome.
This is very detailed. Thank you!
You are welcome.
Thanks to all the good advice and educational content from you and a couple of other guys on youtube I was able to get a full stack developer job without any university background in software engineering. Now it has been a while that I'm thinking about starting my own software business. I have already done some research and was able to find one small company who is wiling to pay for my sales management app. I know things aren't that simple. So if you could make a video I wanted to hear from you on that topic. Thanks again all of your great content
Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/
I'm going through that right now. It has been difficult for me to get new opportunities as a MAUI developer. And I think it is necessary to go back to the basics. To rebuild confidence, skill and development experience
you picked technology that nobody is sure about its future. blazor does live though
MAUI is definitely a tough technology to get a job with. It, unfortunately, isn't a strong option in the .NET space. The good news is that you have the right idea. You've got skills in C#, in XAML, and even in mobile. That's a lot. Now just broaden your abilities a bit in order to have more job opportunities. For example, you already know XAML from MAUI so learn WPF. Now you can do desktop development. Or learn web development with Web API and Blazor since you already know C#. That will also add to your mobile skills by allowing you to pick up Blazor Hybrid easily, thus adding another option to your resume.
Instead of a skills section, I list skills for each of my work experiences, right before the bullet points. Would that be less likely to be reviewed? I thought it made sense so they could see what I used at each job.
I personally like to have both skills under a job and a separate skills section. Otherwise, you could have skills that you don't necessarily have work experience in that would get missed.
Hey Tim, what's the best way for backend devs to build a portfolio since we can't just share links like frontend devs? Also, should new devs learn C#, Python, or JavaScript?
You can still put basically the same info as a front-end person - a good title, a short description, a short list of technologies used, 2-3 pictures of any relevant items, and a link to the GitHub repo (which can have a more in-depth readme).
I recommend C# because of how versatile it is. You learn one language and you can do backend, frontend, full stack, desktop, web, mobile, games, IoT, Windows, Mac, Linux, Xbox, etc. You are keeping your options wide-open while learning a really popular language.
Tim does that mean your C# Master-course alone cannot land me a job? I feel so overwhelmed and discouraged after seeing a lot of things that I have no clue about
That's not what I am saying. What I am saying is that software development is a constant journey. You don't just arrive. You continue to work and grow. You can absolutely get a job from just doing the work in the C# Mastercourse, especially if you do the practice work that I constantly encourage you to do. However, you shouldn't stop at the C# Mastercourse and think you are done. There will always be more to learn.
I know it can be discouraging to pick your head up and see just how far you have to go. It is like being a mile into a marathon. You can't focus on how far you have to go, especially since the finish line will keep moving. Instead, focus on how far you have come. That is how you measure progress.
You can do this.
Hi Tim, I am a PHP developer looking to transition to C#, could you please share some recommendations on how I can become a senior C# developer?
This video is very relevant for you: ua-cam.com/video/YErrKU1dq0g/v-deo.html
@IAmTimCorey Thank you, I will take a look.
What about developers like me in Nigeria?
The same things apply to you. Do you have a specific question about being a dev in Nigeria?
@steveidowu906 the jobs just seems to be drying up for dotnet as a whole. I already have about 5 years of experience.
@@rikudouensofThis is probably a general thing, getting a position in IT is hard now, but with 5 years experience, you should be okay. Keep grinding!
This still applies to you. The job market isn't always going to be booming. Depending on the area, it might be clogged with developers, or the jobs might not be there at that moment. Either way, following this advice will help you stand out from the crowd. Regardless of how active the job market is, being seen as a better option will set you up for success.
all fun until in one of their stages they drop iteration of leetcode task
Hehehe
These can be painful, but there are two options. One, you can avoid those companies. Interviewing that way is a concerning red flag about how they feel about developers. It might not be a great place to work. Or two, you can do some prep work to be ready for those types of interviews and you can push through.
I have worked more than three year as C# dev using .Net framework. Now I am looking for remote opportunities.Is it possible to get it?
Possible? Definitely. Is it going to be easy to find a job like that? Probably not. The .NET Framework is an older technology, which is both good and bad. It is bad in that life is passing you by. It is good in that there are still jobs out there that need .NET Framework developers, which means in some ways you will become more valuable over time, just to a smaller and smaller pool of employers.
Hey Tim, I'm a recent college graduate. I am curious if you plan on doing any New Year's sales on your website? I bought one of your courses and love your teaching methods. I missed the Black Friday deals because I was busy with my last couple of weeks of course work, but I would love to pick up a couple more to work through now that my schedule is more open. You are much appreciated!
We don't have any new year sales planned. The DevPass was just lowered to $55/month, though. That's a permanent rate, too, not just introductory.
I haven’t seen to many developers who do AWS and Azure, it’s usually one or the other. I suspect it’s better to go with Azure deeper.
I personally prefer Azure because it is powerful, works well with C#, and because it is safer to use. There are ways in Azure to protect yourself from accidental cost overruns. AWS seems to be a bit harder to safeguard.
your idea of a pizza app sounds great. how does somebody get the data. is there a website a person can go to in order to get the data. because unfortunately all the skills in the world mean nothing if you have no data to actually put into it. in a real job, you will have the data. but if you are doing for a portfolio, unless somebody literally had a pizza company, how would you get the stock levels, what items they have etc.). i wish you can do a course to cover how to get the data so you can build an app for a sample pizza company.
"In a real job, you will have the data" - that's not a great assumption. Often times you don't have the information. It is on you to gather that information. In this case, you can do research and figure it out. Look at websites for pizza places. Figure out what they list for toppings. Extrapolate from there. For a demo site, you are going to have to make educated guesses on some things but use that to your advantage. Make those guesses configuration options that can be adjusted. For instance, you should have mushrooms at a pizza place. So what are the assumptions around mushrooms? I can see a few. First, you would have to know what quantity of mushrooms you would get in an order from the supplier. Let's say it is 1 kilogram. That's assumption #1. Then, you would need to figure out what a standard amount of mushrooms goes on a pizza when they order a normal amount of mushrooms. Let's say 50 grams. That's assumption #2. Now you know what you need to know in order to handle inventory for mushrooms. Once you hit 20 orders (or 10 orders of extra mushrooms or any combination of the two), you will exhaust your supply of mushrooms. So, once you get down to 500 grams left, you probably want to reorder (that's a configurable set point for the reorder). See how that works? Now do something similar with all of the other toppings. The same could be done for the raw ingredients of the crust and the sauce. Or you could say that you buy those pre-made.
The key isn't to be perfect. The key is to set something up that a pizza restaurant could actually use. If you allow it to be configured, but not be overwhelming with configuration, you can make something that almost any pizza place could use. Don't try to make it work for every pizza place. Just make it work for 80%.
Utilizing network of contacts is super demotivating topic for me as an introvert looking for a job. If someone tells me that I need to expand my network of contacts and talk to people just to get a job it sounds sadistic to me. I don't like people mostly, so in my case it would be precisely how it sounds - talking to people only to get this job. But in the same time it would make me tired to have frequent contact with people I don't care about. Of course, maybe I would meet someone who would be my soulmate or just really my type person, but it's not the case. The case is giving someone advice to talk to someone with clearly business intensions. That wouldn't work for me.
First of all, I am an introvert. I struggle to talk to people, especially those I don't know. Just because you are an introvert doesn't mean you can't reach outside of your comfort zone. To this day, I still practice various techniques to help me get through social interactions. It can be done.
Second, I'm not saying you HAVE to do any of these things. People get hired without following any of these steps. What I am sharing are things that will improve your odds. Let me ask you this - if you struggle talking with people, how are you going to fare in the job interview? Probably not good. There are ways to prepare for that step. The best way is practice. Practice talking to people before your career is on the line. The best way to do that is to meet people and talk about what you do in an environment where the stakes are low.
Third, if you do get a job as a developer, how do you intend to actually do the job? You will almost certainly have coworkers to work with, a boss to work with, and users of whatever you build that you will need to interact with. Those all take interpersonal skills. If you don't have them, you will really struggle to succeed.
I know this isn't a pleasant idea, but I would HIGHLY encourage you to take baby steps towards talking to people. Build up this skill in your life. You don't have to love it, but you really should work on it.