subscribe to newsletter

Glossary for Tech Recruiters

Back-end technologies
PHP 5.*
PHP frameworks Symfony (2), Zend Framework (2), CakePHP, Yii, Laravel, CodeIgniter
CMS (content management system) Joomla, Drupal, Wordpress, Magento (for e-commerce)
LAMP Linux + Apache + MySQL + PHP
PHP keywords Twig (templating), PHPUnit (testing), Doctrine (ORM), PHPStorm (IDE), Pear, Smarty
Ruby
Ruby frameworks Rails/Ruby on Rails, Sinatra, Padrino, JRuby
Ruby testing tools RSpec, Capybara, Watir, Cucumber
Ruby deployment Passenger, Capistrano
Java
Java SE frameworks Swing, Play, JavaFX, JSF, Netty, Spring MVC, Wicket
Java EE frameworks JSP, Servlets, EJB, JMX, JAF
ORM Hibernate, EJB, JPA
Java build tools Ant, Maven, Gradle
Java deployment Tomcat, JBoss, GlassFish, WebLogic
Java testing tools jUnit, TestNG, Cactus, EasyMock, Mockito, Cucumber
C# (.NET) Microsoft
C# frameworks .NET 1.0 - .NET 4.5.*
ASP.NET (web framework connected with HTML, CSS, JS) ASP.NET Web API (2), ASP.NET MVC, ASP.NET Web Forms (old school)
WPF, WCF WPF - graphical subsystem for rendering user interfaces, WCF - tool to build Service-Oriented applications
ORM nHibernate, Entity Framework, Linq2SQL, ADO.NET
C# testing tools nUnit, SpecFlow, MStest
Python
Python frameworks Django, Flask, Pyramid, Pylons, SQLAlchemy, web2py, Kivy
С++
C++ frameworks STL, Boost, QT (for user interfaces), vxWidgets, Loki, POCO, OpenCV (for imaging)
Scala
Scala frameworks Akka, Cats, Lift, Play, Scalaz, Slick, Shapeless, Spray
Front-end technologies
JavaScript
JavaScript frameworks jQuery, extJS, Angular, React, Ember.js, Backbone, Knockout.js, ...
JavaScript Back-End frameworks Node.js, Sails, Express, Grunt/Gulp (build tools for Node.js)
Node.js-based build tools Grunt, Gulp, Brocolli, Webpack
JavaScript testing tools Jasmine, Karma, Mocha
AJAX Dynamic requests to server without reloading a webpage
HTML HTML4, HTML5, Zurb, Bootstap, Canvas, WebGL
CSS CSS2, CCS3, Bootstrap, Compass, LESS, SASS, YAML, Zurb
Responsive web design Approach for optimal viewing and interaction across a wide range of devices (from monitor to mobile/tablets)
MOBILE development
iOS Objective C, Swift
iOS frameworks CoreData (DB in iOS), Cocoa, Cocoa Touch, UIKit, CoreLocation, CoreFoundation, CoreImage, CoreGraphics
iOS tools Cocoa Pods (dependency manager), Flurry (for analytics), TestFlight (for installation and testing iOS apps), HockeyApp (platform for apps)
Android
Android keywords Android SDK, Android NDK, Android IDE, Gradle (build tool), AndEngine, Robotium (testing) + a lot of Java keywords
Cross-platform Mobile (mostly JavaScript) jQuery Mobile, PhoneGap, Sencha Touch, Dojo Mobile, Titanium, Xamarin (C#)
Testing (Quality Assurance)
Functional, Regression testing tools Selenium (browser automation), WebDriver, SoapUI (for API testing), Watir, Watin, QTP, Cucumber
Load, Stress and Performance testing tools JMeter, NeoLoad, LoadRunner, LoadUI, Siege, Gatling,
Types of testing Load, stress, performance, regressional, functional, security, cross-browser, black-box, etc
Databases
SQL Programming languare for managing data held in a relational database management system (RDBMS)
Relational DB MySQL, Oracle, Access, MS SQL Server (mostly for Microsoft stack), PostgreSQL, SQLite
NoSQL Cassandra, MongoDB, Berkeley DB, Redis, Riak, CouchDB, DynamoDB
Object-related mapping (ORM) Programming technique that connects databases with object-oriented principles)
Magic keywords for DBA Stored procedures, triggers, replication, performance optimization, clustering, back-up, deadlocks, tuning, configuration
Programming paradigms
OOP (object-oriented programming) Programming paradigm based on the concept of "objects" (which are data structures that contain data, in the form of fields) often known as attributes; and code (in the form of procedures) often known as methods
Languages with OO features C++, C#, Java, JavaScript, Objective C, Perl (v5), PHP5, Python, Ruby, Scala,
Functional programming Style of building the structure and elements of computer programs, that treats computation as the evaluation of mathematical functions and avoids changing-state and mutable data.
Functional languages Scala, Erlang, OCaml, Haskell, F#, Clojure, Elixir
Scripting language Programming language that supports scripts, programs written for a special run-time environment that can interpret (rather than compile) and automate the execution of tasks that could alternatively be executed one-by-one by a human operator
Scripting languages Perl, Shell, Bash, AWK, Python, Ruby, JavaScript, Lua
Architecture
OOD (object-oriented design) Object-oriented design patterns typically show relationships and interactions between classes or objects
Design Patterns Formalized best practices that the developer can use to solve common problems when designing an application
MVC (model view controller) Software architectural pattern for implementing user interfaces. An easy way to understand MVC: the model is the data, the view is the window on the screen, and the controller is the glue between the two
Design Patterns examples Observer, Iterator, Strategy, Factory, Singleton, Composite, Facade, Proxy, etc
SOA (Service-Oriented Architecture) Architectural pattern in which application components provide services to other components via a communications protocol, typically over a network
UML (Unified Modeling Language) Way to visualize the design of a software (in diagrams)
Webservices REST - software architecture style with guidelines and best practices for creating scalable web services, SOAP, JSON-RPC, XML-RPC
Markup (formatting and processing of text) XML, XSLT, xPath, XMPP (for messaging)
API Connector (bridge) for websites/mobile apps with your software - Facebook API, Google API, Twitter API, etc
Tools
High-load tools Memcached (for caching), Nginx (web server for high-load), Varnish, Squid (reverse proxies), haproxy (load balancer), CDN
Big Data tools Hadoop, Hive, Pig, Apache HBase, Cassandra, MapReduce (method), Spark
Continious Integration (CI) Merging all developer working copies with a shared mainline several times a day.
CI tools Jenkins, Teamcity, TFS (mainly C#), CruiseControl (C#), Bamboo, Hudson, Travis
Continious Deployment (CD) Updating а server with automated schedule. These updates include code revision, auto/unit test running
Bug/Issue Tracking system Tracking bugs, reports. Issue tracking - software for project management, tasks in team, etc
Bug/Issue Tracking tools Jira, Mantis, Confluence, RedMine, YouTrack, Trello, BaseCamp
Version Control System (VCS) Team of developers may change the same files
VCS tools Git, Mercurial, SVN, CVS, Perforce
VCS services Github, Bitbucket, Gitlab
IDE (editors for code) Visual Studio (C#), Eclipse, NetBeans, Aptana, xCode (iOS), WebStorm, IntelliJ IDEA
DevOps
OS Linux, Unix, BSD, Windows, MacOS
Linux Distributions Ubuntu, RedHat, CentOS, Suse, Debian
DevOps (Development + Operations) Software development method that emphasizes communication, collaboration, integration, automation. The method acknowledges the interdependence of software development, quality assurance (QA), and IT operations, and aims to help an organization rapidly produce software products and services and to improve operations performance
Virtualization Refers to the act of creating a virtual (rather than actual) version of something, including virtual computer hardware platforms, operating systems, storage devices, and computer network resources.
Virtualization tools VMware, KVM, Xen, VirtualBox , Vagrant
Configuration Management Systems engineering process for establishing and maintaining consistency of a product's performance, functional and physical attributes with its requirements, design and operational information throughout its life.
CM tools Puppet / MCollective, Chef, Ansible, CFEngine, SaltStack, RANCID, Ubuntu Juju
Monitoring tools New Relic, Nagios, Icinga, Graphite, Ganglia, Cacti, PagerDuty, Sensu
Network protocols TCP/IP (transfering data in computers and internet), HTTP (internet protocol), HTTP/2, WebSockets
Web servers Apache, Tomcat (mainly for Java), IIS (mainly for C#), jBoss (Java)
Development Methodologies
Scrum Iterative and incremental agile software development methodology for managing product development. It defines "a flexible, holistic product development strategy where a development team works as a unit to reach a common goal, challenges assumptions of the "traditional, sequential approach" to product development, and enables teams to self-organize by encouraging physical co-location or close online collaboration of all team members, as well as daily face-to-face communication among all team members and disciplines in the project. A key principle of scrum is its recognition that during production processes, the customers can change their minds about what they want and need, and that unpredicted challenges cannot be easily addressed in a traditional predictive or planned manner.
XP Type of Agile software development methodology which is intended to improve software quality and responsiveness to changing customer requirements. It includes: frequent "releases" in short development cycles, programming in pairs or doing extensive code review, unit testing of all code, avoiding programming of features until they are actually needed, a flat management structure, simplicity and clarity in code, expecting changes in the customer's requirements as time passes and the problem is better understood, and frequent communication with the customer and among programmers.
TDD Software development process that relies on the repetition of a very short development cycle: first the developer writes 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.
BDD Emerged from TDD. The idea is provide software development and management teams with shared tools and a shared process to collaborate on software development
Kanban Kanban is a method for managing knowledge work with an emphasis on just-in-time delivery while not overloading the team members. In this approach, the process, from definition of a task to its delivery to the customer, is displayed for participants to see. Team members pull work from a queue. Kanban can mean a visual process-management system that tells what to produce, when to produce it, and how much to produce
Magic Keywords
Multithreading Widespread programming and execution model that allows multiple threads to exist within the context of a single process
Concurrency Several computations are executing simultaneously, and potentially interacting with each other.
Cloud computing Cloud computing, also known as on-demand computing, is a kind of internet-based computing, where shared resources and information are provided to computers and other devices on-demand. It is a model for enabling ubiquitous, on-demand access to a shared pool of configurable computing resources.
Distributed system Software system in which components located on networked computers communicate and coordinate their actions by passing messages. Three significant characteristics of distributed systems are: concurrency of components, lack of a global clock, and independent failure of components
Security Processes and mechanisms by which digital equipment, information and services are protected from unintended or unauthorized access, change or destruction
Caching Cache is a component that stores data so future requests for that data can be served faster
Scalability Ability of a system, network to handle a growing amount of work in a capable manner or its ability to be enlarged to accommodate that growth.The capability of a system to increase its total output under an increased load when resources (typically hardware) are added.
Availability Guarantee that every request receives a response about whether it succeeded or failed
Performance optimization Performance tuning is the improvement of system performance.
Failover Failover is a backup operational mode in which the functions of a system component (processor, server, network, or database) are assumed by secondary system components when the primary component becomes unavailable.
Clustering Grouping a set of objects in such a way that objects in the same group (called a cluster)
Redundant Computer or network system components that are installed to back up primary resources in case they fail. Redundant data can protect a storage array against data loss in the event of a hard disk failure.
Robust Ability of a computer system to cope with errors during execution
Refactoring Restructuring existing computer code without changing its external behavior. Code refactoring may also resolve hidden, dormant, or undiscovered computer bugs or vulnerabilities in the system by simplifying the underlying logic and eliminating unnecessary levels of complexity.
Tuning Improvement of system performance.
Internationalization (i18n) Process of planning and implementing products and services so that they can easily be adapted to specific local languages and cultures. Internationalisation - an adaptation of the product for potential use virtually anywhere. Reduction of «i18n».
Localization (l10n) Addition of special features for use in a particular region. «L10n», the number 10 - the number of letters between «L» and «n».
Accessibility (a11y) Web accessibility means that people with disabilities can use the Web
Asynchronous (Async) requests Asynchronous is a form of input/output processing that permits other processing to continue before the transmission has finished. Asynchronous is used to improve throughput, latency, and/or responsiveness.
Web sockets Providing full-duplex communication channels over a single TCP connection. Web Socket protocol makes more interaction between a browser and a website possible, facilitating live content and the creation of real-time games.
Andrew Stetsenko Tech Talents Relocation
    • Anshuman Mukherjee

      Thank you for your very useful information. Thanks for sharing your knowledge!

    • TERRY WELSH

      God Bless You!

    • Smitha

      This is brilliant!! A ready reference guide for any technical recruiter for skill mapping. Thank you and appreciate the effort.

    • Sandeep

      Great Share !~* Thank you 🙂

    • http://www.tresourceinc.com keshav

      thank you

Nothing Found. Please try again with some different keywords