What you need to know as a programmer

  • Cloud computing
    • Amazon Web Services offers reliable, scalable, and inexpensive cloud computing services.
    • Microsoft Azure is an open, flexible, enterprise-grade cloud computing platform.
  • Databases
    • NoSQL
      • Apache Cassandra database is the right choice when you need scalability and high availability without compromising performance.
      • Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.
      • MongoDB
      • Redis
      • Riak
    • Microsoft SQL Server
    • MySQL
    • Oracle RDBMS
    • PostgreSQL
    • SQLite
  • E-commerce
    • A/B testing
    • ATG Web Commerce is an eCommerce technology platform offering from Oracle.
    • hybris delivers the top-rated E-Commerce software and Omni-channel solution to help enterprises across the globe innovate faster and sell more.
  • Formats
    • CSS is a simple mechanism for adding style (e.g., fonts, colors, spacing) to Web documents.
      • Less extends CSS with dynamic behavior such as variables, mixins, operations and functions.
      • PostCSS is a tool to transform styles with JS plugins.
      • Sass is the most mature, stable, and powerful professional grade CSS extension language in the world.
        • SCSS
      • Stylus is a dynamic stylesheet language that is compiled into Cascading Style Sheets (CSS).
    • HTML
    • JSON (JavaScript Object Notation) is a lightweight data-interchange format.
    • XML is a markup language that defines a set of rules for encoding documents in a format which is both human-readable and machine-readable.
      • XHTML is part of the family of XML markup languages.
      • XSLT is a language for transforming XML documents into other XML documents, or other formats such as HTML for web pages, plain text or into XSL Formatting Objects, which may subsequently be converted to other formats, such as PDF, PostScript and PNG.
    • YAML is a human-readable data serialization format that takes concepts from programming languages such as C, Perl, and Python, and ideas from XML and the data format of electronic mail.
  • Operating systems
    • Linux
      • Debian is an operating system and a distribution of Free Software.
      • KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V).
    • Windows
      • Active Directory
      • Hyper-V
  • Programming languages
    • bash is a Unix shell and command language
    • C#
      • ADO.NET Entity Framework (EF)
      • ASP.NET MVC
      • ASP.NET SignalR is a new library for ASP.NET developers that makes developing real-time web functionality easy.
      • Autofac is an addictive Inversion of Control container for .NET 4.5, Silverlight 5, Windows Store apps, and Windows Phone 8 apps.
      • MSTest is a command line utility from Microsoft that executes unit tests created in Visual Studio 2005, 2008, 2010 and is still available for backwards compatibility with older versions in Visual Studio 2012 and 2013.
      • Windows Communication Foundation (WCF)
      • Windows Forms
      • Windows Presentation Foundation (WPF)
    • С++
      • boost Provides a repository for free peer-reviewed portable C++ source libraries. The emphasis is on libraries which work well with the C++ standard library.
      • STL
      • Qt Create connected devices, UIs and applications that run anywhere on any device, on any operating system at any time.
      • Win32 API
    • CoffeeScript is a little language that compiles into JavaScript.
    • Erlang Build massively scalable soft real-time systems
    • Go
    • Groovy is a powerful, optionally typed and dynamic language, with static-typing and static compilation capabilities, for the Java platform.
      • Grails Web application framework, Groovy version of Ruby on Rails, to use in Java development.
    • Java
      • Akka is a toolkit and runtime for building highly concurrent, distributed, and resilient message-driven applications on the JVM.
      • Android
        • Android Studio IDE
        • Android SDK tools
      • Apache Ant is a Java library and command-line tool whose mission is to drive processes described in build files as targets and extension points dependent upon each other.
      • Apache Hadoop
        • Apache Hive is a data warehouse infrastructure built on top of Hadoop for providing data summarization, query, and analysis.
        • Apache Pig is a high-level platform for creating MapReduce programs used with Hadoop.
      • Eclipse is probably best known as a Java IDE, but it is more: it is an IDE framework, a tools framework, an open source project, a community, an eco-system, and a foundation.
      • Hibernate an open source Java persistence framework project.
      • Gradle Emerge from Build Hell today through Gradle, the Modern Open Source Polyglot Enterprise Build Automation System.
      • Jackson is a suite of data-processing tools for Java (and JVM platform)
      • Java EE
        • GlassFish Server Open-source application server and official reference implementation for Servlets 3.0.
        • Java Message Service (JMS) API is a messaging standard that allows application components based on the Java Platform Enterprise Edition (Java EE) to create, send, receive, and read messages.
        • JavaServer Pages (JSP) technology provides a simplified, fast way to create dynamic web content. 
        • Servlets are the Java platform technology of choice for extending and enhancing Web servers.
      • Java SE
      • Jenkins CI is the leading open-source continuous integration server. Built with Java, it provides 985 plugins to support building and testing virtually any project.
      • Maven Apache build manager for Java projects
      • Netty is an asynchronous event-driven network application framework 
      • for rapid development of maintainable high performance protocol servers & clients. 
      • Spring helps development teams everywhere build simple, portable, fast and flexible JVM-based systems and applications.
        • Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform.
        • Spring Security is a framework that focuses on providing both authentication and authorization to Java applications.
    • JavaScript
      • AJAX
      • AngularJS
        • Karma Spectacular Test Runner for Javascript
        • Protractor is an end-to-end test framework for AngularJS applications.
      • Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface.
        • Marionette simplifies your Backbone application code with robust views and architecture solutions.
      • Bootstrap is the most popular HTML, CSS, and JS framework for developing responsive, mobile first projects on the web.
      • Browserify lets you require('modules') in the browser by bundling up all of your dependencies.
      • D3 is a JavaScript library for visualizing data with HTML, SVG, and CSS.
      • Dojo A Toolkit by the Dojo Foundation featuring DHTML and AJAX functions.
      • ECMAScript 6
      • Ember.js is an open-source JavaScript application framework, based on the model-view-controller (MVC) pattern.
      • JSCS is a code style linter for programmatically enforcing your style guide.
      • JSHint Helps to detect errors and potential problems in code.
      • jQuery
      • Knockout.js Simplify dynamic JavaScript UIs with the Model-View-View Model (MVVM)
      • Node.js Event-driven I/O server-side JavaScript environment based on V8.
        • npm stands for Node Package manager, and is the default package manager for the JavaScript runtime environment Node.js.
          • Bower Web sites are made of lots of things — frameworks, libraries, assets, and utilities.
        • nvm Simple bash script to manage multiple active node.js versions
        • NW.js lets you call all Node.js modules directly from DOM and enables a new way of writing applications with all Web technologies.
        • Socket.IO Aims to make realtime apps possible in every browser and mobile device, blurring the differences between the different transport mechanisms.
      • Nunjucks A rich and powerful templating language for JavaScript
      • React A JavaScript library for building user interfaces.
      • RequireJS is a JavaScript file and module loader. It is optimized for in-browser use, but it can be used in other JavaScript environments, like Rhino and Node.
      • Sencha Ext JS is the most comprehensive MVC/MVVM JavaScript framework for building feature-rich cross-platform web applications targeting desktops, tablets, and smartphones.
      • SPA
      • Task Runners
      • Underscore is a JavaScript library that provides a whole mess of useful functional programming helpers without extending any built-in objects. 
    • Objective-C
    • Perl
    • PHP
      • CodeIgniter is a powerful PHP framework with a very small footprint, built for developers who need a simple and elegant toolkit to create full-featured web applications.
      • Laravel The PHP Framework For Web Artisans
      • Phalcon High Performance PHP Framework
      • Symfony
      • Yii
      • WordPress is web software you can use to create a beautiful website, blog, or app.
      • Zend Framework 2 is an open source framework for developing web applications and services using PHP 5.3+.
    • Python
      • behave is behaviour-driven development, Python style.
      • Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.
      • unittest
    • Ruby
      • Capistrano A remote server automation and deployment tool written in Ruby. Capistrano is written in Ruby, but it can easily be used to deploy any language.
      • Cucumber lets software development teams describe how software should behave in plain text.
      • JRuby is a high performance, stable, fully threaded Java implementation of the Ruby programming language.
      • minitest provides a complete suite of testing facilities supporting TDD, BDD, mocking, and benchmarking.
      • Resque is a Redis-backed Ruby library for creating background jobs, placing them on multiple queues, and processing them later.
      • RSpec Provides a behaviour driven development framework for the language, allowing to write application scenarios and test them.
      • Ruby Grape An opinionated micro-framework for creating REST-like APIs in Ruby.
      • Ruby on Rails is an open-source web framework.
        • Action Pack is a framework for handling and responding to web requests.
        • Active Admin is a Ruby on Rails plugin for generating administration style interfaces.
        • Active Record is the M in MVC - the model - which is the layer of the system responsible for representing business data and logic.
      • unicorn is an HTTP server for Rack applications designed to only serve fast clients on low-latency, high-bandwidth connections and take advantage of features in Unix/Unix-like kernels.
    • Scala
      • Unfiltered is a toolkit for servicing HTTP requests in Scala.
    • SQL
      • PL/SQL is designed specifically for the seamless processing of SQL statements.
      • T-SQL
    • Swift
      • CocoaPods is the dependency manager for Swift and Objective-C Cocoa projects.
      • Xcode includes everything you need to create amazing apps for iPhone, iPad, Mac, and Apple Watch.
  • Protocols
  • Version control
    • Git
      • git-flow Git extensions to provide high-level repository operations for Vincent Driessen's branching model.
      • GitHub is a Web-based Git repository hosting service.
      • GitLab includes git repository management, code reviews, issue tracking, wikis and much more.
        • GitLab CI is a part of GitLab, a web application with an API that stores its state in a database. It manages projects/builds and provides a nice user interface, besides all the features of GitLab.
    • Mercurial is a free, distributed source control management tool.
    • Subversion

Вопросы:
  • Расскажите о своих достижениях в области разработки за последний год?
  • Какие значимые сложности в разработке вы преодолевали за последний год?
  • Какие вызовы в разработке и развитии проекта готовы преодолевать?
  • В чем является для вас ценность делать рискованный проект с рискованными людьми?

См. также: