Subscribe

Openings For Senior Developers

Update 18 Feb 2009: we have an additional requirement for a platform developer, see the announcement

We have some openings for Senior Developers at Talis in the Platform development group. Talis is a mature and solid business based in the UK and provides a unique mix of loyal customers, amazing innovation and a focus on the long term.

Our platform development group is responsible for making sure that the Talis Platform is the premier environment for developing and delivering great Semantic Web applications. We need your help in designing and building our infrastructure to support hundreds of thousands of users and their data. We’re looking for people who:

  • use their code to communicate their ideas clearly
  • are proficient in Java and comfortable in Python, PHP and other scripting languages
  • can break dependencies and decompose hard problems into simpler ones
  • never forget about scalability, performance and security
  • prefer to develop test first
  • have spent time modelling data in RDF
  • can develop solutions to problems, communicate them to the team and get them implemented quickly
  • aren’t afraid to ask questions
  • have implemented HTTP clients and servers
  • like to say “let’s try it” and “we can do that”
  • understand how to balance perfection with reality
  • are as happy to lead as to follow
  • know when to reuse and when to start afresh
  • can tell us about something new they learned this year

How to apply:

Take a look at the problems below and select two to answer. Please send us your C.V and an application
letter including your answers to careers@talis.com

  • The Web can be modelled as a network of nodes labelled with URLs and connected by directed arcs.
    Suppose we want to find all the URLs linked to and from any given URL, and all the URLs that are
    linked from any two given URLs. What kind of data structures might be suitable for representing and
    querying a network with 10^8 nodes each having between 10 and 50 arcs?
  • Discuss the different types of automated testing that are needed to maintain high quality software.
    What kinds of programming language are best suited to each type of testing? What techniques could be
    used for testing asynchronous processes and for processes that operate over large volumes of data? Are
    there any situations that you wouldn’t test?
  • Large-scale systems composed of many cooperating application servers often need to share and cache
    configuration. Suppose any server can initiate changes that need to be reflected in real time to the other
    application servers in the cluster. What strategies could you use for coordinating this kind of behaviour
    and how are they tolerant to various failure conditions?

A New Blog is Born

Welcome to our n² community blog, the new kid in the Talis blog family. It’s a group blog written by developers and researchers at Talis and as such we’ll be addressing much more technical content than our sister blog Nodalities. You can expect to see code here, lots of it in all flavours. We plan to feature projects and hacks written by n² community members plus share some of our ideas for applications we’d like to see. This is where we’ll also announce new releases of the Platform, preview some of the new features that are coming up in future releases and share some of our research.

It’s not all about us though. Tell us about what you’re up to and if we like it we’ll feature it here. We also plan to cover technical discussions of HTTP, RDF, URIs, OWL and the rest of the Semantic Web technology gang along with their friends Microformats, Atom and JSON. Of course we’ll also include pointers and commentary to anything else that catches our eye on the Web.

As I’m sure some you will have guessed n² refers to Metcalfe’s law which relates the value of a network to the number of potential connections. On one level this refers to the power of the Semantic Web, characterised by the huge number of possible connections between things (see Jim Hendler and Jennifer Golbeck’s fascinating discussion of this).

However, it also applies on a more human level: connections between the people that make up our developer community. We think the number of possibilities for learning, discovery and, ultimately, success depends on the number of people that actively participate in the community. When there are two participants there’s only one way to collaborate. Add one more person and you now have three times the number of possible ways. Add another and you have six times, plus four additional three-way collaborations and a possible four-way collaboration for a total of eleven possibilities. Double the number of participants to eight and you get a total of 247 possibilities for collaboration including 70 different ways for four people to get together and create something great!

So the goal of this blog, our wiki, our mailing list and our IRC channel is to connect our community together, to stir up the possibilities and to give everyone the best possible chance of putting a dent in the Universe.