When I first got into programming, I didn’t understand a whole lot; just the basics I learned from school. I didn’t know what this did, the reason for that, why I needed this, and I really didn’t understand the terms or programs that were being used. It caused frustration and led me to nowhere. So I decided to make a vocab list for the new developer to hopefully help get you going on questions you may feel embarrassed to ask about:
Integrated Development Environment (IDE) – An IDE is a program where you to write code to create your program. For instance, if you wanted to create an executable (program that ends with .exe), you could use an IDE like Visual Studio. Or if you wanted to create an iOS application, you could use an IDE like Xcode. You’d open those programs up, write your code, deploy or build the code, and then that creates your application.
SQL Server Management Studio (SSMS) – If you are in the .NET world and you work with databases, SSMS is an integrated environment that allows you to connect to them and work with the data in them. For instance, you would run queries against the databases to look at the data, update the data, or delete the data. To extend on databases, here is the hierarchy:
- A Server – has
- Databases – which
- Holds Tables – that
- Have columns of information
- Holds Tables – that
- Databases – which
Visual Studio – Since we are talking about .NET, Visual Studio is the main IDE used to create programs. You can create simple console applications, websites, SSIS, mobile applications, and many more. You can also create database projects in Visual Studio that can be deployed to database servers. You would then use SSMS to connect to the databases you deployed to work with them.
Environment/Region – Used interchangeably, this describes the area where code is deployed to. Depending on the size of the company, there could be a variable number of regions such as Development, Testing, Quality Assurance (QA), Staging, and Production; where Production is usually the main piece of code that “works” and what the public sees.
Build and Deploys – When your code is all good and ready, it needs to be built or compiled, and then deployed. To deploy means to move your final code/compiled code to where it needs to go; like a server or something.
Version/Source Control – This is a place where your code is stored for safe keeping. For example, you would write your code and save it; this is now saved locally. But what if your computer dies? Your code would disappear forever. If you have a source control like TFS or Github, you would save your code locally, then check it into the source control. Now you have it ‘in the cloud’ and locally. This will also help in projects where there are multiple developers on it and branching is needed.
Branching – In a nutshell, you have branches that support the same base code. You develop in one, then merge your changes into the main branch that is the production code. This ensures you always have working code. Here is a better description:
http://stackoverflow.com/questions/2100829/when-should-you-branch
https://git-scm.com/book/en/v1/Git-Branching-What-a-Branch-Is
As always, I recommend asking many questions so you understand something. Don’t even feel like you are asking too much. If the others are getting annoyed, find someone that actually wants to help you.