from Quora:
What are the programming languages and frameworks the top NYC startups are using?
In
a conversation with the NYCEDC and ITAC, I learned that no one has a
sense of what are the predominant languages and frameworks that people
are using.
If you are with a startup or company that has more than 1M pageviews a month and is based in NYC (or the boroughs), can you give a sense of the skills/experience you are looking for? This will help people understand what skills we need to grow….
Companies like:
If you are with a startup or company that has more than 1M pageviews a month and is based in NYC (or the boroughs), can you give a sense of the skills/experience you are looking for? This will help people understand what skills we need to grow….
Companies like:
- Tumblr
- OMGPOP
- Kickstarter
- Makerbot
- AppNexus
- Aviary
- the Fridge
- ideeli
- Daylife
- HowAboutWe
- Thrillist
- Gawker
- Artsy
- Sailthru
- 20x200
- fanfeedr
- SolveMedia
- Social Flow
- HuffingtonPost
- AppFund
- betaworks
- Work Market
- Chartbeat
- Producteev
- Voxy
- Food52
- infokent
- forumidea
Jason Pearlman, CTO @ OMGPOP
Here at OMGPOP:
Language - Ruby, AS3, Erlang, C/C++/Objective C, Javascript
XMPP - ejabberd, openfire
Web Frameworks: Rack, Merb, Sinatra, Express
Database - MySQL, Redis, Memcache, Vertica
App Server - Thin, node.js
Proxy Layer - Nginx + HAProxy
Hosting - Amazon EC2 / Softlayer / Managed Colo
Queuing - Redis/Resque
JS Library - jQuery / underscore
Monitoring - New Relic, Nagios, Munin, Flume, Custom
Testing - rspec, selenium
Etc - jira, git, svn, puppet, capistrano
Language - Ruby, AS3, Erlang, C/C++/Objective C, Javascript
XMPP - ejabberd, openfire
Web Frameworks: Rack, Merb, Sinatra, Express
Database - MySQL, Redis, Memcache, Vertica
App Server - Thin, node.js
Proxy Layer - Nginx + HAProxy
Hosting - Amazon EC2 / Softlayer / Managed Colo
Queuing - Redis/Resque
JS Library - jQuery / underscore
Monitoring - New Relic, Nagios, Munin, Flume, Custom
Testing - rspec, selenium
Etc - jira, git, svn, puppet, capistrano
Languages:
Python, some C, and a little bit of TCL (yes, really)
Web Framework: Tornado
Reverse Proxy: nginx
Redirect App Server: AOLserver
Databases: MySQL, Tokyo Cabinet, and MongoDB
Volatile Data Stores: Memcache, MemoryFly (internal)
Hosting: NTT and EC2
Queueing - simplequeue (https://github.com/bitly /simpleh...)
JS Library: jQuery
Python, some C, and a little bit of TCL (yes, really)
Web Framework: Tornado
Reverse Proxy: nginx
Redirect App Server: AOLserver
Databases: MySQL, Tokyo Cabinet, and MongoDB
Volatile Data Stores: Memcache, MemoryFly (internal)
Hosting: NTT and EC2
Queueing - simplequeue (https://github.com/bitly
JS Library: jQuery
Michael Lysaght, VP Engineering, SecondMarket
At SecondMarket we use:
- Language - Java
- Web Framework - SpringMVC
- Databases - MongoDB & Postgres
- App Server - Jetty
- Proxy Layer - ELB & HAProxy
- Hosting - Amazon EC2
- Email - SendGrid
- Queuing - ActiveMQ
- JS Library - jQuery
- API interface - Rest/JSON
- Etc - Bamboo, Puppet, SVN, JIRA
- QE tools - (ruby, watir, webdriver, selenium)
Harry Heymann, engineering lead @ foursquare.com
foursquare:
- Language - Scala
- Web Framework - Lift
- Database - MongoDB
- App Server - Jetty
- Proxy Layer - nginx + HAProxy
- Hosting - Amazon EC2
- Search - Solr
- Email - SendGrid
- Queuing - Kestrel
- JS Library - jQuery
- Etc - FogBugz, Git, CIJoe, ReviewBoard
GroupMe uses the following:
Languages: Ruby, Javascript
Web Frameworks: Rails, Sinatra, node.js
Database: Postgres, Redis
Frontend: Sass, Haml, jQuery
Services: Twilio, Heroku
Tools: RSpec, Git, Github, Pivotal Tracker
Languages: Ruby, Javascript
Web Frameworks: Rails, Sinatra, node.js
Database: Postgres, Redis
Frontend: Sass, Haml, jQuery
Services: Twilio, Heroku
Tools: RSpec, Git, Github, Pivotal Tracker
Jose Diaz-Gonzalez, Developer at SeatGeek
We use a wide variety of tools and software at SeatGeek:
- Hosting: Combination of EC2, S3, Route53, and CloudFront.
- Deployment: set of Capistrano application deploy tasks and an internal set of Chef Cookbooks for deploying new instances and services.
- Languages: Python, PHP, and Ruby - Stata and R used internally for data analysis.
- Databases: MySQL for mission critical data, MongoDB for some caching and analytics, Redis for queuing, ElasticSearch for our API and search
- Cache: APC for server cache, with Redis doing double-duty for generated, larger cached data.
- Monitoring: Cacti - we are moving away from this - Graphite+In-house version of StatsD in Ruby, Get Exceptional, Pingdom. Diamond and graphite-pager for monitoring/alerting.
- Servers: Unicorn+Thin for Ruby, Nginx for everything else; HAProxy sits in front of everything. Web.py for older Python services, but more and more favoring building services in Tornado. We've mostly deprecated Ruby services in favor of lighter and faster Tornado ones. Our api has Varnish sitting in front of a crap-ton of tornado processes, which seems to work well on our current load.
Frameworks: Django 1.2, jQuery
Web Servers: Cherokee, Nginx
Data: Postgres 8.4
Hosting: Amazon EC2, Linode
Caching: memcached
Queuing: Celery/RabbitMQ
Web Services: Sailthru, KISSmetrics, Twillio, Recurly, Discus, Google Analytics, Facebook
Tools: SVN, Unfuddle, Pivotal Tracker, Basecamp, Google Docs/Apps
Mobile: Objective-C, HTML5/CSS3
Web Servers: Cherokee, Nginx
Data: Postgres 8.4
Hosting: Amazon EC2, Linode
Caching: memcached
Queuing: Celery/RabbitMQ
Web Services: Sailthru, KISSmetrics, Twillio, Recurly, Discus, Google Analytics, Facebook
Tools: SVN, Unfuddle, Pivotal Tracker, Basecamp, Google Docs/Apps
Mobile: Objective-C, HTML5/CSS3
Benny Wong, former Gilt City lead engineer
Chartbeat (http://chartbeat.com)
Languages: Python, C++, Javascript
Frameworks: Tornado (Python), django, Google Closure Tools
Webserver: nginx
Infrastructure/deployment : puppet, fabric
Database: MongoDB, MySQL
Email: Sailthru
Monitoring: nagios, ganglia, chartbeat :), munin
Hosting: AWS
Queueing: RabbitMQ, Gearman
Versioning: GitHub, https://github.com/chartb eat/labs
Etc: fogbugz, reviewboard
Languages: Python, C++, Javascript
Frameworks: Tornado (Python), django, Google Closure Tools
Webserver: nginx
Infrastructure/deployment
Database: MongoDB, MySQL
Email: Sailthru
Monitoring: nagios, ganglia, chartbeat :), munin
Hosting: AWS
Queueing: RabbitMQ, Gearman
Versioning: GitHub, https://github.com/chartb
Etc: fogbugz, reviewboard
Adam Mayer, Makerbot Industries
One of these things is not like the others, but since we're on the list:
Firmware: C++
User-facing software: Java
Gcode generation and general glue: Python
Also: git, hudson.
Skills to grow: grow generalists. Frameworks can have short lifespans. Every sufficiently complex app becomes its own framework anyway. Create good learners.
Firmware: C++
User-facing software: Java
Gcode generation and general glue: Python
Also: git, hudson.
Skills to grow: grow generalists. Frameworks can have short lifespans. Every sufficiently complex app becomes its own framework anyway. Create good learners.
Piictu.com backend:
- Languages: Ruby / Clojure
- Frameworks: Ruby on Rails / Noir
- Data: MongoDB, Redis
- Hosting: Heroku
- Queuing: Resque
- Monitoring: NewRelic, Airbrake
- Services: Amazon S3 / CloudFront, Seachify, Twilio, MixPanel
- Test: RSpec, Cucumber
- Other: Github, Jenkins
Art.sy
Stack: Ruby on Rails, MongoDB, Backbone.js, JQuery
Tools: Git, Pivotal Tracker, GitHub, CI Joe, RSpec, Steak (BDD), Jasmine (BDD for JS)
Stack: Ruby on Rails, MongoDB, Backbone.js, JQuery
Tools: Git, Pivotal Tracker, GitHub, CI Joe, RSpec, Steak (BDD), Jasmine (BDD for JS)
Rick Mangi, Technology Director, MTV Networks
Mostly Java and PHP here on the backend. We
have several hundred websites, some are legacy dynamo jhtml and others
are running spring/grails/mongo and just about everything else. On the
front end javascript/css are clearly required and many groups have
standardized on jquery. We're experimenting with HTML5 but still rely
heavily on flash/flex.
To me, the bottom line for developers looking to expand their skills is this: Don't worry about the "in" tool of the moment. We look for developers who have solid core skills as software engineers (or front end chops). Focus on the skills that matter the most to developers - software engineering best practices, unix, sql, solid debugging skills and a passion for what you do. The rest can be learned.
To me, the bottom line for developers looking to expand their skills is this: Don't worry about the "in" tool of the moment. We look for developers who have solid core skills as software engineers (or front end chops). Focus on the skills that matter the most to developers - software engineering best practices, unix, sql, solid debugging skills and a passion for what you do. The rest can be learned.
Jonathan Vingiano, Creative Technologist
At Hyperpublic (hyperpublic.com) we use:
Languages: Ruby, Javascript
Web Frameworks: Rails, Sinatra to come
Database: Postgres, MongoDB
Frontend Frameworks: SCSS, jQuery
Tools: RSpec, Git, Github, Pivotal, Heroku
Languages: Ruby, Javascript
Web Frameworks: Rails, Sinatra to come
Database: Postgres, MongoDB
Frontend Frameworks: SCSS, jQuery
Tools: RSpec, Git, Github, Pivotal, Heroku
Ty Ahmad-Taylor, CEO at FanFeedr
FanFeedr (http://FanFeedr.com) uses the following:
Languages: Python, Java, Erlang, Objective-C, Javascript
Frameworks: Pylons
Tools: JIRA,SVN
Database: Postgres
Search: SOLR
Servers: apache, rabbitmq
Evolving to:
Languages: Python, Java, Erlang, Objective-C, Javascript
Frameworks: Pylons, JQuery/Backbone
Tools: JIRA, Puppet, mercurial, Bamboo, Thrift
Database: Postgres, Hadoop/HBase, CouchDB
Search: ElasticSearch
Servers: nginx, rabbitmq,
Languages: Python, Java, Erlang, Objective-C, Javascript
Frameworks: Pylons
Tools: JIRA,SVN
Database: Postgres
Search: SOLR
Servers: apache, rabbitmq
Evolving to:
Languages: Python, Java, Erlang, Objective-C, Javascript
Frameworks: Pylons, JQuery/Backbone
Tools: JIRA, Puppet, mercurial, Bamboo, Thrift
Database: Postgres, Hadoop/HBase, CouchDB
Search: ElasticSearch
Servers: nginx, rabbitmq,
Daylife: Primarily Python/Django, Javascript/JQuery, and
some Java/Tomcat.
some Java/Tomcat.
Saverio Mondelli, Engineer
At fav.tv we're using:
Languages: Javascript, PHP
Frameworks: EightPHP (https://github.com/enorm ego/Eigh...) - Branch of Kohana
Data Stores: MySQL, MongoDB
Frontend Frameworks/Technology: LESS CSS, jQuery, jQuery UI
Languages: Javascript, PHP
Frameworks: EightPHP (https://github.com/enorm
Data Stores: MySQL, MongoDB
Frontend Frameworks/Technology: LESS CSS, jQuery, jQuery UI
Jonathan George, CEO @ Boxcar
Over at Boxcar:
Data stores: Redis, MySQL
Languages: Ruby, Objective-C, Java, Javascript, HTML
Frameworks/libs: Ruby on Rails, EventMachine, jquery
Tools: git, xcode
Email: sendgrid
Data stores: Redis, MySQL
Languages: Ruby, Objective-C, Java, Javascript, HTML
Frameworks/libs: Ruby on Rails, EventMachine, jquery
Tools: git, xcode
Email: sendgrid
At Sailthru, we are using:
- Languages: PHP, Java, JavaScript, and some R, Python
- Web Framework: Custom
- Databases: MongoDB
- Web Server: Apache with Pound Load Balancer and HAProxy
- Queuing - ActiveMQ
- JS Libraries - jQuery, Ace, TinyMCE
- API interface - Rest/JSON (XML also available but not recommended)
- Hosting - Amazon EC2 (east and west coast) + colocated servers
- Monitoring: Cacti, Graphite
- Etc - Github, Lighthouse, Scribe for log collection
I
ran a program for startup CTOs in NY in the fall. When we asked for
people to name their stack, out of about 100 people present, it was
fairly even split between Java, Rails, .NET, Python/Django, PHP, and
others (Grails, Scala, etc). Some C++ as well for specialized
applications. So I think it's a mix - each startup decides for
themselves, but just like you'd expect, all the popular languages
/frameworks are being used.
For us, EnergyScoreCards: We are not 1M pageviews, but we are B2B and highly specialized market, so pageviews is not a metric we care about.
Stack: Grails / Groovy, MySQL, Tomcat, JVM
RIA Library - JQuery, ZK, YUI (phasing out)
Bug Tracking: JIRA, CI - Hudson / Jenkins
For us, EnergyScoreCards: We are not 1M pageviews, but we are B2B and highly specialized market, so pageviews is not a metric we care about.
Stack: Grails / Groovy, MySQL, Tomcat, JVM
RIA Library - JQuery, ZK, YUI (phasing out)
Bug Tracking: JIRA, CI - Hudson / Jenkins
Jeff Weisberg, CTO @ Solve
Fridge (frid.ge) uses:
jQuery, PHP, Doctrine, MySql running on nginx, PHP-FPM, DotCloud on EC2. Misc services: SendGrid, mixpanel, GA
jQuery, PHP, Doctrine, MySql running on nginx, PHP-FPM, DotCloud on EC2. Misc services: SendGrid, mixpanel, GA
Vivek Krishna, startuper @ General Sentiment Inc
- FrontEnd: Java, Struts
- BackEnd: Java, Python, Perl, C++, Apache Hadoop, Apache Cassandra, Memcached, Apache Flume, Apache Lucene.
- (Experimenting with Scala recently)
Jay Janarthanan, Microsoft Stack Guru
Backend : C# (LINQ, Task Parallel Library)
Development Tools: Visual Studio, ReShaper, ANTS
Profiler, NDepend, , FinalBuilder
Front End : Java Script (Node.js, now.js, knockoutjs.com, ExtJS,
JQuery )
Reporting and BI: Tabule Software, Excel (Real Time Push,
C# Macros, DB Integration), MS Light Switch
Database: Db40 and MS SQL Server
Middleware: WPF REST, Thrift, Web Sockets, Commet
I stay away from : Silverlight, WPF, SQL Server
reporting, ASP.NET.
Backend : C# (LINQ, Task Parallel Library)
Development Tools: Visual Studio, ReShaper, ANTS
Profiler, NDepend, , FinalBuilder
Front End : Java Script (Node.js, now.js, knockoutjs.com, ExtJS,
JQuery )
Reporting and BI: Tabule Software, Excel (Real Time Push,
C# Macros, DB Integration), MS Light Switch
Database: Db40 and MS SQL Server
Middleware: WPF REST, Thrift, Web Sockets, Commet
I stay away from : Silverlight, WPF, SQL Server
reporting, ASP.NET.
Architecture : Clean front and back end separation, All
REST server with NO html generation on the server side.
REST server with NO html generation on the server side.
SocialWorkout:
- Stack: jQuery-UI/jQuery, Grails/Groovy, GORM/Hibernate, MySQL, Linux
- Tools: Pivotal, SVN, gDocs
Squidoo.com (http://quantcast.com/squ idoo.com):
- Language - PHP
- Web Framework - Custom
- Database - MySQL and Cassandra
- App Server - Apache and lighttpd
- Caching Proxy - Varnish
- Hosting - Peer1 Managed
- Search - Sphinx
- Email - SendGrid
- JS Library - jQuery
Obikosh is using this setup:
Languages: Ruby, JRuby, Scala
Frameworks: Rails 3, Pinky, SproutCore, JQuery
Tools: Pivotal Tracker, HipChat, Puppet, Git, GitHub, DeLonghi Espresso Machine
Databases: PostgreSQL 9.x, MongoDB
Search: Solr/Lucene
Sam Kaufman, Lead Developer, SocialFlow
SocialFlow:
A lot of perl in the back ( Catalyst web framework, DBIx::Class ORM )
A bunch of jQuery and Dojo in the front.
A lot of perl in the back ( Catalyst web framework, DBIx::Class ORM )
A bunch of jQuery and Dojo in the front.
Joseph Misiti, I love computer science
SocialQ's (www.socialq.com) tech stack consists of the following:
Web servers: Nginx/Gunicorn
Framework: Django
Queuing: Celery
Database(s): MongoDB/Redis
Hosting: EC2/S3
Javascript: Backbone.js/JQuery
Email: SendGrid
Data: R, Python, Hadoop, Mongo Map/Reduce
Dev Tools: Github, Asana, Campfire
Payments: Stripe
Web servers: Nginx/Gunicorn
Framework: Django
Queuing: Celery
Database(s): MongoDB/Redis
Hosting: EC2/S3
Javascript: Backbone.js/JQuery
Email: SendGrid
Data: R, Python, Hadoop, Mongo Map/Reduce
Dev Tools: Github, Asana, Campfire
Payments: Stripe
Adam Gotterer, VP of Engineering @ Lot18
Lot18 (http://www.lot18.com):
- Languages: Python, PHP, JavaScript
- Frameworks: Tornado (Python), custom MVC (PHP)
- Webserver: Apache and nginx
- Database: MySQL
- Email: Sailthru
- Monitoring: nagios, graphite, statsD, splunk, chartbeat, pingdom
- Hosting: AWS and Slicehost
- Etc: git, vagrant, chef, capistrano, RabbitMQ, jQuery
Dag Liodden, VP Engineering at Tapad
Tapad:
- Back-end - Scala, Akka++
- Front-end - Scala, custom framework built on Scalatra, Scalate, SCAML, Coffeescript and jQuery
- RDBMS - MySQL
- Analytics and DW - Vertica
- KV store -Citrusleaf
- Load balancing - nGinx and dedicated hardware
- Hosting - Hybrid bare metal and EC2
- JS Library - jQuery
- Dev tools - Github, Jira, Jenkins, SBT
Knewton:
Languages: Python, Javascript, R, Ruby (depricated), Small amounts of Java, C, Perl
Frameworks: Cherrypy, KOI, Rails (deprecated)
Webserver: Apache, nginx
Database: MySQL
Monitoring/Testing: Nagios, Browsermob, Saucelabs/Selenium
Hosting: AWS
Queuing: RabbitMQ
Our stack has evolved to be python for writing services, with a front end entirely in javascript. No html rendering middleware.
Languages: Python, Javascript, R, Ruby (depricated), Small amounts of Java, C, Perl
Frameworks: Cherrypy, KOI, Rails (deprecated)
Webserver: Apache, nginx
Database: MySQL
Monitoring/Testing: Nagios, Browsermob, Saucelabs/Selenium
Hosting: AWS
Queuing: RabbitMQ
Our stack has evolved to be python for writing services, with a front end entirely in javascript. No html rendering middleware.
BlogTalkRadio.com / Cinchcast.com is built on .NET. This might seem like an unusual language for a startup but it's actually very solid, scales easily:
- C#, IIS, MS SQL server
- Scaleout for caching and session state.
- Elastic Search for searching (built on top of lucene)
- Experimenting with REDIS right now
- Jira/SVN
- Load balancing through Coyotepoint
- AICACHE, Aptimize for optimization
Chris Sim, Head of tech @ bookish
bookish.com (coming soon) has a services based architecture built with:
Scala - Akka, Spray, Salat, Casbah, Scalate
Mongodb
Solr
Nginx
Javascript - Ember.js
AWS - incl. Elastic Cache, Elastic Beanstalk
JRuby (internal CMS)
Scala - Akka, Spray, Salat, Casbah, Scalate
Mongodb
Solr
Nginx
Javascript - Ember.js
AWS - incl. Elastic Cache, Elastic Beanstalk
JRuby (internal CMS)
Naveed Memon, CTO at Verge Systems, Founder at WebHR
No comments:
Post a Comment