Hacker Newsnew | past | comments | ask | show | jobs | submit | lightsidelabs's commentslogin

Lead Software Developer

LightSide Labs - Pittsburgh, PA - www.lightsidelabs.com

We’re a small machine learning and educational technology company hiring our first Lead Software Developer to manage an existing development team. This role will be a management position to oversee our development process, supervise and support our developers in getting their work done, and define the architecture of our technology for supporting classrooms. You’ll be building a platform to be used in K-12 schools and universities nationwide, as well as directly integrating into 3rd-party software used by millions of students every year.

This role will lead a core team of experienced software developers in a close-knit, friendly work environment. We want someone who is experienced enough in both Python and Javascript to be opinionated about what good code looks like; someone who can spot a bad algorithm, data structure, or code pattern and quickly teach the developers how to do it better; and someone who can work with our product owners, business managers, and third-party customers to define our product roadmap and the path to each release. This role is being hired locally for our Pittsburgh office. Compensation and benefits will match market rates, dependent on experience.

----

Technical Responsibilities:

- Oversee product releases, agile sprints, and day-to-day deployment of all software development at the company, keeping track of progress of each member of the team without micromanaging.

- Directly contribute to software development initally, growing into a more purely managerial role over time as our team expands.

- Translate business requirements and product design plans into realistically scoped software development tasks, and maintain our team’s development process to deliver on those plans efficiently.

- Work with developers personally every day, on tasks from abstract architecture design to line-by-line code reviews, and find teaching opportunities to build skills.

- Ensure best practices for development are defined, and that team members are following through on them, from high-level product release reviews to commenting practices in individual files.

- Collaborate with technical and nontechnical coworkers in other groups, focusing on product, UX design, quality assurance, R&D, and business development.

- Keep management appropriately aware of development status at all times, including seeing potential problems before they happen and proposing solutions.

- Identify new technologies and platforms to improve our existing infrastructure, balancing new opportunities with stability and scheduling requirements.

- Recruit and evaluate new hires as we expand our technical staff over time.

----

Necessary Requirements:

- 5+ years experience in professional software development.

- Past management experience in a professional context.

- Excellent communication skills, from discussing high-level strategic plans with 3rd-party executives to training and on-boarding new developer hires.

- Deep knowledge of Javascript and Python in a web application context.

- Strong opinions about software development practices, including agile development, code reviews, teamwork, and task management.

- Strong opinions about scalability, code complexity, computational efficiency, and maintaining uptime in an online software application.

- Great interpersonal and management skills to maintain a positive and friendly development culture in the office.

- Excitement about building software in educational technology and using machine learning in applications that support students and teachers in schools.

----

Preferred Experience:

- Scientific Python using the Numpy/Scipy/Scikit-learn toolchain.

- Javascript application frameworks, especially AngularJS.

- Experience with cloud hosting services, especially Amazon Web Services.

- Machine learning and natural language processing experience or interest.

- Continuous integration, source code management, and automated testing tools.


How does this compare to other benchmarks? It looks like you're using the sentence-level dataset out of Cornell, based on your Github. Even a naive unigram baseline easily beats the 70% threshold you mentioned in your post. A few years ago, I co-authored [1] a publication with very similar graph-based features on this dataset that achieved 77% accuracy, and the state of the art has moved beyond that since then. Without a comparison to baseline it's hard to tell whether this (much more sophisticated) technique is adding value.

[1] Shilpa Arora, et al. "Sentiment classification using automatically extracted subgraph features." Proceedings of the NAACL HLT 2010 Workshop on Computational Approaches to Analysis and Generation of Emotion in Text.


The benchmarks really depend on the classifier used. The explanation in this blog post is more about the natural language parsing model. I thought that part up based on books I read from thought leaders (Gleick, Kurzweil, J. Hawkins). The value I'm hoping to provide is less in my own research and more on the use of a graph database. I'll leave the research part to fine people like you.

As for benchmarks, I've seen differences at different sample sizes during training. The model seems to do better with more training examples. Though that increases the number of features and the dimension of the vectors when calculating cosine similarity. I'm really hoping to attract more input like this as Graphify grows as an open source project. Please feel free to get in touch with me. Skype is kenny.bastani.

I'll post benchmarks in the next blog post.


Lead Software Developer

LightSide Labs - Pittsburgh, PA - www.lightsidelabs.com

----

We’re a small machine learning and educational technology company hiring our first Lead Software Developer to manage an existing development team. This role will be a management position to oversee our development process, supervise and support our developers in getting their work done, and define the architecture of our technology for supporting classrooms. You’ll be building a platform to be used in K-12 schools and universities nationwide, as well as directly integrating into 3rd-party software used by millions of students every year.

This role will lead a core team of experienced software developers in a close-knit, friendly work environment. We want someone who is experienced enough in both Python and Javascript to be opinionated about what good code looks like; someone who can spot a bad algorithm, data structure, or code pattern and quickly teach the developers how to do it better; and someone who can work with our product owners, business managers, and third-party customers to define our product roadmap and the path to each release.

This role is being hired locally for our Pittsburgh office. Compensation and benefits will match market rates, dependent on experience.

