Technical Keywords For Recruiters

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 22

UNDERSTANDING IT FOR IT RECRUITERS

MADE BY
1. IT recruitment process

It is important to understand that IT Recruiting is one among the challenging job out there, as it requires not only the people skills
but also a wide variety of technical knowledge as well.
IT recruitment including: finding techies with rare skill sets, screening IT job requirements through resumes that are difficult to read,
interviewing people who seem to speak another language, and negotiating with techies by understanding their key desires.
The technical recruiter need not only to have the ability to realistically source, screen, and present qualified candidates, but the
confidence to communicate unrealistic technical requirements goals to hiring managers.
The areas of responsibilities/skills for the Technical Recruiter include:
• Review: Successfully review job descriptions is to understand the needs of the hiring manager/business (hiring managers
might be techies as well) to ask questions that will help you identify the right candidate. This is by far the most important skill
a technical recruiter needs.
• Understand technology, technical roles and technical skills. Learn and evaluate your technical skills
• Identify: Sourcing and uncovering candidates
• Screen: Ascertaining the competence of candidates against a technical job description
• Interview: Meeting candidates in person, telephone, or video conference etc. to assess their qualifications
• Following up: Keep your candidates in the loop. This goes a long way to build your credibility and keep your candidates
either coming back to you or sending referrals to you

2. How to understand the client’s requirement

• What do or should you know about the organization?


o Market share, presence
o Aim, profile – IT is a support function or It is their main activity
o Org chart, team, reports
• About the vacancy
o Why? How many? How long is open?
o What resources were used to fill the role?
• Experience (It is always hard to define in years; it depends on the complexity of the knowledge - used terminology: junior,
mid, senior, expert … architect)
• Education/studies – is a degree needed to fulfil the role? (if yes it cuts the amount of potential candidates – lobby for NO)
Any certification is required? (ITIL V3, PMI etc.)
• Background – preferred previous employer, experience
• Content, technology
o Development
▪ Platform (desktop, windows, unix/linux, MACOS, web, mobile – ios, android, windows)
▪ Technology – backend, frontend
− C/C++, Java (core, EE), C#, Javascript, Html, CSS etc.
− Database (Sql, no sql)
− Methodology – Waterfall, Scrum/Agile, Kanban etc.
o Support/operation
▪ Remote or onsite (mainly system administrators than full stack responsibility)
▪ Application or infrastructure (network, server, database)
▪ How many users? OR How big is the infrastructure?
▪ Worldwide/regional/local
▪ Shifts
▪ Which apps? Desktop or Web
▪ Infra Network – which devices are implemented? (Juniper, Cisco) Is Cisco certification required?
(CCNA etc.)
▪ Infra Server – Linux, Novell (old), Windows (2003, 2008, 2008R2, 2012)
▪ Database – MySQL, MsSQL, DB2, Oracle?

• Personality
• Language knowledge!
• People management or coordination?
• Recruitment process
o Test, language test, with whom he/she needs to meet, how many rounds
• Salary, bonus, other benefits, home office etc.

3. IT concepts

Before we talk about IT job titles we have to understand some IT concepts.

3.1. Platforms

A fundamental consideration when you are handling a job specification, talking to a client about their IT environment or assessing
a candidate’s technical background is what platform you are dealing with. PC (Personal Computer): A personal computer (PC) is a
general-purpose computer, whose size, capabilities and original sale price makes it useful for individuals, and is intended to be
operated directly by an end-user with no intervening computer operator.
PC platforms are the most commonly found in day to day office environments. This set up commonly consists of a server often
stored in a back room containing large amounts of data, which are connected via network to clients.

