Sunday, August 11, 2019

“Programming languages used by top unicorn startups like WeWork, Airbnb - Business Insider” plus 1 more

“Programming languages used by top unicorn startups like WeWork, Airbnb - Business Insider” plus 1 more


Programming languages used by top unicorn startups like WeWork, Airbnb - Business Insider

Posted: 13 Jul 2019 12:00 AM PDT

If you've ever wondered which languages that developers used to build multi-billion dollar startups like WeWork, Juul, Airbnb and SpaceX, look no further.

Coding Dojo, a coding bootcamp that trains developers and helps place them in programming roles, looked at full-time job postings from the job listing site Indeed and the developer tool website StackShare to see what languages the billion-dollar plus "unicorn" startups were using to build their technology.

One of the top languages Coding Dojo sees growing strong amid the unicorns is Python.

Donovan An, director of West Coast Campus Operations at Coding Dojo, says this is because Python is a general purpose language that can be used for games and web development. But what has really make it gain popularity over the past five years is the explosion of data science and machine learning in Silicon Valley.

He also sees many tech startups using Java and JavaScript, two of the most popular languages in the overall market. While Java is widely taught in computer science programs, JavaScript is ranked as the most popular programming language, but many college curriculums aren't teaching it.

"Java is the most ubiquitous language across these," An told Business Insider. "Chances are you'll be using Java. JavaScript which is the third language we can see, that's called the language of the web. As the web grows, JavaScript will grow."

Speaking of JavaScript, many JavaScript frameworks that are used to design how people interact with websites, like the Facebook-created React, are becoming popular. Frameworks provide special functionalities that help developers with building applications.

"With your new JavaScript libraries, it makes it more interactive," An said. "You don't want something that's overly static and dry and uninteractive. These frameworks like React and Angular allow you to have real time updates. All that happens real time thanks to these JavaScript libraries."

An also says he was surprised by the popularity of newer languages like Kotlin and Go. Kotlin is the fastest growing programming language according to GitHub, and it's most often used to develop Android apps. Go is a language that was developed by Google - an association that may have given it a leg up, An says.

Read more: Here's why companies like Google, Square, and Atlassian are sprinting to use Kotlin, the fastest-growing programming language according to GitHub

An said he didn't see any surprises in what databases these startups were using. The databases MongoDB, MySQL, PostgreSQL, and Redis were especially popular.

Overall, An says companies aren't looking for developers who know one specific language.

"It's important for these engineers to have a wide tool set," An said. "What these companies are looking for in terms of is not a developer who knows Java or Golang or Kotlin. They are looking for developers who are self-sufficient and critical thinkers, not married to one language. They are looking for someone who can come in and problem solve."

Here are the technologies that top startups are using to build their systems, according to Coding Dojo data:

Machine Learning Expert - EU-Startups

Posted: 07 Aug 2019 03:13 AM PDT

ABOUT TRIBE

We believe in a future where we will live and work hand in hand with intelligent machines. To this end, machines will need to learn to communicate like humans do.

At Tribe, we bring conversational A.I. to life by giving it a human face. Why? Because the most natural interface is a face.

Interacting face-to-face lets you gaze into each other's eyes, smile or keep a straight face, and react to that naturally. We have created a technology that can spark the human element in any application, from A.I.-powered customer support bots over virtual store assistants to the next generation of in-game characters.

Our two co-founders Kevin and Julian have more than 15 years of experience in mathematical research, technology start-ups and top-tier consulting.

We are small, high performing team of eight located in Berlin, Germany, are funded for the next 18-24 months and are now looking to grow our team and scale our customer base. For this, we are looking for exceptional individuals who share our passion and want to join us on our exciting journey.

THE OPPORTUNITY

