Are You Sure You Know Enough Programming Languages To Land A Job?
August 30, 2023
• 427 views
best programming language to learn 2023software engineeringtypescriptphpgolangrustgolang in 2023self taught programmerday in the life of a software engineertech leadleetcodewhat language to learn codewhich programming language to learn in 2023kotlinreact jssqljavajavascripttop programming languages 2023reactios developmentmobile developerweb vs mobilesoftware engineerios developerapp developmentmobile developmentprogramming
Every beginner programmer is curious about how many programming languages they should know. And of course, how should they pick those programming languages? Software developers want to be setup for success, so which programming languages are best and how can they get started?
Want to know how to pick the best programming language?
https://www.devleader.ca/2023/03/06/how-to-choose-the-best-beginner-programming-language/
Have you subscribed to my weekly newsletter yet? A 5-minute read every week...
View Transcript
so as a beginner programmer or someone that wants to set off on their Journey as a programmer I can totally understand that with the number of programming languages to consider it's absolutely overwhelming there's so many different types of things you can build so many languages and so many Tech stacks for you to consider it's absolutely a challenge to try and find the right one to get started and a lot of people end up asking like should I start with one should I start with many like how do I approach diving into this and making sure if I'm going to pick the right one that I get the right one and if I'm gonna pick a couple how do I make sure that they're the right ones to work together I'm hoping that by the end of this video you feel more confident about making your
choice for your first programming language and or Tech stack so you can start building things so what we're really going to be comparing and contrasting here is should you be focusing on one language in particular or should you be focusing on learning a bunch of them at the same time when I'm hearing this question or what language should I start with I always go back to the individual and I ask them well what types of things are you interested in building as a software developer so by starting with that and trying to figure out where someone wants to focus I really think that that's going to help narrow down where they should start and you'll notice I'm not starting by saying here's a list of the top most used programming languages or the latest programming language to hit the market or the oldest programming language
that exists I'm not focusing on that because I don't think that that's as relevant as finding something that's going to align with what you want to build as a software developer and another primary motivator for this is your ability to focus and be engaged so if we start by answering the question what types of things do you want to build that's going to help narrow down the selection of maybe where you should be starting okay so let's take a couple of examples to start comparing and contrasting here so we can talk about whether or not one language makes sense or a multiple at the same time so the first example I'm going to talk about is let's think about making a mobile application so if someone came to me and said hey Nick I really want to start making mobile applications what language should I
start with of course I'm going to say C sharp but the right answer that I should really be telling people is well for what platform do you want to make a mobile application if someone really only cared about making applications for Android devices I might tell them you should really focus on Java development you're going to be looking at a very different Tech stack for iOS applications and if you don't really care about ever creating applications for iOS or if you don't care about that now then instead of bogging you down in that type of development I would just tell you to focus on a language that's going to align to your goals initially now for those of you that are more experienced and know about different Frameworks and stuff and Tech Stacks that allow you to develop cross-platform you might be suggesting other things
and that's totally cool I'm just really trying to focus on the programming language itself to start with otherwise yes I would be pushing C sharp again and saying something like you should be using Maui for this but I digress so let's look at another example and if you came to me and you said hey Nick I really want to start making web applications well there are tons of different languages that you can use for developing web applications and if you think about the front end of a website so the part that the user is going to be seeing and interacting with you might be using a very different language for that versus the server side so the back end of the website and you might be using a very different language than the query language you'd be using for a database if you have one
in your web app so now the waters have been muddied a little bit right because if we go back to the first example I was saying hey look if you're developing for a specific platform like Android focus on Java in this case you set a website and now I'm not able to sit here and say just learn this one language because the front and the back end and the database might all be using something very different but I'm going to jump in a little bit here and kind of change the context a little bit so if you came to me and said you wanted to build a website and we started talking about all the things that went into building a website we might actually arrive at the fact that you putting together a whole website with all the features you're interested in that might
be a little bit too complicated to get started and if we start to decompose that into something smaller we might arrive at the same I idea where if you're building only parts of that web application to get started so say just the back end you're working on a web server or just the front end then you're going to be looking at different languages for either of these and that means if you're focusing on one or the other you might be able to just focus on working in one language to start with now what I don't want to suggest is that I'm telling people if you want to build a web application and you're brand new to it you can only build a front end or the back end of one at a time I'm not necessarily saying that I'm just saying that if you're very
new to it and you want to learn about the programming and focus on a particular language then it might be easier to just kind of Pare down the problem space you're in to one or the other now this is why it's not a black and white yes or no answer to this question because I do think that if you wanted to build a web application and the entire thing was scoped down small enough I do have a video on vertical slicing it might be a little bit too advanced to kind of apply to this sort of introductory to programming concept we're talking about now but if you were to think about something simple to work end-to-end on a website you might be able to get away with having a little bit of exposure to something like typescript and JavaScript in the front end and maybe
in the back and you're using something different you could be using node in the back end and then still working in JavaScript and you do have JavaScript in your front and back end of your application so there are different ways that you could approach this and again I just think that if you're able to focus on fewer languages at the same time it's going to allow you to kind of focus and build up some expertise when you're getting started if you are finding that the concepts are kind of making sense to you pretty quickly and it's really for you less about how you're applying your logic to the different programming languages that you're looking at and the challenge is actually more but we're calling the syntax or trying to think through the built-in libraries then honestly incorporating more than one programming language might be okay
and again the entire Point here is that by having fewer languages to focus on you're kind of reducing the number of variables that you have to think about the number of opportunities that might distract you and you you're really just allowing yourself to focus on learning and using that particular language but again if you're able to kind of grasp that stuff pretty quick and you're really just trying to navigate the different things to pick from within the language and the libraries again using more than one could totally work but you're going to want to feel that out for yourself and I don't want to sit here and prescribe that to you I'm just sharing with you some different perspectives so you can get a feel for it and if you're trying one and it's very easy and you're in a situation where you're building a
web app and want to play around with more stuff by all means don't take this as a rule that you can't do more than one and if you're in the opposite camp and you start with more than one because you're building a front end and a back end for a website with different languages and Frameworks if that's feeling overwhelming don't sweat it don't give up you might just have a better chance at succeeding and learning quicker if you can scope down your problem to building one part at a time and the last thing that I want to touch on here is just having realistic expectations for yourself if you've never touched a programming language in your life and you're very new to it and you're just getting started and you really want to be able to start building things it's okay if you're not able
to right away try not to create an artificial pressure for your software you know after one day you must be able to make a website I know there's lots of stuff online that kind of sets you up this way right where it might be a one week Boot Camp or after one week you're going to be an expert or you know do this course that you should be able to complete within a day and you'll be able to have at scale like Cloud deployed web applications and stuff like that don't see these things and kind of create this pressure for yourself that you must be able to do that and that's the norm and that's the expectation everyone is going to learn at their own pace so don't get discouraged if that's not quite aligning to how you're learning so we do want to have
realistic expectations for ourselves here I'll share with you a quick story from very early on in my programming journey and for me I really wanted to be able to make role-playing games with my abilities to program this is a huge hobby of mine I love playing role-playing games and I figured okay if I can program I can build my very own exactly how I want but what I didn't realize right away is just how involved creating games is and at that point in time the only two things I can make were a console application or a winforms application and that meant for me that I was pretty far separated from being able to have some cool 3D game that I could walk around and cast spells and attack enemies and stuff like that so it was going to be a lot of work to be
able to get to that point but what I discovered really on for myself is that I didn't have to go focus on the graphics and the user input and the sound and the music and you know the the cut scenes and all the things that go into a video game right there are so many pieces and I just started scoping it down and down and down into small things that I could actually work with and the very first thing that I made was a winforms application that had a button on it and you could attack skeletons and that was my role-playing game and the only way I knew how to extend it was to copy and paste code over and over again change some values and now all of a sudden I could attack different enemies I wasn't even ready at this point to communicate
with a database or read files in and parse the input from that but that's okay because I was trying to scope down problems into something that I could work with and over time I found different ways that I could go tackle those other problems so instead of having 10 000 lines of code just because I wanted to attack different monsters I could actually go load that information in from a database and when I was finally ready to be able to have something where I could walk around and not just click a button I actually figured out how to go create a very small game engine that was just a loop and I could use other Frameworks that existed but by this point in time I had already been programming for a while so if you're getting stuck on your very first thing that you're trying
to program and you're seeing all of these other people seemingly do it very fast please don't get discouraged reflect on the things we've been talking about in this video right so if you're trying to tackle too many things at once whether that's more than one programming language or Tech stack at the same time that might be an issue and maybe you want to scope it back because you're still trying to grasp some of the programming Concepts that might be pretty basic and foundational and until you have those in place trying to layer on these other things just isn't going to register well for you so what's the answer here should you be focusing on just one single language or should you be able to tackle multiple at the same time and like many things unfortunately it depends but in this video I hope that I
offered up a little bit of perspective for you to consider when that might be applicable or when it might not be different things that you'll want to look out for for yourself so if you're considering using more than one why you might want to be doing that or when it might be a good time to dial it back and only focus on a single language and Tech stack and the other super important takeaway that I don't want you to forget is that everyone learns at a different pace so please don't be discouraged if you find that you're struggling you can always try breaking the problem down into smaller more digestible pieces and that way you can make progress on those smaller pieces and as you add them together you really start seeing the progress come together so I hope you found this valuable thanks so
much for watching and we'll see you next time please
Frequently Asked Questions
What should I consider when choosing my first programming language?
I always recommend starting by asking yourself what types of things you want to build as a software developer. This will help narrow down your options and ensure that the language you choose aligns with your goals.
Is it better to learn one programming language or multiple at the same time?
It really depends on your situation. If you're new to programming, focusing on one language might help you build expertise without feeling overwhelmed. However, if you grasp concepts quickly, you might be able to handle more than one language.
How do I manage my expectations as a beginner programmer?
These FAQs were generated by AI from the video transcript.It's important to have realistic expectations for yourself. Everyone learns at their own pace, so don't feel pressured to achieve certain milestones quickly. Break down your goals into smaller, manageable pieces to make progress without getting discouraged.
