Job DescriptionAt GeoSpock we’re developing a high performance spatial big data platform made up of data management, data connectivity and data exploration components. We are looking for engineers motivated to tackle big engineering challenges, as part of a committed and cross-functional development team. You will be developing a platform that operates at truly massive scales, enabling not only processing but also deep and responsive analytics of extreme scale datasets. We are building towards the industry’s emerging needs in ways that most other organisations can’t. You should have a positive and proactive attitude towards solving problems, and the drive to see your solutions through to the finish. You should be willing to work as part of a communicative team, frequently collaborating on solutions; be comfortable with taking the initiative on open-ended projects, producing solutions for the common good, and be willing to explore new grounds (which means working under some degree of uncertainty). Responsibilities Your primary activity will be designing, implementing and shipping code. Although you don’t have to be an expert in every area, we expect you to handle code with a very wide range of functionality including deployment scripting, security, big data processing, and build tools amongst others. It’s considered a central part of your role to handle challenging tasks where the solution is not clear, or where you personally are missing knowledge, understanding, or specialist skills. You will be expected to proactively do the work to gain the necessary skills, and find the non-obvious solutions. You will be expected to stay up to date with the latest technologies and developments in the industry, and to reasonably weigh the pros and cons of adopting new technologies in the codebase. You will be expected to adhere to industry best practices where possible, and proactively make suggestions on how to move closer to best practices where appropriate. You will be expected to architect and design the code you write, actively seeking and incorporating requirements from stakeholders. Constant, effective communication is an essential skill in this role. This covers a whole range of communication skills, from simply talking to other people, through to presenting in front of groups. You will be expected to take full responsibility for effectively managing your time. Typically you will have multiple tasks that you could work on at any time, with overlapping deadlines and dependencies. You must be able to allocate your time wisely, focus when necessary, and re-evaluate priorities frequently in order to deliver on your commitments. You will be expected to take an active role in the planning and management process, including: proposing and advocating new ideas, providing realistic estimates, evaluating the wider consequences of any work, and raising any concerns, helping to prioritise potential work with a full awareness of wider business goals. You will be expected to work constructively within the engineering team by helping other engineers whenever needed, particularly less experienced engineers, and particularly within your own team. Requirements Some general software development experience, demonstrating the ability to see projects through to completion. For more senior roles, we would expect to see at least some evidence of an ability to take the technical lead in feature development. Inevitably, most employees in this role have the equivalent of a bachelor's degree in computer science, electronic/software engineering, mathematics, or another science. However, we absolutely would consider anybody with the necessary work experience and interests, regardless of how they’ve learnt.