We are looking for an experienced machine learning expert to take on a leading role and help developing the core technology of our business – giving a face for A.I. Reporting to Chief Technical Officer (CTO), your primary tasks will be:

  • Assert that all production tasks are working properly in terms of actual execution and scheduling
  • Abuse machine learning libraries to their extremes, often adding new functionalities
  • Ensure that data science code is maintainable, scalable and debuggable
  • Automate and abstract away different repeatable routines that are present in most machine learning tasks
  • Bring the best software development practices to the data science team and helps them speed up their work
  • Choose best operational architecture together with devops team
  • Look constantly for performance improvement and decides which ML technologies will be used in production environment

You will also be required to provide input and interact with the frontend, backend, devops, QA, security and business stakeholders.

We encourage an open feedback culture in which all team members share and discuss feedback continuously. In addition, personal development goals for each team member will be defined jointly and reviewed regularly. For you, personal development goals will be defined and reviewed informally with the CTO on a monthly basis. Performance will be reviewed more formally on a quarterly basis by the CTO in conjunction with Board Members as is appropriate.

REQUIREMENTS

The following skills and experiences are fundamental to the job:

  • Computer science fundamentals and programming: This includes data structures (stacks, queues, multi-dimensional arrays, trees, graphs, etc.), algorithms (searching, sorting, optimization, dynamic programming, etc.), computability and complexity (P vs. NP, NP-complete problems, big-O notation, approximate algorithms, etc.), and computer architecture (memory, cache, bandwidth, deadlocks, distributed processing, etc.). You must be able to apply, implement, adapt or address them (as appropriate) when programming. Practice problems, coding competitions and hackathons are a great way to hone your skills.
  • Probability and statistics: Ability of formal characterization of probability (conditional probability, Bayes rule, likelihood, independence, etc.) and techniques derived from it (Bayes Nets, Markov Decision Processes, Hidden Markov Models, etc.). Profound skills in the field of statistics, such as application of various measures (mean, median, variance, etc.), distributions (uniform, normal, binomial, Poisson, etc.) and analysis methods (ANOVA, hypothesis testing, etc.).
  • Data modelling and evaluation: You must explore and design the process of estimating the underlying structure of a given dataset, with the goal of finding useful patterns (correlations, clusters, eigenvectors, etc.) and/or predicting properties of previously unseen instances (classification, regression, anomaly detection, etc.), continually evaluate how good a given model is, choose an appropriate accuracy/error measure (e.g. log-loss for classification, sum-of-squared-errors for regression, etc.) and evaluation strategy (training-testing split, sequential vs. randomized cross-validation, etc.), in addition, a deep understanding of measures to utilize resulting errors to tweak the models (e.g. backpropagation for neural networks) is a must
  • Applying machine learning algorithms and libraries: You will make use of standard implementations of machine learning algorithms extended through libraries/packages/APIs (e.g. scikit-learn, Theano, Spark MLlib, H2O, TensorFlow etc.) and applying them effectively choosing a suitable model (decision tree, nearest neighbor, neural net, support vector machine, ensemble of multiple models, etc.), a learning procedure to fit the data (linear regression, gradient descent, genetic algorithms, bagging, boosting, and other model-specific methods), understanding how hyperparameters affect learning is a plus. You also need to be aware of the relative advantages and disadvantages of different approaches, and the numerous gotchas that can trip you (bias and variance, overfitting and underfitting, missing data, data leakage, etc.).
  • Software engineering and system design: Your typical output or deliverable is software (or a small component that fits into a larger ecosystem of products and services). You need to understand how these different pieces work together, communicate with them (using library calls, REST APIs, database queries, etc.) and build appropriate interfaces for your component that others will depend on. Careful system design may be necessary to avoid bottlenecks and let your algorithms scale well with increasing volumes of data. Software engineering best practices (including requirements analysis, system design, modularity, version control, testing, documentation, etc.) are invaluable for productivity, collaboration, quality and maintainability and you have at least basic knowledge of these principles.

BENEFITS

  • Competitive salary
  • Possibility of stock options (ESOP)
  • Working with a stellar team with 15+ years' experience in university research, tech start-ups and top-tier consulting
  • Flexible working patterns
  • 25 days holiday
  • Subsidised healthcare protection
  • Free Urban Sports Club membership

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.