----

Technical Responsibilities:

- Oversee product releases, agile sprints, and day-to-day deployment of all software development at the company, keeping track of progress of each member of the team without micromanaging.

- Directly contribute to software development initally, growing into a more purely managerial role over time as our team expands.

- Translate business requirements and product design plans into realistically scoped software development tasks, and maintain our team’s development process to deliver on those plans efficiently.

- Work with developers personally every day, on tasks from abstract architecture design to line-by-line code reviews, and find teaching opportunities to build skills.

- Ensure best practices for development are defined, and that team members are following through on them, from high-level product release reviews to commenting practices in individual files.

- Collaborate with technical and nontechnical coworkers in other groups, focusing on product, UX design, quality assurance, R&D, and business development.

- Keep management appropriately aware of development status at all times, including seeing potential problems before they happen and proposing solutions.

- Identify new technologies and platforms to improve our existing infrastructure, balancing new opportunities with stability and scheduling requirements.

- Recruit and evaluate new hires as we expand our technical staff over time.

----

Necessary Requirements:

- 5+ years experience in professional software development.

- Past management experience in a professional context.

- Excellent communication skills, from discussing high-level strategic plans with 3rd-party executives to training and on-boarding new developer hires.

- Deep knowledge of Javascript and Python in a web application context.

- Strong opinions about software development practices, including agile development, code reviews, teamwork, and task management.

- Strong opinions about scalability, code complexity, computational efficiency, and maintaining uptime in an online software application.

- Great interpersonal and management skills to maintain a positive and friendly development culture in the office.

- Excitement about building software in educational technology and using machine learning in applications that support students and teachers in schools.

----

Preferred Experience:

- Scientific Python using the Numpy/Scipy/Scikit-learn toolchain.

- Javascript application frameworks, especially AngularJS.

- Experience with cloud hosting services, especially Amazon Web Services.

- Machine learning and natural language processing experience or interest.

- Continuous integration, source code management, and automated testing tools.


Not strictly as many features as you can - there are many ways that you can add huge numbers of highly correlated and redundant features that limit the effectiveness of both the classifier as well as selection or regularization methods.

A simple example of this is in natural language processing. Adding dependency or phrase structure parse features to an n-gram bag-of-words model might result in an order of magnitude increase in the number of dimensions in your feature space, and ends up harming classification accuracy, even with tightly controlled and elegant feature selection methods.


Frontend Software Developer - LightSide Labs - Pittsburgh PA

www.lightsidelabs.com

LightSide is an educational technology company focused on improving student writing. We're doing great things in PA and NY with our pilot school districts, showing how you can use machine learning and natural language processing to help give automated tutoring support outside of standardized testing and high-stakes assessment.

We're currently a team of 11, mostly in Pittsburgh (with one remote employee), and our founders have a mixture of Ph.D. machine learning and entrepreneurial experience. We're well-funded and more-or-less bootstrapped, through grants from the Gates Foundation as well as a number of corporate and institutional customers.

We're hiring an experienced web developer for a full-time position building front-end applications powered by our machine learning backend. The platform will aim to help teachers assess student work, such as essays or journals, and improve student writing through feedback during the revision and editing process.

You’ll be working primarily in AngularJS on a rich single-page application. Our web services are built in Python using the Django framework, and our backend is powered by state-of-the-art machine learning implemented in Java. Your primary responsibilities will focus on frontend development, but you’ll occasionally dive into our Python web services and collaborate on defining our user workflows including UX and visual design. There'll be many opportunities to learn a lot about NLP, AI, and machine learning, if you're interested.

We prefer an on-site employee at our office in Pittsburgh, PA, but can make exceptions for awesome people. Compensation is competitive and based on experience.


Some cities are really nice places to live with unique resources of their own. In Pittsburgh, for instance, there are fewer interesting software jobs but a beautiful city with a lot of exciting non-technical things going on, a healthy ecosystem around Carnegie Mellon, and very nice 1-BR apartments in the best, most central and walkable parts of town for $800/month. Not everything needs to circulate around the moonshot opportunities of the VC ecosystem.


LightSide - Pittsburgh - Full-Time Frontend Developer

We're hiring an experienced web developer for a full-time position building rich frontend applications, powered by our machine learning backend. The platform will aim to help teachers assess student work, such as essays or journals, and improve student writing through feedback during the revision and editing process.

Our web services are built in Python using the Django framework, and our backend is powered by state-of-the-art machine learning implemented in Java. Our team has a strong technical background and a history of work in education. In this position, you’ll be implementing a rich web application using client-side frontend frameworks. Your role will be to bridge the gap between our RESTful API for writing assessment and our wireframed user workflows for student and teacher access to these tools.

This job will be highly collaborative in an early-stage, self-funded and profitable startup. Your primary responsibilities will focus on frontend development, but you’ll occasionally dive into our Python web services and collaborate on defining our user workflows including UX and visual design. Dependent on interest and experience, you may be asked to contribute to the Java machine learning software that powers our platform.

