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 Senior Software Engineer will have technical expertise, the desire to deliver work of the highest quality consistently, and a pragmatic approach to complex problems. The ideal candidate will be customer facing, agile, have experience in requirements gathering and technical story writing and some experience as a team lead would be advantageous. 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. Senior Software Engineers are proactive problem solvers, able to make informed decisions under pressure and revel in working at the cutting edge of software implementation.
The Senior Software Engineer responsibilities include:
● Advising customers on determining requirements
● Writing use cases and validating acceptance criteria
● Documenting work on projects with conviction
● Highlight risks, assumptions and technical debt in a professional manner
● Creating clean self-documenting code
● Having experience with software development tools:
○ Version/source control, e.g. git or svn
○ Build services, e.g Jenkins or Bamboo
○ Issue tracking, e.g. Jira
● Having experience with agile methodology:
○ Continuous delivery
○ Ideally scrum master experience
● Leading a technical team and owning technical decision making responsibilities in line with BDP best practice and agreed wider programme of work
● Knowing their way around Unix based operating systems, e.g. Linux, OS X
The Senior 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 small 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 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, Senior 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, Senior 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 Senior Consultant and Senior 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
● 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 considered:
- Have at least 5 years of demonstrable experience writing Java and/or Scala in a professional environment
- 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
- Have worked with at least one distributed system
- Have experience working with business stakeholders
- Have experience with one or more scripting language like Python
- Demonstrable experience with one or more Big Data technologies, e.g. Spark, Hive, Pig, Storm, HDFS, Map Reduce, 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
- A computer science degree or equivalent professional experience
- Experience facing business stakeholders or consultancy experience
- 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 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 prioritize 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 optimization of Big Data systems to improve performance, and training to increase organizational adoption.