Keep up with the latest hiring trends!
Learning how to ‘speak tech’ is no easy feat. You’re essentially learning a new language, and if you want to source and attract top tech talent, you need to be able to speak that language fluently. If you’ve been following our tech series over the past couple of months, you may have read ‘A Glossary for Tech Recruiters, Part 1 and Part 2‘, both of which listed and explained all of the terms used by developers as well as the most-used technologies in the industry.
Well, the gang at Relocate Me have only gone and done it again! A Glossary for Tech Recruiters, Part 3 is chock-full of the 80 hottest programming trends over the past two years. So if you’re a tech recruiter and you only do one thing today, make sure that you bookmark these posts so that you can revisit them when you’re trying to seek out (and hold conversations with) tech candidates.
- Flat UI: A style of interface design emphasizing minimum use of stylistic elements that gives the illusion of 3 dimensions (such as the use of drop shadows, gradients or textures) and is focused on a minimalist use of simple elements, typography and flat colors.
- V-Model: Represents a development process that may be considered as an extension of the waterfall model and demonstrates the relationships between each phase of the development life cycle and its associated phase of testing.
- CSS Modules: CSS files where all class & animation names are scoped locally by default.
- GraphQL: A query language for APIs created by Facebook and a server-side runtime for executing queries by using a type system you define for your data. It isn’t tied to any specific database/storage engine and is instead backed by your existing code and data.
- Ionic Framework: A complete open-source SDK, built on top of AngularJS & Apache Cordova, that provides tools and services for hybrid mobile app development using web technologies like CSS, HTML5, and Sass.
- Cordova: Allows developers to develop mobile apps on different platforms by embedding a browser in a mobile application (the app is essentially a mini browser, which shows a single portal – your app).
- Docker: An open-source program that enables a Linux app and its dependencies to be packaged as a container. Container-based virtualization isolates apps from each other on a shared OS. This approach standardizes application program delivery, allowing apps to run in any Linux environment.
- Lambda: Enables developers to treat functionality as a method argument, or code as data and express instances of single-method interfaces (referred to as functional interfaces) more compactly.
- Kotlin: A statically typed programming language for the JVM, Android and the browser that is fully interoperable with Java. Being around for 5 years, it finally reached its production-ready version 1.0 in 2016.
- Azure: Microsoft’s public cloud computing platform that provides a range of cloud services, including those for compute, analytics, storage and networking.
- ASP.NET Core: A new cross-platform framework for building modern cloud-based internet connected applications, such as web apps, IoT apps & mobile backends. ASP.NET Core is open source on GitHub.
- .Net Core: A general purpose development platform maintained by Microsoft and the .NET community on GitHub that differs by being cross-platform, supporting Windows, macOS & Linux, and can be used in device, cloud, and embedded/IoT scenarios.
- Accord.NET Framework: Provides machine learning, mathematics, statistics, computer vision, computer audition, and several scientific computing related methods and techniques to .NET.
- Autofac: An addictive Inversion of Control container for .NET Core, ASP.NET Core, .NET 4.5.1+, Universal Windows apps, and more.
- F# 4.0: A strongly-typed, functional-first programming language for writing simple code to solve complex problems, aimed to reduce the time-to-deployment for analytical software components in the modern enterprise.
- Xamarin: Offers a single language – C#, class library, and runtime that works across all 3 mobile platforms of iOS, Android & Windows Phone, while still compiling native apps which are performant enough even for demanding games.
- Roslyn (.NET Compiler Platform): Provides open-source C# and Visual Basic compilers with rich code analysis APIs, allows to build code analysis tools with the same APIs that Microsoft is using to implement Visual Studio.
- Swift 3.0: Swift is a high-performance system programming language which has a clean and modern syntax, offers seamless access to existing C and Objective-C code & frameworks, and is memory safe by default. Swift 3.0 is its major release that isn’t source-compatible with Swift 2.2 & 2.3.
- Clean Architecture (VIPER): Divides an app’s logical structure into distinct layers of responsibility, thereby making it easier to isolate dependencies (e.g. your database) and test the interactions at the boundaries between layers. VIPER is an application of Clean Architecture to iOS apps.
- Reactive code: Programming with asynchronous data streams.
- Stack Views: A powerful tool for quickly and easily designing your user interfaces.
- iOS 10 Speech Recognition API: Allows to perform rapid and contextually informed speech recognition in both file-based and real time scenarios.
- Memory Graph Debugger: A memory analysis tool which enables you to find memory leaks, retain cycles and so on.
- 3D Touch (introduced in iOS 9): Senses how deeply users press the display, letting them do the things they do most often, faster and in fewer steps as well as preview all kinds of content and even act on it without having to actually open it.
- Metal: A new low-level 3D graphics API for rendering and computing.
- Alamofire 3.0: The latest major release of Alamofire, an HTTP networking library for iOS, Mac OS X & watchOS written in Swift. Contains several breaking API changes to the foundational classes supporting the response serialization system.
- V-Model: A project management model, graphical representation of the systems development lifecycle that summarizes the main steps to be taken in conjunction with the corresponding deliverables within the computerized system validation framework.
- gtest: Google testing framework.
- Android N: The latest release of Android that allows multitasking and has been available as a beta version for developers since March 2016.
- Android Studio 2.2: Provides the fastest tools for building apps on every type of Android device, especially world-class code editing, debugging, performance tooling, a flexible build system, and an instant build/deploy system.
- Android Wear: A version of Google’s Android operating system designed for smartwatches & other wearables.
- PHP 5.6: PHP 5.X series implements Zend Engine II, which has improved the functionality of the initial engines, has added an extensible object model and a significant performance enhancement to the language.
- PHP 7: It’s still in the development phase, the final version will be released in November under the code name of PHP#NG (Next Generation). But the feature-complete beta of the new PHP 7 is already available. Among the advantages of the new PHPNG engine are: twice speed (your code will be executed faster but you will need fewer servers to serve the same amount of users); 64-bit Windows Systems Support; an opportunity to use anonymous classes, a well-established practice in other object-oriented languages like C# & Java.
- Symfony 3: PHP web app framework for MVC applications, released in May 2016. A new version is published every 6 months, and there is a 2 months period to upgrade. The minimum PHP version required for Symfony 3.0 is PHP 5.5.
- Laravel 5: A free, open source software framework for the PHP programming language. The main features of its major new version Laravel 5, released in Feb 2015, include support for scheduling periodically executed tasks through a package called Scheduler, an abstraction layer called Flysystem that allows remote storage to be used in the same way as local file systems, improved handling of package assets through Elixir, and simplified externally handled authentication through the optional Socialite package.
- Elixir: A dynamic, functional language, designed for building scalable & maintainable apps. Leverages the Erlang VM, known for running low-latency, distributed and fault-tolerant systems, while also being successfully used in web development and the embedded software domain.
- Phoenix: A framework written in Elixir for developing compilers as well as program analysis, testing and optimization tools, to be used as the back-end for future compiler technologies from Microsoft. It’s also available as an SDK.
- Crystal: An object-oriented programming language that is aimed at the Ruby community, with a syntax that is similar to and, at times, identical to Ruby’s. It is expected to bring C-like performance into the highly abstracted world of web developers.
- Watir: An open-source (BSD) family of Ruby libraries for automating web browsers which allows you to write tests, easy to read and maintain. Supports your app no matter what technology it is developed in.
Akka HTTP: An Actor-based toolkit for interacting with web services and clients.
Colossus: A lightweight framework for building high-performance apps in Scala that require non-blocking network I/O.
Finch: A thin layer of purely functional basic blocks atop of Finagle for building composable HTTP APIs. Aims to provide the developers with simple and robust HTTP primitives being as close as possible to the bare metal Finagle API.
Finatra 2.4.0: A lightweight framework for building fast, testable, scala applications on top of TwitterServer & Finagle.
Play 2.5.0: An open source web app framework, written in Scala and also usable from e.g. Java, which follows the model-view-controller architectural pattern and aims to optimize developer productivity by using convention over configuration, hot code reloading and display of errors in the browser. Play 2.5.0 was released in March 2016.
Http4s: A typeful, purely functional HTTP library for client and server apps written in Scala.
Lift 3.0-RC1: A free and open-source web framework that is designed for the Scala programming language.
SBT 0.13.12: An open source build tool for Scala and Java projects (similar to Java’s Maven or Ant), that is used by the Lift & Play frameworks. Released in July 2016.
- Python 3.5: Released in Sep 2015 with such major enhancements as: coroutines with async and await syntax, @-operator for matrix multiplication, additional unpacking generalizations, type hints, directory iteration function.
- Python 3.6: Currently, only Beta versions are available, the final release is expected in Dec 2016.
- BeeWare: A collection of open source projects for developing, debugging and launching Python software that will allow you to run a code, once written with Python, on several platforms (Linux, OS X, Windows, Android, iOS & web).
- Microservices: A particular way of designing software apps as suites of independently deployable services. This architectural method is considered ideal when you have to enable support for a range of platforms and devices – spanning web, mobile, IoT & wearables.
- TensorFlow: An open source highly scalable machine learning library built by Google.
- Theano: Python framework for fast computation of mathematical expressions.
- Jupyter (IPython): A set of tools for scientific computing, which combines code execution with the creation of the document in real time. These files may contain custom text, mathematical formulas, graphics, video and any other things that a modern web browser can display.
- Pyston: Dropbox-sponsored initiative to create a high-performance, JIT-compiling Python runtime. The goal of the project is to produce a high-performance Python implementation.
- Valgrind: A suite of debugging and profiling tools for Linux that can automatically detect memory management & threading bugs, and profile your programs in detail. The current stable version is Valgrind-3.11.0.
- gperf: A “perfect” hash function that, for a given set of user-provided strings, generates C/C++ code for a hash table, a hash function, and a lookup function.
- Visual Studio 15: A set of development tools based on the use of components and other technologies to build powerful, productive apps. In Oct 2016 Visual Studio “15” Preview 5.
- Cppcheck: A command-line tool, detecting bugs that your C/C++ compiler doesn’t see. Can check non-standard code including various compiler extensions, inline assembly code, etc.
- Clang: A compiler front-end for the programming languages C, C++, Objective-C, Objective-C++, OpenMP, OpenCL & CUDA, that uses LLVM as its back-end and has been part of the LLVM release cycle since LLVM 2.6.
- Contract programming (PwC): A software development method, using contracts to explicitly state and test design requirements. The contracts define the obligations and benefits of program elements such as subroutines and classes.
- Rust: A systems programming language sponsored by Mozilla that combines C-like efficiency and control over memory with functional language features such as strong static typing and type inference. Was crowned the “most loved” technology in StackOverflow’s 2016 developer survey.
- Behat: An open source behavior-driven development framework for PHP, which supports you in software delivery that matters through continuous communication, deliberate discovery & test-automation.
- Calabash: A free and open source cross-platform framework that enables to write and execute automated acceptance tests of Android & iOS native apps.
- Ranorex: Allows to automate web application testing (among other things) and both record user interactions and play them back to execute the tests.
- Telerik Test Studio: All in one testing software for functional, load, performance & mobile app testing.
- UFT (Unified Functional Testing): A single solution for testing GUIs, APIs and multi-layer apps. HP UFT software automates testing through an intuitive, visual user experience that ties manual, automated, and framework-based testing together in one integrated development environment.
- Jtest: An automated Java software testing and static analysis product.
- Robolectric: A library, allowing to run tests for Android apps on the local JVM (Java Virtual Machine).