No experience with machine learning or natural language processing is necessary or expected, but you need to be eager and interested in finding out how those tools work and how they can help students and teachers. You’ll be working under the guidance of experienced researchers from Carnegie Mellon’s Language Technologies Institute and Human-Computer Interaction Institute.

We prefer an on-site employee at our office in Pittsburgh, PA, but may make exceptions for an outstanding candidate. Compensation will be competitive and based on experience.

Skills and Requirements

Ideal candidates will have an active interest in educational technology, are interested in using machine learning for real-world benefit, and have prior experience including the following:

* Rich web application development using JavaScript frameworks like Angular, Ember, or Backbone.

* Web layout and implementation of frontend page design using HTML and CSS.

* Designing and working with RESTful APIs providing complex functionality to frontend applications.

* Agile development on a small, dynamic team.

You might also bring other wonderful things to the table, such as:

* Experience with deployment and continuous integration on Amazon Web Services or another cloud host.

* Live support and operations management for large-scale customer-facing web services.

* Development experience for web MVC frameworks, especially using Python with Django.

* A background in educational technology or enthusiasm about helping people improve their writing.

* Prior real-world experience with machine learning applications.


First, let me say that this is really creative work and I'm glad it's being presented at EMNLP.

"Sentiment analysis" is too broad of a category to really cover in a single article like this. What they've done is taken a very difficult problem, sentence-level binary sentiment, and made solid progress on it. The baseline for this dataset using totally naive techniques is around 75%, and their results are the state of the art.

The move from 85% to 95% isn't really an interesting one. What really matters is exploring the numerous other open questions in the field of affect recognition, notably two thing:

* Sentiment at different granularities. Document level analysis has been far above 90% for years; this work is pushing forward sentence level. Other work is making great progress on targeted opinions even finer-grained than that, like looking at specific attributes of products. What if you like a movie's acting but not its plot? This structured nuance is not addressed here.

* Domain adaptation. You talk about movies in a different way from almost anything else. A movie review is positive if it's unpredictable; your opinion of the unpredictability of dishwashers or political candidates is probably different. For anything beyond movie reviews this method may work, but this particular dataset certainly won't.

Looking forward to seeing more from this group, as ever; Chris Manning's research team has an excellent reputation in the field.


One trouble is that the "idea" you've just communicated isn't actually the idea behind linear regression. The idea behind regression is this.

You're trying to make a prediction for some number you care about - let's say the value of a given stock price. You've come up with a set of hypotheses about which characteristics might help you make that prediction. Moreover, you have a set of examples that you've witnessed in the past, and you want to learn from that experience.

Using linear regression, you can test those hypotheses. You turn those characteristic features into a quantifiable number themselves. Linear regression is simply the name we give to the process of testing whether there's any validity to your hypothesis. If that hypothesis is true and you've discovered what makes the stock go up, then the corresponding feature will be given a high absolute coefficient. You'll also know whether it's an indicator of the stock going up or down, based on the sign of that coefficient. There's no math involved - you're testing your own intuition about how to make predictions.

The idea behind linear regression isn't "finding a line that fits a scatter plot." That's still math and it's still unhelpful to many people with serious, real-world applications. It's just an abstraction of the math that happens to leave out the formal representation.

To really communicate ideas in application, you need to move past the math entirely, and get to how it ties into people's judgments about data that they know well and have experience with, and show them that the intuition they can bring to the table is valuable (for feature determination). Otherwise, even scatter plots will often shut people out, because they "aren't good at math."


LightSide - Pittsburgh, PA

JOB TITLE: Software Developer – Educational Technology

LightSide is hiring an experienced Java developer for a full-time position working on our machine learning tools for educational technology that improves student writing. This position will be extending and improving an existing backend system, thinking critically about performance optimization, concurrency, and security issues, as well as adding new features and functionality on a regular basis.

This job will be highly collaborative, working with our team of machine learning researchers, frontend developers, and a user experience designer. Our web services are built in Python using the Django framework; while your primary responsibilities won’t focus on this code, you may find yourself on forays into it on occasion.

No experience with machine learning or natural language processing is necessary or expected, but you need to be eager and interested in finding out how those tools work under the guidance of experienced researchers from Carnegie Mellon’s Language Technologies Institute.

This employee will work out of our office in Pittsburgh, PA, and compensation will be competitive and based on experience.

Skills and Requirements

Ideal candidates will have an active interest in educational technology, are interested in using machine learning for real-world benefit, and have prior experience with: * Java backend development in live, large-scale customer-facing web services * Working with continuous integration on Amazon Web Services or another cloud host * Dealing with databases and storage, in the context of large volumes of large files * Concurrency wrangling, potentially with specialized JVM languages like Clojure * Agile development on a small, dynamic team.

About Us

LightSide (www.lightsidelabs.com) is developing state-of-the-art technology to support writing and education – including automated assessment, formative feedback, and revision assistance for student writers. We’re a spin-out from Carnegie Mellon University, and our founders have published more than 30 papers in the fields of natural language processing, machine learning, and computer-supported collaborative learning. Our office is located in the Shadyside neighborhood of Pittsburgh, Pennsylvania.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: