Tools EVERY Software Engineer Should Know
Skills:
Tool Use & Function Calling90%
Key Takeaways
The video covers essential tools for software engineers, including IDEs, version control, Linux, environment management, testing frameworks, CI/CD, and bonus tools like NordPass.
Full Transcript
in this video I'm going to run through a quick list of tools that every software engineer should know so let's get started with your code editor or IDE now obviously this is where you're going to write code you need to know this well and you may actually use multiple of these editors I know that I do that from time to time now I'm talking about things like VSS code maybe Visual Studio something like an intell J IDE maybe py charm Goan maybe even an AI code editor like cursor or something like wind surf the point is you need to know this tool well and you need to config figure it for software development so first of all you want to install various different extensions if you're working in Python for example I have a video I'll leave right here that walks you through all of the ways to set up vs code for python development including various extensions beyond that configuring things like linters this is something that can run through your code and can analyze any issues with type mismatching things like stylistic issues and make sure that the code is clean before you push it up to something like GitHub beyond that we of course have debuggers being able to use this powerful tool to step through your code and solve more complex issues definitely something worth learning and I'll leave a video here that walks you through how to use the debugger in vs code beyond that we have form matters so incredibly helpful and important especially if you're working in a messy language like JavaScript or HTML this will automatically format the code fix the indentation make sure lines aren't too long and can be an absolute Lifesaver especially if you haven't set it up or used it before the format are different based on the project you're working in or the type of language framework you're using but definitely install one of these and then lastly because we are in the world of AI I'm going to throw coding assistant on here as well can be really helpful to configure something like GitHub co-pilot really whatever you want to use but there are tons of assistants coming out every single day and it's probably worth setting one of these up in your IDE now another tool that you'll want to check out is Nord pass the sponsor of today's video Nord pass provides the ultimate password and credential management solution in today's digital age we all have so many passwords Keys credentials credit cards and I'm sure you've experienced the issues of trying to find these and keep track of them all now to combat this Nord pass not only stores all of this data securely but it lets you sync it across devices meaning you can use all of your passwords on the go wherever you are now you can also share these passwords with your friends and your family securely with Nord passes encrypted sharing not to mention that if there are security vulnerabilities Nord passes data breach scanner can catch them and inform you immediately Med Nord pass also has features like email masking this means you don't need to give out your private email when you're just trying to access a site or fill in a survey or do something one time now the average number of passwords that a single person has is nearly 168 which is a 70% increase over the last 3 years and that just makes it impossible to keep track of them all for that reason and many others you need to get your passwords and Digital Life secure by using nordpass today go to nordp pass.com twt Nord pass and use the code twt Nord pass for the best Nord pass deal with a 30-day money back guarantee now the next tool that is so important to learn is Version Control now what I mean by this is really git and GitHub they are different so let me break down exactly what this does now when you're working with multiple developers it can be very difficult to manage code imagine that you didn't have something like Version Control if you know what that is and you're working as a team of 10 different developers and constantly sending zip files to each other and trying to share different versions of code it's just an absolute mess so what a Version Control System allows you to do is keep track of the history of a repository or of a codebase now you can use this independently without anyone else to kind of keep track of different commits or saves that you've made to the code base so that if something goes wrong you can always revert back to the previous version now if you're working with multiple developers this becomes even more important because you can all collaboratively work on the same code at the same time and keep track of who's changing what now I have an entire in-depth tutorial on git if you want to learn that so I'll link that up here but this meshes with GitHub or another kind of remote repository system now GitHub is obviously the most popular but this is simply a place where repository can be stored so git or a version control system can work completely independently on your own computer doesn't need to be connected to the cloud just to keep track of the changes that you've made however if you want other developers to have access to these changes then you'll typically Host this in a remote repository which means that other people can see the code they can pull down changes they can push up changes and you can work collaboratively those are the main differences git is what's actually keeping track of kind of the version control system and all of the saves and commits Etc and GitHub is really just a website that hosts a remote git repository and gives you some nice tools to view the code add changes Etc so moving on I have a Linux and terminal commands now this is so important because as a developer you're going to need to use the command line or at least be familiar with what the various commands are so start off by learning the basics in terms of how to navigate through different directories create new files delete files copy move Etc all of kind of the core operations that you're going to do quite a bit and even if you can do them using the mouse it's going to be significantly easier to just do it in the command line beyond that I recommend learning a little bit about the Linux operating system so what is something like users and groups how does the permission system work what does pseudo mean how do you quit a process or SSA into a machine the entire internet and really all of software development is rooted in Linux everything at some point is usually deployed to some kind of Linux environment so it's a really good idea to at least be comfortable with this operating system and know some of the basic terminal commands oh and by the way another reason you need to know these commands is because a lot of times you're going to be working in a server environment where you don't actually have access to a graphical user interface it's just going to be a terminal something you're usually remote accessing into so you really do need to be comfortable writing commands now moving on I have something that's not necessarily a tool but I still wanted to throw on this list and that is environment management now it becomes so important when you start working on a project that you're actually going to put into production that you have various different environments and that you're managing things like your credentials your secrets your environment variables passwords and all of those important details that you really need to think about in advance before you start building a massive project now I'm saying this to you because I actually ran a tech startup about a year ago and I remember when we started getting to the point where I wanted to deploy this and actually have it publicly available I realized hey I need a different version for the development I need a different version for staging or for testing and I need a separate version for production now this is pretty common you usually have a development environment a staging environment and a production environment and all of those environments have separate databases they have separate authentication systems they have a lot of different credentials keys or services that are used with them you need to manage those environments and manage all of those different values typically that are secret that you don't want to expose to the user now there are various tools that can help you with this environment management but it really does depend on the language and framework that you're working with so I'm not going to mention any here the point really is to make you aware that you're typically going to be working with multiple environments and you need to manage all of the keys and different values for those environments properly moving on we have testing and testing Frameworks now look testing is a pain in the ass especially for smaller projects but as your project get larger and larger it is so important to have good test coverage and to test all of the critical components of your application this means you need to learn about some type of testing framework or at least some type of testing system and be familiar with some of the different types of tests that you can be using something like an integration test a unit test a system test an end to-end test you're not always going to use all of these but you should know what they are and be comfortable writing at least some basic tests it's good practice to actually write tests before you write your code and you can do this in various different Frameworks so for example if you're working in p Pyon you can use something like pest if you're working in something like JavaScript or typescript you can use mocha or chai or junit really depends on what language and framework you're working in but you need to be familiar with a testing framework and know how to write some basic tests now moving on we have CI and CD or continuous integration and continuous deployment now typically this is the role of a devops engineer but a lot of companies kind of throw this on backend developers or maybe even frontend developers or full stack developers sometimes so it is a good idea to be at least aware of some of these tools now C CD really just means that you are continually building testing and deploying your application as changes are made so you're setting up automated scripts for running tests every single time you make a poll request or change the repository You're Building whatever the production build might be making sure it works and then maybe deploying that to some type of cloud environment this is a pretty vague term and it can Encompass a lot of different things but it just means that you're automating all of the tasks that are typically involved in getting something out to prod production so it can be done quite quickly and robustly because you're running it from some automatic script and not relying on a human to do it now some tools specifically that you can look into here are things like GitHub actions this is probably the most basic way to do this where you can write automations that will run on things like pull requests new branches being made there's pretty much all kinds of different triggers you can set up and I actually have a full tutorial on this which I'll link right here beyond that some more advanced tools include things like Jenkins Travis CI Circle CI and then if we go a little bit more basic we even have things like versel if you're deploying a front end versell can actually set up a continuous deployment integration for you where will automatically deploy the site anytime you make a poll request or a change to the main or Master Branch or however you want to set it up beyond that you can use things like gitlab there's all kinds of different Tools in this section but the point is you should be aware of what this is and have a little bit of familiarity with some of these tools so if you made it to the end of the video I'm going to go through a quick Speed Run of some other tools that you may consider keep in mind there are so many Tools in software development obviously you don't need to know all of them but here are some more that you might want to look into especially if you knew a lot of the ones on this list excuse me cuz I'm going to read from my screen so I don't get it wrong but let's start with code analysis so code analysis is things like finding dependencies or vulnerabilities you can use tools like sneak or sonar Cube for that beyond that we have various database tools so things like PG admin mongod DB Compass obviously depends on the database you're using but understanding how to view and interact with that database outside of just a programming language next we have things like package management so if we're talking about python that's something like pip if we're talking about JavaScript something like npm and then if we're talking about Android maybe Maven or Gradle next we have things like testing apis a great tool that I use all the time is Postman you could even include curl here which is the command line variant of that a lot more basic but you want to understand how to send test requests to your apis next we have Cloud platforms obviously you just pick one of these you don't need to learn them all but we have Google cloud we have Azure we have Amazon web services things like aami or more thirdparty cloud services beyond that we can get into some more devop specific tools things like Docker kubernetes terraform and understanding containerization lastly I have monitoring and logging which really can't be ignored and we have tools here like Prometheus grafana elastic stack and I'm sure a ton of others there you go guys that is my list of tools that every software engineer needs to know let me know what I forgot in the comments down below and happy coding [Music]
Original Description
Visit https://nordpass.com/twtnordpass and use code twtnordpass to claim the best NordPass deal with a 30-day money back guarantee!
In this video, I'm going to run through a quick list of tools that every software engineer should know.
Want to make real money with coding? I share high-signal insights on careers, monetization, and leverage in my free newsletter. Join here and get my guide How to Make Money With Coding instantly: https://techwithtim.net/newsletter
⏳ Timestamps ⏳
00:00 | IDE/Text Editor
03:07 | Version Control
04:52 | Linux/Terminal Commands
06:00 | Environment Management
07:19 | Testing Frameworks
08:13 | CI/CD
09:52 | Bonus Tools
Hashtags
#softwareengineertools #softwareengineer #frameworks
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from Tech With Tim · Tech With Tim · 0 of 60
← Previous
Next →
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
A* Path Finding Algorithm(Visualization)
Tech With Tim
Python Programming Tutorial #1 - Variables and Data Types
Tech With Tim
Python Programming Tutorial #2 - Basic Operators and Input
Tech With Tim
Python Programming Tutorial #3 - Conditions
Tech With Tim
Python Programming Tutorial #4 - IF/ELIF/ELSE
Tech With Tim
Python Programming Tutorial #5 - Chained Conditionals and Nested Statements
Tech With Tim
Python Programming Tutorial #6 - For Loops
Tech With Tim
Python Programming Tutorial #7 - While Loops
Tech With Tim
Python Programming Tutorial #8 - Lists and Tuples
Tech With Tim
Python Programming Tutorial #9 - Iteration by Item (For Loops Continued...)
Tech With Tim
Python Programming Tutorial #10 - String Methods
Tech With Tim
How to Overclock a NVIDIA GPU
Tech With Tim
Python Programming Tutorial #11 - Slice Operator
Tech With Tim
Python Programming Tutorial #12 - Functions
Tech With Tim
Python Programming Tutorial #13 - How to Read a Text File
Tech With Tim
Python Programming Tutorial #14 - Writing to a Text File
Tech With Tim
Python Programming Tutorial #15 - Using .count() and .find()
Tech With Tim
Python Programming Tutorial #16 - Introduction to Modular Programming
Tech With Tim
Python Programming Tutorial #17 - Optional Parameters
Tech With Tim
Python Programming Tutorial #18 - Try and Except (Python Error Handling)
Tech With Tim
Python Programming Tutorial #19 - Global vs Local Variables
Tech With Tim
Python Programming Tutorial #20 - Classes and Objects
Tech With Tim
Cool VBS Script to Prank Your Friends!
Tech With Tim
How to Overclock an AMD GPU
Tech With Tim
Best GPU'S For Mining Ethereum (2018)
Tech With Tim
Recursion and Memoization Tutorial Python
Tech With Tim
Ethereum Mining Rig - Hardware Guide
Tech With Tim
Pygame Tutorial #1 - Basic Movement and Key Presses
Tech With Tim
How to Install Pygame (Windows 8/10)
Tech With Tim
How to Trade Your Cryptocurrency (Bitcoin, Ethereum etc.) For Cash!
Tech With Tim
How to Mine Ethereum 2018 - WORKING (Super-Easy)
Tech With Tim
Microphone Comparison - $10 Mic vs $150 Mic (Blue Yeti USB)
Tech With Tim
Pygame Tutorial #2 - Jumping and Boundaries
Tech With Tim
Pygame Tutorial #3 - Character Animation & Sprites
Tech With Tim
Pygame Tutorial #4 - Optimization & OOP
Tech With Tim
OBS Studio Tutorial - Best OBS Settings
Tech With Tim
Linear Search Algorithm - Python Example and Code
Tech With Tim
Make Any Mic Sound AMAZING! (WITH OBS)
Tech With Tim
Binary Search Algorithm - Python Example & Code
Tech With Tim
Pygame Tutorial #5 - Projectiles
Tech With Tim
Pygame Game - Mini Golf
Tech With Tim
Pygame Tutorial - Projectile Motion (Part 1)
Tech With Tim
Pygame Tutorial - Projectile Motion (Part 2)
Tech With Tim
Pygame Tutorial #6 - Enemies
Tech With Tim
Pygame Tutorial #7 - Collision and Hit Boxes
Tech With Tim
Pygame Tutorial #8 - Scoring and Health Bars
Tech With Tim
Cloud Mining vs. Hardware Mining - 2018
Tech With Tim
How to Install Pygame on Mac OSX (Fast-Simple)
Tech With Tim
Pygame Tutorial #9 - Sound Effects, Music & More Collision
Tech With Tim
Pygame Tutorial #10 - Finishing Touches & Next Steps
Tech With Tim
How to Fade Your Screen in Pygame [CODE IN DESCRIPTION]
Tech With Tim
How to Create a Button in Pygame [CODE IN DESCRIPTION]
Tech With Tim
Pygame Side-Scroller Tutorial #1 - Scrolling Background/Character Movement
Tech With Tim
Pygame Side-Scroller Tutorial #2 - Random Object Generation
Tech With Tim
Pygame Side-Scroller Tutorial #3 - Collision
Tech With Tim
Pygame Side-Scroller Tutorial #4 - Scoring and End Screen
Tech With Tim
How to Create A Message Box in Python - Tkinter
Tech With Tim
Is Ethereum Mining Still Profitable - Is It Worth It (April 2018)
Tech With Tim
How to Run MAC OSX on a WINDOWS PC (Clover Boot-loader)
Tech With Tim
Programming Problem #1 - Alphabet Soup (Beginner/Novice)
Tech With Tim
More on: Tool Use & Function Calling
View skill →Related Reads
📰
📰
📰
📰
DevDB: A Zero-Setup Database for Faster Local Development
Dev.to · yoosef alipour
One Triage Pass, Every Trace Format: Stop Letting Fragmentation Shrink Your Eval Coverage
Dev.to · Saurav Bhattacharya
Monitoring Costs Are Out of Control — Here's How to Fix It
Dev.to · Samson Tanimawo
Web3 Sees Price Gains Amid Critical Argo CD Security Flaws Impacting Infrastructure
Dev.to AI
Chapters (7)
| IDE/Text Editor
3:07
| Version Control
4:52
| Linux/Terminal Commands
6:00
| Environment Management
7:19
| Testing Frameworks
8:13
| CI/CD
9:52
| Bonus Tools
🎓
Tutor Explanation
DeepCamp AI