Skip to content

Commit

Permalink
Add blog-post on 20 technical terms for junior programmers
Browse files Browse the repository at this point in the history
  • Loading branch information
anon-pradip committed Jun 11, 2024
1 parent 0f4d8c6 commit 4e9113b
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 0 deletions.
54 changes: 54 additions & 0 deletions src/assets/20-tech-terms/20-beginner-tech-terms.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
title: 20 Useful and Exciting Technical Terms for Junior Programmers 🚀💻
authorName: Pradip Subedi
authorAvatar: https://avatars.githubusercontent.com/u/27019402?v=4
authorLink: https://github.com/anon-pradip/
createdAt: Jun 03, 2024
tags: tech trends, programming, junior developers, software development, emerging technologies
banner: https://blog.jankaritech.com/src/assets/20-tech-terms/images/tech-pic.png
---
Many juniorest level techies especially the newcomers in coding can admit to the fact that sometimes attending that first stand up meeting in a professional setup can be pretty shaky waters simply because you have no idea what they are talking about. In this blog post, I am going to share 20 different and cool terminologies which can always give you an extra edge in your knowledge and domain. With that in mind, we delved into these key terms, allowing you to better navigate a rapidly changing tech-world landscape. Let's go through these one by one:

## 1. cURL:
- stands for client URL, pronounced and typed as "curl".
- a free and open source software to be used in command lines or scripts to transfer data.
- supports many different transfer protocols, including HTTP, HTTPS, IMAP and so on.
- also enables to include cookies, set proxies, and add authentication credentials when making requests.

### Syntax for using cURL:
`curl [options] [URL]`

## 2. CI/CD:
CI/CD (Continuous Integration/Continuous Deployment) sounds pretty complicated, but it will completely rock your world if you can manage to get it working. It automates the testing and deployment of your code using something called a pipeline. A pipeline is pretty much a conveyor belt for your code; it tests every change you make and makes it available for deployment to production. This automation helps to reduce time and minimize errors that can slow down your development process.

## 3. Docker:
Docker helps you bundle your code and its dependencies into a package which is like a secret handshake - anywhere you shift, this package makes sure that your code runs exactly in a manner how you designed it and these packages are called Docker images. Then from a single image, you can make isolated environments called Docker containers. Each container acts like own mini-pc, sharing resources efficiently. This consistency makes the flow of development, testing and deployment so much easier - all a breeze!

## 4. Scrum:
Scrum can be your life raft if you ever feel like any of your projects are stuck in never-ending waterfall, with deadlines constantly whhoshing away. Depict a software development process that breaks down big tasks into manageable pieces, with regular feedbacks and adjustments along the way. There shines the Scrum. It is all about teamwork and flexibility, allowing to adapt changes very quick. You can think of it as a team sport - everyone works together in short bursts (called sprints) to deliver a specific chunk of the project. Regular follow-ups and reviews keep everyone on the same path, ensuring the final product delivers what clients are truly needing. Scrum is all about agility and drop-shipping value fast, making it popular choice for software development!

## 5. Backlog:
Backlog is a secret weapon for a company having tasks and ideas overflowing and keeping them well organized. It is mostly a prioritized todo-list, but for features, bug fixes and anything other that needs tackling. The most important are listed at the top, making the team alert on what matters the most. You can imagine it as a constantly evovlving board of lists - new tasks get added, some get tackled and deleted, while others get rearranged based on urgency. This dynamic approach makes the development process very attentive and ensures the team delivers the most valuable fetures first!

## 6. Retrospective:
A retrospective is one of the key meetings in Agile Software Development. Conducted after a project, or a sprint, it is a meeting where the team contemplates what they did right, and what they need to improve. when improvements are identified they should be documented and put in place, then revisited in future retrospectives to see if they made a difference. Generally, the participants are developers, product owner/client and scrum master(s). Retrospectives are priceless tool for boosting team dynamics, workflows and productivity.

## 7. Quality Assurance (QA):
Imagine a team committed to ensuring software is flawless before it reaches clients or end users. That's the world of Quality Assurance (QA)!. QA is not just about testing; it is a practice to ensure that defects are identified and prevented during the development lifecycle.
Consider them as the gatekeepers of software brilliance. They work in tandem with developers in order make sure the software possesses the highest quality standards. From reading requirements to test case designing and early identification of issues, QAs plays various roles in a project. Their goal? For delivering a user-friendly and seamless working final product that is closer to being perfect.

## 8. Bump:
In general, when developers increase version number of the sofware they use term "Bump". Most of the time, this version number change also signals changes that have been made to the product.
Think of it as updating the version of a book. A higher version number points to a newer version of the software, usually with bug fixes or new features and other improvements. Increasing the version number helps developers/users see what has changed and helps them ensure that they are using the most compatible and latest version.

## 9. Regression Testing:
Suppose you've just patched a bug or added any code/tests in your software. Great work! What if that fix/addition broke something else that worked prior fine? That's where Regression Testing shines. It's a safety net that ensures recent made changes haven't caused any unintended regressions, or reintroduced old bugs.

So, nearly like checking your work before save your changes in a document. Regression testing is performing old test cases on a new release to ensure that previously implemented functionality still works as it needs to, after changes have been made. This catches any regressions right away and prevents them from reaching users.

## 10. Cron Jobs:
Cron jobs are simply time-based tools used to automate repetitive tasks. You can also define the frequency and timing of an actionable task by using a specific syntax called cron expression. This improves productivity and makes sure that the critical procedures are carried out in a consistent way.
### Some use-cases of Cron Jobs
- Automatically performing a nightly backup of all data
- Automated weekly reporting
- Auto installing software
Binary file added src/assets/20-tech-terms/images/tech-pic.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 4e9113b

Please sign in to comment.