➢ This platform invariably hosts Microsoft software or operating systems, running applications (Word, Outlook). Most
recent versions include Windows Vista (failed), Windows XP, Windows 7 and Windows 8.; 8.1 (mainly for tablets, it is not
convenient for desktop..)
➢ OR MacOS - Op System of Apple Inc.
➢ LINUX/UNIX: Is a multitasking, multiuser computer operating system (Suse) that exists in many variants. Unix/Linux was
designed to be portable, multi-tasking and multi-user in a time-sharing configuration. Unix/Linux systems are
characterized by various concepts: the use of plain text for storing data; a hierarchical file system; treating devices and
certain types of inter-process communication as files; and the use of a large number of software tools. (Op sys of Li/U:
Ubuntu, Debian
Libre Office, Open Office
Often referred to as an „open-source” platform as the code-base is widely available to vendors to develop and customize their own
versions of this platform. There are many variations of this platform on the market. (Solaris, Linux (free), HP-UX)

Mobile Platforms:
• IOS – developed with Objective C
• Android – Android is a mobile operating system (OS) based on the Linux kernel and currently developed by
Google. (Can be developed with C++ or Java which is more common)

• Windows - Windows Phone (WP) is a smartphone operating system developed by Microsoft. It is the successor
to Windows Mobile,[5] although it is incompatible with the earlier platform

3.2. Infrastructure

INFRASTRUCTURE

Server Network Telephony Database Storage/backup


Unix LAN Avaya MySQL Tape
Windows WAN Cisco MsSQL SAN/NAS
Novell VPN Shoretel Oracle Softwares:
Wifi CB2 HPdataprotector
NoSQL dbas TSM

Without networks, computers in different locations within an office or separate geographical locations would not able to
communicate with each other. Networks consist of a physical cable carrying data using industry recognized Information Protocols
(IP).
The physical cabling is often supplied by specialist companies producing such infrastructure, the most prolific of which is Cisco
(Juniper). You will come across terms such as routers, hubs and switches which are different components of the physical connection.
Information is carried around an internal office environment using LAN (Local Area Network) technologies. Connections from one
office to another in separate geographical locations are facilitated using WAN (Wide Area Network) technologies.
There are another emerging network capabilities you will come across as a result of emerging wireless technologies, such as Wi-Fi,
which do not required physical connection for inter-communications to take place.
A virtual private network (VPN) extends a private network across a public network, such as the Internet. It enables a computer to
send and receive data across shared or public networks as if it is directly connected to the private network, while benefiting from
the functionality, security and management policies of the private network . A VPN is created by establishing a virtual point-to-point
connection through the use of dedicated connections, virtual tunneling protocols, or traffic encryptions. A virtual private network
connection across the Internet is similar to a wide area network (WAN) link between sites. From a user perspective, the extended
network resources are accessed in the same way as resources available within the private network.
VPNs allow employees to securely access their company's intranet while traveling outside the office. Similarly, VPNs securely
connect geographically separated offices of an organization, creating one cohesive network. VPN technology is also used by
Internet users to connect to proxy servers for the purpose of protecting personal identity and location.

A server is a running instance of an application capable of accepting request from the client and give response accordingly. Servers
can run on any computer or dedicated computer, which is also often referred to as "the server", In many cases, a computer can
provide several services and have several servers running. The advantage of running servers on dedicated computer is security. For
this reason most of the servers are daemon processes and designed by the designers in such a way that it can run on specific
computer(s).
Servers operate within a client-server architecture. Servers are computer programs running to serve the requests of other programs,
the clients. Thus, the server performs some tasks on behalf of clients. The clients typically connect to the server through the network
but may run on the same computer. In the context of Internet Protocol (IP) networking, a server is a program that operates as a
socket listener.
Servers often provide essential services across a network, either to private users inside a large organization or to public users via
the Internet. Typical computing servers are database server, file server, mail server, print server, web server, gaming server, and
application server.

General roles:
• Network administrator
• Network support engineer
• Network engineer (able to design)
• Network Architect (able to design)
• Ethical hackers
• Penetration tester
• Network security engineer
• Network security Architect
• System engineer
• System administrator

3.3. Backup and storage

Backup and Storage (backup, restore) - Storage/ backup administrator. This role is only separated by big companies like IBM. By
smaller companies this function/task is included to general system administration.
• How you do you do backup or storage ?
o Tape backup
o SAN/NAS - Storage area network Network-attached storage
• What kind of software do you use for storage or backup?
o HP – data protector
o IBM – TSM (Tivoli Storage manager)
o Netbackup (rarely used)
o Backupexec
o Veritas
o Symantec
• MIRRORING

3.4. Databases and data warehouses; business intelligence, big data and data mining

➢ Database

A database is an organized collection of data. Databases are enormously complex pieces of software which capture and store large
quantities of data in a format prescribed by the business user.
This software often referred to as an RDBMS (Relational Database Management System) is installed at the server side of IT
environment and is invariably designed using SQL (Structured Query Language). This is a generic programming language used to
create all of the complex relationship between different pieces of data within the RDBMS.
Most business will run a database of this nature to store all vital data for the organization turn on effectively. These databases can
be created to store information to a gigantic scale, such as a mobile telecommunications company. There are a number of software
vendors which produce these systems, but there are two which dominate the market: Oracle and SQL Server.
Database types:
• Relational, SQL databases: MySQL, MsSQL, Oracle, DB2
• NoSQL: Mongo DB, Cassandra DB, Couch DB

Roles:
• Database administrator
• Database developer

➢ Data warehouse

In computing, a data warehouse (DW, DWH), or an enterprise data warehouse (EDW), is a system used for reporting and data
analysis. Integrating data from one or more disparate sources creates a central repository of data, a data warehouse (DW). Data
warehouses store current and historical data and are used for creating trending reports for senior management reporting such as
annual and quarterly comparisons.
The data stored in the warehouse is uploaded from the operational systems (such as marketing, sales, etc., shown in the figure to
the right). The data may pass through an operational data store for additional operations before it is used in the DW for reporting.

Data warehouse types:


• Oracle, DB2, Teradata, Microsoft (MsSQL)

Mainly developers, data miners

Key difference:
A data warehouse is a database used to store data. It is a central repository of data in which data from various sources is stored.
The data warehouse is then used for reporting and data analysis. A database, on the other hand, is the basis or any data storage. It
is an organized collection of data. A database is used to store data while a data warehouse is mostly used to facilitate reporting
and analysis.
➢ Business intelligence

Business intelligence (BI) is the transformation of raw data into meaningful and useful information for business analysis purposes.
BI can handle enormous amounts of unstructured data to help identify, develop and otherwise create new strategic business
opportunities. BI allows for the easy interpretation of volumes of data. Identifying new opportunities and implementing an effective
strategy can provide a competitive market advantage and long-term stability.
BI technologies provide historical, current and predictive views of business operations. Common functions of business intelligence
technologies are reporting, online analytical processing, analytics, data mining, process mining, complex event processing, business
performance management, benchmarking, text mining, predictive analytics and prescriptive analytics

➢ Big Data

Data Visualization

➢ Data Mining

While a data warehouse developer fills in the data, the miner is the one who extracts data mainly though developing reports.
Uses:
• Rapid miner, SAS enterprise miner, SAS enterprise Guide, R,

3.5. Programming Languages

A programming language is a formal constructed language designed to communicate instructions to a machine,


particularly a computer. Programming languages can be used to create programs to control the behavior of a machine or to express
algorithms. A programming language is a notation for writing programs, which are specifications of a computation or algorithm.
When the programmers writes and runs an application, the computer’s processor breaks the code down to the very lowest level
the computer’s hardware can understand. This information is then processed and complied back up to a level the human can
understand, appearing on a screen as information. There are many different programming languages, which communicate with the
computer’s hardware at different levels or layers. High level languages were created so that humans could develop applications
faster without having break everything down to this level.
In computer science, the front end technologies are responsible for collecting input in various forms from the user and processing it
to conform to a specification the back end can use. The front end is an interface between the user and the back end. The front and
back ends may be distributed amongst one or more systems. The front is an abstraction, simplifying the underlying component by
providing a user-friendly interface. In software design provides front and back ends for the database, the user, and the data
processing components. The separation of software systems into front and back ends simplifies development and separates
maintenance. A rule of thumb is that the front (or "client") side is any component manipulated by the user. The server-side (or "back
end") code resides on the server. The front end faces the user, and the back end launches the programs of the operating system in
response.
We have to distinguish the front - and back end technologies (Some can be used on both “sides”).
Typical back end (server side) technologies Typical front end (client side) technologies
PHP JavaScript
C – mainly embedded CSS
C# (can be frontend as well) HTML
C++ (can be frontend as well)
Java (J2SE, J2EE)
PL/SQL (database, data warehouse dev)
Cobol, RPG (old banking system dev)

The most common languages are the following:


➢ PHP - PHP is a server-side scripting language designed for web development, but also used as a general-purpose
programming language. PHP code can be simply mixed with HTML code, or it can be used in combination with various
templating engines and web frameworks. (Typically used for backend web development. Old versions are not object oriented.
Basic OOP functionality already inversion 3, completely rewritten for 5.)
Most common frameworks: Zend, Symfony, CodeIgniter, Yii, Drupal (content management framework written in PHP)

The C family
➢ C – Low level language: Previously extensively used in the defense sector in where customized devices contain scaled down
real-time operating system running C programs used for radar. Also fin din banking and telecommunications for back office
real-time data processing tasks. Rarely used in a Windows (Microsoft) environment, but common in Unix (Linux)
development environments within finance and telecommunications. Also used for embedded development. Embedded
software development, that is, the development of embedded software such as used for controlling consumer products,
requires the development process to be integrated with the development of the controlled physical product. System
software underlies applications and the programming process itself, and is often developed separately.
Embedded software is computer software, written to control machines or devices that are not typically thought of as
computers. It is typically specialized for the particular hardware that it runs on and has time and memory constraints. This
term is sometimes used interchangeably with firmware, although firmware can also be applied to ROM-based code on a
computer, on top of which the OS runs, whereas embedded software is typically the only software on the device in question.

➢ C#: This is an object-oriented (class-based), and component-oriented programming disciplines. It runs only on Windows
platform, .NET framework since it is a Microsoft product. 2.5 version is very old, 3, 3.5, 4.0 are fine.

➢ VB.Net (= Visual basic .NET) is a multi-paradigm, high level programming language,


implemented on the .NET Framework. Microsoft launched VB.NET in 2002 as the successor to its original Visual Basic
language. Along with Visual C#, it is one of the two main languages targeting the .NET framework.)
➢ C++ is a general purpose programming language. It has imperative, object-oriented and generic programming features,
while also providing the facilities for low level memory manipulation. OO development was a method of software
development, which organized code around „objects” rather than „actions” around, which C is based. C++ used for Linux
and Windows as well. Embedded C++ (EC++) is a dialect of the C++ programming language for embedded systems. It was
defined by an industry group led by major Japanese central processing unit (CPU) manufacturers, including NEC, Hitachi,
Fujitsu, and Toshiba, to address the shortcomings of C++ for embedded applications. The goal of the effort is to preserve
the most useful object-oriented features of the C++ language yet minimize code size while maximizing execution efficiency
and making compiler construction simpler.

Java
➢ Java is a computer programming language, that is concurrent, class-based, object-oriented, and specifically designed to have
as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere",
meaning that code that runs on one platform does not need to be recompiled to run on another. This language became
popular very quickly as it was simpler than C++ and was platform independent. It could be developed on both Microsoft and
Unix based platforms.

Most common Java’s frameworks: Hibernate, Swing, Spring, Eclipse, Netbeans.


Versions:
• J2SE – Standard Edition or Core Java. Used for developing non-web applications for finance and telecommunications.
(Typical MS, banking sector)
• J2EE – Enterprise Edition. It has become the Rapid Application Development tool for internet development. The platform
was known as Java 2 Platform, Enterprise Edition or J2EE. J2EE targeted enterprise applications and version J2ME for
mobile applications. J2EE includes JSP (Java Server Pages) for building dynamic web pages; EJB (Enterprise Java Beans)
used for developing the business logic which sits behind the web page the user sees.
• Other important Java technologies:
o Maven (Apache): is a build automation tool used primarily for Java projects. Maven addresses two aspects of building
software: First, it describes how software is built, and second, it describes its dependencies.
o ANT (Apache): is a software tool for automating software build processes. It is similar to Make but is implemented
using the Java language, requires the Java platform, and is best suited to building Java projects
o Junit: is a unit testing framework for the Java programming language. JUnit has been important in the development
of test-driven development, and is one of a family of unit testing frameworks which are collectively known as xUnit
that originated with SUnit.
o Hibernate: is an object-relational mapping library for the Java language, providing a framework for mapping an
object-oriented domain model to a traditional relational database.
o Swing: is the primary Java GUI widget toolkit. It is part of Oracle's Java Foundation Classes (JFC) — an API for providing
a graphical user interface (GUI) for Java programs.
o Spring: is an open source application framework and inversion of control container for the Java platform. The
framework's core features can be used by any Java application, but there are extensions for building web applications
on top of the Java EE platform. Although the framework does not impose any specific programming model, it has
become popular in the Java community as an alternative to, replacement for, or even addition to the Enterprise
JavaBean (EJB) model.
o Eclipse: is an integrated development environment (IDE). It contains a base workspace and an extensible plug-
insystem for customizing the environment. Written mostly in Java, Eclipse can be used to develop applications. By
means of various plug-ins, Eclipse may also be used to develop applications in other programming languages: ABAP,
C, C++, COBOL, JavaScript, Perl, PHP, Python, R, Ruby (including Ruby on Rails framework) and Groovy.
o Netbeans: is an integrated development environment (IDE) for developing primarily with Java, but also with other
languages, in particular PHP, C/C++, and HTML5. It is also an application platform framework for Java desktop
applications and others. The NetBeans IDE is written in Java and can run on Windows, OS X, Linux, Solaris and other
platforms
o Tibco: s an American company that provides software for companies to use on-premises or as part of computing
environments. The company manages information, decisions, processes and applications in real-time for over 4,000
customers.
o Wicket (Apache): is a lightweight component-based web application framework for the Java programming language
o SVN (Apache)/Git : sw versioning and revision control
o Jboss: WildFly formerly known as JBoss AS, or simply JBoss, is an application server authored by JBoss, now developed
by Red Hat. WildFly is written in Java, and implements the Java Platform, Enterprise Edition (Java EE) specification.
It runs on multiple platforms.
o Struts: Apache Struts was an open-source web application framework for developing Java EE web applications. It
uses and extends the Java Servlet API to encourage developers to adopt a model–view– controller (MVC)
architecture.
o JAXB: Java Architecture for XML Binding (JAXB) allows Java developers to map Java classes to XML
representations
Weblogic Server: Oracle WebLogic Server is a Java EE application server currently developed by Oracle Corporation.

➢ Javascript - (JS) is a dynamic computer programming language. It is most commonly used as part of web browsers, whose
implementations allow client-side scripts to interact with the user, control the browser and later the document content that
is displayed. It is also being used in server-side network programming game development and the creation of desktop and
mobile applications. Related: Jquery, Json

Libraries and Frameworks: Angular.js, Ember.js, GWT (Google Web Toolkit), Jquery, Knockout.js
With the expanded demands for JavaScript, an easier means for programmers to develop such dynamic interfaces was needed.
Thus, JavaScript libraries such as Prototype, script.aculo.us, Ext Core, jsPHP, MooTools and jQuery and JavaScript widget libraries
such as Ext JS, DHTMLX, and Dojo Toolkit were developed, allowing for developers to concentrate more upon more distinctive
applications of Ajax. Some JavaScript libraries allow for easier integration of JavaScript with other web development technologies,
such as CSS, PHP, Ruby, and Java. Many libraries include code to detect differences between runtime environments, and remove
the need for applications to allow for such inconsistencies.

➢ CSS (Cascading Style Sheets) used for describing the look and formatting of a document written in a mark-up language. CSS
is designed primarily to enable the separation of document content from document presentation, including elements such
as the layout, colors, and fonts. While most often used to style web pages and user interfaces written in HTML and XHTML,
the language can be applied to any kind of XML document. CSS is a cornerstone specification of the web and almost all web
pages use CSS style sheets to describe their presentation.
Frameworks: Blueprint, Bootstrap, Foundation, Cascade
CSS frameworks are pre-prepared libraries that are meant to allow for easier, more standards- compliant styling of web
pages using the Cascading Style Sheets language.

➢ HTML – Hyper Text Markup Language is the standard markup language used to create web pages. A web browser can read
HTML files and compose them into visible or audible web pages. The browser does not display the HTML tags, but uses
them to interpret the content of the page. HTML describes the structure of a website semantically along with cues for
presentation, making it a markup language rather than a programming language. HTML allows images and objects to be
them to interpret the content of the page. HTML describes the structure of a website semantically along with cues for
presentation, making it a markup language rather than a programming language. HTML allows images and objects to be
embedded and can be used to create interactive forms.

➢ Wordpress is a free and open source blogging tool and a content management system (CMS) based on PHP and MySQL.
Additional
➢ Ruby/Ruby on rails – Ruby is the programming language and Ruby on Rails is the framework written in Ruby. 2.0, 2.1
➢ Objective C – programming language of IOS; Cocoa – API, framework
Glossary: http://www.slideshare.net/GildInc/technology-glossary-for-recruiters-27982783

3.6. Software/System testing

Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service
under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate
and understand the risks of software implementation. Test techniques include, but are not limited to, the process of executing a
program or application with the intent of finding software (errors or other defects).

Black-box testing is a method of software testing that examines the functionality of an application (e.g. what the software does)
without peering into its internal structures or workings. This method of test can be applied to virtually every level of software
testing: unit, integration, system and acceptance. It typically comprises most if not all higher level testing, but can also dominate
unit testing as well.
Functional testing is a quality assurance (QA) process and a type of black box testing that bases its test cases on the specifications
of the software component under test. Functions are tested by feeding them input and examining the output, and internal
program structure is rarely considered (not like in white-box testing). Functional Testing usually describes what the system does.
Functional testing differs from system testing in that functional testing "verifies a program by checking it against ... design
document(s) or specification(s)", while system testing "validate[s] a program by checking it against the published user or system
requirements"
Functional Testing have many types:
• Smoke Testing
• Sanity Testing

• Regression Testing
• Usability Testing

Non-functional testing is the testing of a software application for its non-functional requirements. The names of many non-
functional tests are often used interchangeably because of the overlap in scope between various non-functional requirements.
For example, software performance is a broad term that includes many specific requirements like reliability and scalability.
White-box testing (also known as clear box testing, glass box testing, transparent box testing, and structural testing) is a method
of testing software that tests internal structures or workings of an application, as opposed to its functionality (i.e. black-box
testing). In white-box testing an internal perspective of the system, as well as programming skills, are used to design test cases.
The tester chooses inputs to exercise paths through the code and determine the appropriate outputs. This is analogous to testing
nodes in a circuit, e.g. in-circuit testing (ICT).
White-box testing can be applied at the unit, integration and system levels of the software testing process. Although
traditional testers tended to think of white-box testing as being done at the unit level, it is used for integration and system testing
more frequently today. It can test paths within a unit, paths between units during integration, and between subsystems during a
system–level test. Though this method of test design can uncover many errors or problems, it has the potential to miss
unimplemented parts of the specification or missing requirements

Regression testing is a type of software testing that seeks to uncover new software bugs, or regressions, in existing
functional and non-functional areas of a system after changes such as enhancements, patches or configuration changes, have
been made to them.
Stress testing (sometimes called torture testing) is a form of deliberately intense or thorough testing used to determine the stability
of a given system or entity. It involves testing beyond normal operational capacity, often to a breaking point, in order to observe
the results. Reasons can include:
• to determine breaking points or safe usage limits
• to confirm intended specifications are being met
• to determine modes of failure (how exactly a system fails)
• to test stable operation of a part or system outside standard usage

Unit testing is a software testing method by which individual units of source code, sets of one or more computer program modules
together with associated control data, usage procedures, and operating procedures are tested to determine if they are fit for use.

System testing of software or hardware is testing conducted on a complete, integrated system to evaluate the system's compliance
with its specified requirements. System testing falls within the scope of black box testing, and as such, should require no knowledge
of the inner design of the code or logic.

User acceptance testing (UAT) consists of a process of verifying that a solution works for the user. It is not system testing (ensuring
software does not crash and meets documented requirements), but rather is there to ensure that the solution will work for the user
i.e. test the user accepts the solution (software vendors often refer to as Beta testing).

Difference between validation and verification


Software testing is used in association with verification and validation:
• Verification: Have we built the software right? (i.e., does it implement the requirements).
• Validation: Have we built the right software? (i.e., do the requirements satisfy the customer).
The terms verification and validation are commonly used interchangeably in the industry; it is also common to see these two terms
incorrectly defined. According to the IEEE Standard Glossary of Software Engineering Terminology:
Verification is the process of evaluating a system or component to determine whether the products of a given
development phase satisfy the conditions imposed at the start of that phase.
Validation is the process of evaluating a system or component during or at the end of the development process to
determine whether it satisfies specified requirements.
According to the ISO 9000 standard:
Verification is confirmation by examination and through provision of objective evidence that specified requirements have
been fulfilled.
Validation is confirmation by examination and through provision of objective evidence that the requirements for a
specific intended use or application have been fulfilled.

What is test case?


A test case, in software engineering, is a set of conditions or variables under which a tester will determine whether an application,
software system or one of its features is working as it was originally established for it to do.

Advantages of automated tests


Any programming groups are relying more and more on automated testing, especially groups that use test-driven development.
There are many frameworks to write tests in, and continuous integration software will run tests automatically every time code
is checked into a version control system.
While automation cannot reproduce everything that a human can do (and all the ways they think of doing it), it can be very useful
for regression testing. However, it does require a well-developed test suite of testing scripts in order to be truly useful
Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle:
first the developer writes an (initially failing) automated test case that defines a desired improvement or new function, then
produces the minimum amount of code to pass that test, and finally refactors the new code to acceptable standards
ISTQB The International Software Testing Qualifications Board (ISTQB) is a software testing qualification certification
organization that operates internationally. Founded in Edinburgh in November 2002, ISTQB is a non-profit association legally
registered in Belgium

4. IT groups

So as to define a candidate’s path you have to figure out his/her preferences, skills and knowledge. Questions:
• So as to narrow down your options by considering what type of work you want your job to involve.
• Do you want to do loads of coding or none at all, but still use your technical reasoning?
• Would you prefer to be business focused, or enjoy the best of both the technology and commercial worlds?
• Do you want to be troubleshooting daily, or working on projects with longer deadlines?
• If you want to troubleshoot regularly, try positions with IT services providers that revolve around ongoing support to clients,
or working in support roles for non-IT companies such as investment banks.
Programming work can be found in obvious places such as technology solutions providers, but also with non-IT companies who
need to develop their own software – look out for words such as ‘engineer’ or ‘developer’ in the job title.
Technology consultancies are a good place to look for more business-focused roles, but there are also many more such roles
across the IT industry – job titles that include the word ‘consultant’ will typically involve some degree of client interaction.
Technology careers vary widely in terms of how mobile the candidate needs to be.
An IT consultant might spend his working week wherever his current client is based, maybe catching a plane home for the
weekend. Likewise, graduates in IT services may be required to spend the week on their clients’ premises.
In contrast, a very technical role such as developer or software tester will spend the vast majority of the time in the same office
with maybe the odd trip out. Business and management-focused roles, like project management tend to fall somewhere between
the two – they often require a degree of travel but this can vary depending upon the precise role and company.
The IT related jobs are broadly divided into six groups.
➢ Architecture
➢ Development/programming
➢ Analysis
➢ Technical Support
➢ Databases
➢ Project Management

4.1. Architecture

The information technology architect applies IT resources to meet specific business requirements. The role requires a high degree
of technical expertise as well as business understanding, as IT architects determine which information technology investments
will yield the best return, both in terms of hard costs and productivity benefits. IT architects strive to bring operational efficiency
to an organization through information integration and management. Achieving this ideal requires technical skill in planning,
implementing, and managing IT infrastructure and information software. There are several different architecture position:
• Application architect: Applications architecture means managing how multiple applications are poised to work together.
It is different from software architecture, which deals with design concerns of one application. An applications architect
is a master of everything application- specific in an organization. An applications architect provides strategic guidelines
to the applications maintenance teams by understanding all the applications from the following perspectives.
• Infrastructure architect is someone who participates to develop and manage ongoing enterprise architecture governance
structure on basis of business plus IT strategies.
• Software architect: Software architect is a computer manager who makes high-level design choices and dictates technical
standards, including software coding standards, tools, and platforms.
• Technical architect
• System architect
• Network

4.2. Development

A programmer, computer programmer, developer, coder, or software engineer is a person who writes computer software. The
term computer programmer can refer to a specialist in one area of computer programming or to a generalist who writes code for
many kinds of software. One who practices and processes a formal approach to programming may also be known as a programmer
analyst. A programmer's primary computer language (C++, C#, Java, PHP) is often prefixed to the above titles, and those who work
in a web environment often prefix their titles with Web. The term programmer can be used to refer to a software developer, Web
developer, mobile applications developer. Programmers' work varies widely depending on the type of business for which they are
writing programs. Programmers generally know more than one programming language and because many languages are similar,
they often can learn new languages relatively easily.
• Programmer
• Software Engineer: Software engineers apply the principles of engineering to the design, development, maintenance,
testing, and evaluation of the software and systems that make computers or anything containing software work.
• Web Developer: A web developer is a programmer who specializes in, or is specifically engaged in, the development of
World Wide Web applications, or distributed network applications that are run over HTTP from a web server to a web
browser.
• Development Team Leader
• Development Manager

4.3. Analysis

Analysis is the process of breaking a complex topic or substance into smaller parts to gain a better understanding of it. The
technique has been applied in the study of mathematics and statistics.
• Business Analyst is someone who analyzes an organization (real or hypothetical) and designs its processes and systems,
assessing the business model and its integration with technology. The role of a Business Analyst can also be defined as a
bridge between the business problems and the technology solutions. Here business problems can be anything about
business systems, for example the model, process, or method. The technology solutions can be the use of technology
architecture, tools, or software application. So Business Analysts are required to analyze, transform and ultimately
resolve the business problems with the help of technology.
• System Analyst is an IT professional who specializes in analyzing, designing and implementing information systems.
System analysts assess the suitability of information systems in terms of their intended outcomes and liaise with end
users, software vendors and programmers in order to achieve these outcomes.
• Data Analyst: Analysis of data is a process of inspecting, cleaning, transforming, and modelling data with the goal of
discovering useful information, suggesting conclusions, and supporting decision making. Data analysis has multiple facets
and approaches, encompassing diverse techniques under a variety of names, in different business, science, and social
science domains.
• Change Analyst/ Manager: A change management analyst is responsible for auditing and evaluating the change
management process in the context of Systems engineering. The role of the change management analyst includes
ensuring that adequate documentation and support are available to the users.
• Business Process Analyst

4.4. Technical support

Technical support or tech support refers to a plethora of services by which enterprises provide assistance to users of technology
products such as mobile phones, televisions, computers, software products or other electronic or mechanical goods. In general,
technical support services attempt to help the user solve specific problems with a product or services. Most companies offer
technical support for the products they sell, either freely available or for a fee. Technical support may be delivered over the
telephone or online by e-mail, live support software on a website or a tool where users can log a call/incident.
• 1st level support is your phone and email ticket responders. They're the first responders and least skilled of the bunch.
Activities such as installing the machine at the data center, configuring the initial remote management utilities, configuring
IP addresses, binding IP addresses, configuring networking options, configuring Switches, hubs and routes, Load balancing
configurations etc.
• 2nd level support is expected to handle basic system administration tasks and coordinate with level I support operators to
resolve customer issues. Installing the operating system, Web server, Database, configuring various parameters to optimize
performance and initial configuration to get the particular application up and running.
• 3rd level support is a spill over group that covers the staff trained to resolve the problems which cannot be handled by
Level II support personnel. Staff in the 3rd level group classification is generally expected to have a solid working
knowledge of the companies systems and software and use that skill base in conjunction with innate problem solving
skills.
• Application support
• Network support
• Desktop Support
4.5. Project Management

Project management is the process and activity of planning, organizing, motivating, and controlling resources, procedures and
protocols to achieve specific goals in scientific or daily problems. The primary challenge of project management is to achieve all
of the project goals and objectives while honoring the preconceived constraints. The primary constraints are scope, time, quality
and budget. The secondary challenge is to optimize the allocation of necessary inputs and integrate them to meet pre-defined
objectives.
• Project Manager
• Project Leader
• Project Administrator
• Project coordinator
Typical certifications: PMI (PMP), Prince 2

5. ERP systems

ERP: Enterprise resource planning:


• Integrated
• Multi-module application software packages
• Support multiple business functions
• May be able to interface with other software used by an organization Examples: SAP, LN (Baan), Microsoft
Dynamics, Oracle
SAP is one of the most popular and successful ERP system. It is highly preferred by Europe based companies, especially in DACH
region. SAP was established by former IBM employees in 1972. The abbreviation stays for Systems Applications and Products in
Data Processing in Mannheim, Germany.
In the 90’s SAP R/3 was released: Client server concept, uniform appearance of graphical interfaces, consistent, usage of
relational databases, ability to run on computers from various vendors.
Advantages of SAP:
• Plenty of features are automated
• Integrated – no interface needed between various packages
• Stable SW and stable vendor, good background
• International functionality – multi-lingual
• Able to harmonize business processes – templates on national and international levels – more comparable
• Support can be centered
• Good reporting and analytical tools
• SOX compliant

Business Objects: 2008 – solution for all size of companies – also the smaller ones.
3 main areas:
1. Finance
2. Logistics
3. HR

In all areas there are various modules and sub-modules focusing on specific functions, departments. Transactions are actual screen
used by the user to create Sales Order, Run Payroll. Consultants are responsible for setting up modules and customize the software
according to the requirements and business processes of the client. Those who are responsible for transaction support are the
guys working in L1, maximum L2 support.
5.1. Most important modules:

Financial:
• FI: contains profit, loss, balance sheet; handles AP, AR
• CO: management reporting, controlling – various submodules – cost center accounting, profit center accounting…
• TR: treasury

Logistics:
• SD: sales and distribution – highly integrated with AR
• WM: Warehouse management – storage, warehousing strongly connected to MM, distribution to SD
• MM: Material Management – purchasing MM-Pur; inventory management MM-Im
• CRM: Customer Relationship Management- relatively new module
• EBP: Enterprise Buyer Professional or SRM – Supplier Relationship Management or SCM – Supply Chain Management –
closely to MM – helps finding the best price and/or delivery among suppliers
• PP: Production Planning
• PS: Project Systems – project management module
• CS: Customer Service
• Quality Management: testing the quality of products before leaving the plant
• APO: Advanced Planner and Optimizer: Integrates with SD to forecast what we can sell in the future and with PP so as
to plan the production

HR:
• HR/ HCM: Human Resources, Human Capital Management – pretty much country specific. Submodule: HR-Payroll
• ESS: Employee Self Service

Other:
• BW/BI: previously Business Warehouse, now Business Intelligence – used to extract data from the system and check out
trends and patterns
• IS-x : Industry Solutions for example IS-U: Elmű, Émász

IDOCS: short for Intermediate Document, is an SAP document format for business transaction data transfers
EDI: Electronic data interchange (EDI) is an electronic communication system that provides standards for exchanging data via
any electronic means

5.2. SAP Basis and Security

After extensive developments in SAP, it is now divided into 2 subgroups stating Basis into one and Security into other(Previously
Basis consultants used to work on both basis as well as Security issues) When you say SAP Basis, you must think about the guys
who will install, configure, update, patch, migrate, troubleshoot any technical problem on your SAP system and manage all the
daily operations for that specific sap system or system landscape. Basis area emphasize the administration of RDBMS(Relational
Database Management System – or simply the database sap system is using), client-server architecture and the SAP GUI.
Moreover Basis defines the interface between the system components and the Basis components, which includes also the
development platform for sap applications and data dictionary. System administration, user administration and monitoring tools
are also features of the Basis components in the SAP system.
At the first glance you can divide the SAP system mainly into 2 big layers(actually there are three – with the presentation layer):
the technical part and the application part. SAP Basis is pointing to everything in the system that is connected to the technical part
or layer.
SAP GRC is a Software responsible for security - Governance, Risk and Compliance. SAP GRC specialists need to have a good
overview of the whole system and have authorization role. With governance, risk, and compliance (GRC), businesses can
strategically balance risk and opportunity. As global markets continue to impose new regulations, GRC help businesses:
• Better manage compliance and risk
• Better protect value – proactively avoid risk events; reduce cost of violations
• Better perform – actively link risk and performance management and objectives Successful companies manage
performance across their enterprise using risk-balanced strategy management, through embedded risk-based controls in their
business processes and by managing
authorizations and access to information. GRC provides insight into risk and compliance initiatives, minimize global trade
violations, enable electronic tax invoicing for Brazil, and supply sustainability reporting. From financials to human resources,
environmental concerns to trade management, GRC fosters efficiency.

Questions:
For key and super users:
• Which modules do you know?
• What are your tasks?
• Did you take part in any upgrade or implementation project? What was your role?
• Did you train other users?
• Did you make any changes?
• Did you support the customization/configuration? How?
• Did you take part in the testing phase? What king of tests did you do?
• Do you have support functions?

For technical – SAP Basis guys:


• Did you take part in implementation/ migration/transition/upgrade project? What was your role?
• Did you do
o performance tuning
o System copy
o Kernel upgrade

o Installation
o Backup/recovery
o System monitoring
• Which modules do you know or have you worked with?
• What kind of database knowledge do you have?

You might also like