Article by: 02.06.2022
The world of IT is full of abbreviations and words that can sound intimidating for an outsider. But there is nothing complex at all - any term can be described with a few simple words. Let’s try!
IT is not (only) about programming
Many people associate IT with coding but there is much more to it. Coding/programming is only one subset of a much broader picture. There are simply dozens of different jobs awaiting you in the world of IT. We got visual design, UX design, project management, software testing and much more.
OK. Let's start with programming - that’s where the highest paid jobs are usually to be found.
You may have noticed that programmers nowadays are usually called ‘Software Developers’. Just look at the most common job titles: ‘Java Developer’, ‘C# Developer’, ‘C++ Developer’ etc.
Junior Developer - is a beginner programmer that starts a first software development job. Junior Dev usually lacks experience but that’s normal. Everyone has to start somewhere.
Mid Developer - is a more experienced programmer/developer. That means, someone with an ability to solve problems in an efficient way.
Senior Developer - is a very experienced developer who is not only able to complete job related tasks but is also tasked with other responsibilities. Pretty often Senior Developers are responsible for mentoring junior developers. They also often are responsible for crucial software architecture decisions. To become a Senior Developer one needs to have at least a few years of job-related experience.
So the software development career path usually looks like this: Junior -> Mid -> Senior. There can be many exceptions to the above rule. Some companies omit the Mid Developer step. Other companies can introduce additional, intermediate career steps.
Software testing is a great way to start in the IT industry. The jobs usually come with a nice salary. Some software testers can even earn more than software developers.
Testing is an important part of software development. We need to be sure that the apps work as intended. We need to find bugs before they cause painful problems.
Software testing can be divided into two broad categories.
Manual testing - involves testing apps by hand. You simply click on a button to check if it works. You type in your password manually to see if the login mechanism works as intended. Got the idea?
Automatic testing - involves scripts that automatically run the functionalities that you need to test. So that kind of testing is more about automation than testing by hand. If you need to see whether the login mechanism works, you need to write a script that will perform the necessary actions automatically. For this kind of job some programming skills are necessary.
UX and UI
Some people use those acronyms interchangeably. And they get it pretty wrong as you will see in a moment.
UI - is about visual design. Everything you see: fonts, layouts, menus, colors, buttons falls under UI.
UX - is more about experience than visual design. To put it in a different way: UX is about designing visuals and UX is about designing ‘emotions and feelings’. Imagine that you are using an app for the first time. What you see is UI. What you feel is UX.
So what’s involved in a job as a UX Designer?
- Are all app functionalities accessible?
- Is this app easy to use?
- Does this app solve the user's problem?
- Is the user happy while using this app?
Those are some examples of problems that are solved by UX Designers. It’s a very broad topic. It involves some elements of visual design. It involves some elements of user psychology. It involves accessibility, performance and usability.
What's interesting about those two jobs is that some companies tend to put them under a generic UI/UX Designer title.
Front-End and Back-End
These are two main areas where the majority of modern software developers work.
Front-End - is a part of the app that works in a browser. This is the part that is accessible to users. Imagine everything you see and interact with. That’s the front-end.
Back-End - is a hidden part of the app, usually working on some kind of server. That’s where the main business logic works. This is the part where data is stored and all crucial functionalities perform their work.
Some software developers are oriented towards working with front-end and some are oriented more towards working with back-end. That’s normal since both areas usually require different skills.
Full-Stack - some developers are responsible for both front-end and back-end work. Take a look at some random job offers and see how many of them are listed as a Full-Stack Developer. You will certainly find plenty of examples. The job of Full-Stack Developer is pretty demanding since it requires the knowledge of both front-end and back-end development practices.
This term is relatively new but it has already gained a lot of traction in the world of IT. It was created from two words: Development and Operations. Dev-Ops covers procedures and tools that help to build, maintain and deploy applications. So what does a Dev-Ops Specialist really do?
- Maintains infrastructure (servers, tooling etc).
- Automates tedious tasks.
- Takes care of communication between infrastructure and development teams.
Dev-Ops is a fascinating, multi-faceted job.
Methodologies and good software developments practices
The broad world of IT also involves some very important methodologies that facilitate smooth and uninterrupted work.
Agile - is a set of industrial practices for project management and software development. It involves delivering work in small, incremental changes. That way the results of a said work are easier to test and easier to deploy.
Scrum - is a very common practice from the broader Agile framework. Its main task is to help teams work together.
Our modern world requires constant changes. Every piece of software needs to be continuously and incrementally improved. That’s why the above methodologies are so common.