Think Big provides expert advisory and implementation services for open source big data solutions. As the first and only pure-play big data services firm, our Data Scientists and Engineers are trusted advisors to the world's most innovative companies. Our experienced teams combine a distinctive methodology and a proven Think Big Velocity Framework that includes tested design patterns and pre-built components, to help clients build applications faster. Think Big helps Customers leverage big data analytics by integrating open source platforms, such as Hadoop, NoSQL and streaming engines, with best-of-breed data warehousing environments. Service offers include: a big data roadmap, data engineering, data lake and analytic operations, training and ongoing big data solution support.
The Principal Software Engineer will have deep technical expertise, the desire to deliver work of the highest quality consistently, and a pragmatic approach to complex problems. The ideal candidate will customer facing, agile, have experience in requirements gathering and technical story writing and experience as a technical or team lead. You will have the skills required to make technical decisions which positively impact the whole team's velocity and the quality of the final product. Principal Software Engineers are proactive problem solvers, able to make informed decisions under pressure and revel in working at the cutting edge of software implementation.Main Responsibilities
The Principal Software Engineer responsibilities include, but are not limited to:
-Providing technical and managerial leadership to a world class engineering team that designs and develops path-breaking large scale cluster data processing systems.
-Collaborate with Sales and Services Directors to develop new business and manage existing client relationships.
-Mentoring sophisticated organisations on large scale data and analytics and work with client teams to deliver high quality results efficiently.
-As a senior member of the consulting team, you will help Think Big establish thought leadership in the Big Data space by contributing white papers, technical commentary and representing our company at industry conferences.
-Mentoring junior members on the team in application architecture, design and development best practices.
-Support and manage internal asset development projects.
The Principal Software Engineer will contribute to developing the software that will influence how our customers transform their data using innovative cutting edge solutions. Successful candidates will join a cross-functional agile team, targeting fast, feature rich development, on our best-of-breed big data platforms, e.g. leveraging Hadoop, Spark, Elasticsearch and Kafka to name only a few technologies.
Think Big’s engineering teams are made up of very experienced individuals who are highly motivated, well organised and eager to tackle new problems and push forward with cutting edge technology. Think Big are looking for talented people who are passionate about writing high-quality software and building repeatable approaches to common problems. The successful candidate will be enthusiastic about innovating, testing and maintaining robust, scalable, production grade systems within a wide range of business verticals.
Most importantly, Principal Software Engineers need to love working in a mixed team, learning from and teaching others within their department. In an environment where technology is rapidly evolving and every customer faces new challenges, Principal Software Engineers must possess the ability to collaborate with a team of colleagues and customer staff on a regular basis. The ability to deal professionally with different stakeholders, internal and external is essential.
The ideal candidate would be someone who strives for excellence in everything they do; someone who knows how to get things done and does not dwell on inconsequential details.
As a Principal Consultant and Principal Software Engineer in Big Data, candidates will be expected to contribute and/or facilitate the following within an agile team:
With the stakeholders:
Translate functional requirements into code
Highlight risks and assumptions
Communicate in a clear, polite and concise fashion
Size and estimate workloads in an informed and reliable fashion
Anticipate problems and devise suitable solutions
Ensure your code is:
Tested thoroughly as a driver of implementation
Robust and able to handle an exception
Efficient; covering common patterns and data structures
Readable and coherent
Attend training, e.g. to learn about the latest technology
Share knowledge, e.g. to give internal talks or write blog posts
Contribute strategically, e.g. to build internal tools
Attend customer side engagements and travel when necessary
Required Knowledge, Skills, and Abilities
The following are a list of relevant skills expected from a successful candidate. Other relevant skills are also considered:
-Have at least 7 years of demonstrable experience writing Java and/or Scala in a professional environment
-Prior consulting experience with a focus on managing strategic client relationships
-Have demonstrable experience of contributing to the release life cycle of production ready solutions
-Write software using TDD and BDD test approach
-Be passionate about good engineering principles and write good, clean code
-Have demonstrable experience with core principles such as dependency management, design patterns, sorting algorithms, complexity estimation & persistence layers
-Have demonstrable experience with simple design patterns and OOP
-Have demonstrable experience with Concurrency and Parallelism
-Have demonstrable experience with Asynchronous and Synchronous design implementations
-Clear understanding of multithreaded design patterns
-Demonstrate understanding of implications of JVM garbage collector algorithms
-Have experience writing user stories & acceptance criteria
-Demonstrable experience with build automation and relevant tools like maven
-Demonstrable experience with one or more Big Data technologies, e.g. Spark, Hive, Pig, Storm, HDFS, MapReduce, Zookeeper, Kafka, ...
-Demonstrable experience with one or more NoSQL technologies, e.g. Cassandra, HBase
-Demonstrable experience with one or more Search technologies, e.g. Elasticsearch, Lucene, Solr
-Demonstrable experience with one or more Hadoop distributions, e.g. Hortonworks, MapR, Cloudera, ...
-Demonstrable experience with automated deployment and relevant tools like Puppet, Ansible, Chef, Salt
Education and Experience
Bachelor's/Master’s Degree or foreign equivalent in Computer Science or related technical field followed by 9 years of progressively responsible professional programming experience.
Experience with production software development lifecycle. Experience with Linux, SQL, relational database design and methods for efficiently retrieving data.
Experience building complex and non-interactive systems (batch, distributed, etc.).
We offer a great package: competitive salary, discretionary bonus scheme (paid monthly), 24 days holiday, private medical healthcare, Nuffield health assessment, life insurance, matched pension contribution (up to 6%) and income protection. In addition to this, we also offer a variety of flexible benefits.
Think Big offices are based in the News UK building in London Bridge. However, we are often required to spend time with our Customers on-site. This allows us to collaborate, align and integrate with our Customers and their teams. Working with Customers outside of London can necessitate overnight stays and you will be required to participate in travel-based work as a Think Big team member.
Not your average place to work: inspiring and passionate people; a dynamic, relaxed and collaborative culture. A chance for you to join a rapidly expanding organisation with ambitious growth targets, where you can make your mark and shape the future.
About Think Big
Think Big, provides data science and engineering services that enable organizations to accelerate their return on investment from big data. These business-driven solutions include analytics in areas such as manufacturing device events, omni-channel consumer behaviour, and customer service behaviour, as well as governed data lakes that provide business value. As the first and only pure-play big data services firm, our Data Scientists, Data Engineers, and Project Managers have deep expertise in helping the world’s most innovative companies strategize, architect, implement, analyse data on, and manage open source big data solutions.
Think Big helps Customers leverage big data analytics by integrating open source platforms, such as Hadoop, NoSQL and streaming engines, with best-of-breed data warehousing environments. Because we embrace a range of vendor-neutral options, we can recommend the best combination based on specific business needs. We don’t get paid or incentivised to sell software or hardware, so we can put aside vendor noise to implement the most flexible, reliable big data solutions that quickly increase revenue, operational efficiency and customer satisfaction.
What do we do?
Big Data Strategy: Roadmaps that prioritise the possible to create more value, and much sooner than you expect.
Data Engineering: Solution design and delivery aligned to core business objectives.
Analytics and Data Science: Deeper questions and new approaches to solve existing problems and seize new opportunities.
Managed Services and Training: Management and optimisation of Big Data systems to improve performance, and training to increase organisational adoption.