New to hiring software engineers and feel like you’re drowning in a sea of jargon?
Well, you came to the right place!
As tech recruiters, we frequently communicate with specialists and have picked up quite a bit of tech jargon. One day, we thought, why not share what we know with new colleagues and other marketers who are just dipping their toes into the tech world?
With a little help from some subject experts, we’ve compiled this glossary of basic software engineering terms - in plain English. (You’re welcome!)
1. Programmer
Computer programmers write code. The lines of code comprise software, operating systems, and other computer programs. They usually receive instructions from a software engineer, developer, or designer, which they turn into code.
2. Software Engineer
Software engineers start as programmers. They need coding experience to become software engineers, and programming is one of the many skills required to develop software. Additionally, software engineers have a broad scope of job responsibilities including figuring out how to turn an idea into a viable software product. Software engineers also communicate with clients to design software that works well for them.
3. Back End Developer
Most of today’s softwares have to reach into large databases, network or communication infrastructure of some kind in order to access or send information. This is the ‘back end’ and it is usually hidden away from the user. Back end developers work in languages like PHP, C++, Java, Ruby, Python, and Node.js.
4. Front End Developer
The front end is the part of the app that the typical user interacts with - in the front. Good user experience is important if the user is to be able to find all the functions easily and in an obvious way without the need for elaborate instructions. A well designed user interface (UI) is important to allow the FE to connect to the BE with little effort. Websites and web applications are typically front end. In certain apps, this is also known as the ‘client side’. Front end developers work in languages like HTML, CSS, and JavaScript.
“I’m grateful for my background in advertising and design because as a front end developer, I’ve realised that design is a core element of everyday things.” - Louis Phang, Principal Front End Engineer, Paynet
5. Full stack developer
You guessed it - this refers to someone who works with both the back end (server side) of the application and the front end (client side.)
“Back in the day when most websites used languages like PHP etc companies expected the software developer to handle both back end and front end development. But in recent years, there is a clear distinction between front and back end development as companies realise they require different skillsets.” - Louis Phang
6. Languages
Computer programming languages allow us to give instructions to a computer in a language it understands. Just as many human-based languages exist, there is an array of computer programming languages that programmers can use to communicate with a computer. These languages allow computers to quickly and efficiently process large and complex swaths of information. Some of the most in-demand languages today are JavaScript, CSS, HTML, and Python.
“Now that our devices have higher memory and faster processors, new languages have emerged to take advantage of them. Before the advent of Facebook, JavaScript wasn’t that popular in our industry. As a result, other companies with websites that were built on legacy frameworks and languages like PHP need to be revamped.” - Louis Phang
7. DevOps
A fusion of the words “development” and “operations”, DevOps is a methodology that strives to improve collaboration and automate as much as possible, with the end goal of releasing software faster and more efficiently. With DevOps, all teams in the organization, not just development teams and operations teams, are expected to collaborate on both development and deployment of software to increase software production agility and achieve business goals.
8. Agile
Agile methodology is a set of techniques, values, and principles designed to guide how to quickly develop workable software and how development teams work together to achieve this. Agile is about getting internal feedback while delivering fast through cross-team collaboration, best practices, and alignment toward meeting business goals. Being agile is a key focus of DevOps.
“In agile software development, you often develop something end to end and at the same time, are very much in touch with the customer. You develop the prototype, get feedback, and if it’s not successful, you iterate it some more until it’s ready for production. Software architecture is an emergent process.” - Low Kian Seong, Director of Digital Solution Delivery, CIMB
9. Waterfall
Waterfall is a software development methodology where the software’s requirements are gathered at the beginning of a project, then executed upon in linear fashion, with the next phase beginning only when the previous one is complete, hence waterfall, whose phases can be irregular in nature depending on the amount of work.
(Note: Waterfall delivery is the opposite of continuous delivery, where updates are planned, implemented and released to end-users on a steady, constant basis.)
10. Scrum
Scrum is a name given to a type of agile framework for managing teams. Scrum breaks the available work into discrete units and organises the effort into chunks of periods called sprints. At the end of each sprint, the deliverable is a potentially releasable increment of the product. A scrum team is a group of collaborators, who work toward completing projects and delivering products. The fundamental scrum team comprises one scrum master, one product owner and a group of developers. Within a scrum team, there is no rank or hierarchy.
“Normally, a healthy team is one that is very verbal. Normally the signs of a healthy team is they talk about everything. So if they have the psychological safety to talk about what they want in the group, most probably they will be just as open when it comes to sharing ideas. Those are the few things working in this kind of team: you can speak your ideas, the sisterhood and brotherhood is there, your back is covered. You work in a SCRUM group because of that.” - Low Kian Seong
This list only covers the essentials and will continue to grow as the tech world evolves, so watch this space! What other tech terms would you add to the list? Let us know in the comments below and watch out for part 2!
TRIIIO is a Malaysian recruitment firm focused on partnering with companies to find and recruit top talent and build their Software Engineering teams. For more information on how we can help you recruit Software Engineers in this candidate tight market, visit our service page.
Techdesk.my is a curated job board lovingly created by us at TRIIIO Recruitment to make your job search easier! Visit Techdesk.my and start searching for Software Engineering jobs today!
Σχόλια