think-cell

think-cell

Berlin, DE

Software tester

Do you have an eye for detail, a high level of motivation, and a precise, systematic approach to work? If so, we would like to meet you.

Do you want to combine university and work? Are you doing your PhD? Do you have a family? Or are you simply looking for a part-time job? Do not hesitate to apply.

  • Fluent in English, German is a plus
  • Attentive and detail-oriented
  • Precise, systematic approach to work
  • Highly self-motivated
  • All fields of study welcome
  • Highly flexible working hours (plus option to work full-time or part-time – min 32 hours per week)
  • Opportunity to improve our software by giving direct feedback to our developer team
  • Responsibility to work on support issues from beginning to end
  • Direct contact with our global customer base
  • Very competitive salary

About our testing department

think-cell provides graphics software that performs most of the painstaking work of creating data-driven slides for professional Excel and PowerPoint users. As part of our technical support team, the testing department checks for usability and understandability of new features. It is up to the testing department to find out if features are available for all use cases.

Since think-cell is seamlessly integrated into Microsoft PowerPoint and Excel, we have to pay close attention to think-cell’s compatibility with the supported Microsoft Office products and Microsoft Operating Systems, and their respective updates. It is up to the testing department to review those updates, install and test them in detail. As a software tester at think-cell, you will work on products that over 800,000 professionals world-wide rely on.

About this job

Every time an error occurs within our software, regardless of whether you, a customer or a colleague found it, we require a detailed and reliable reproduction of the error to fully understand, and subsequently resolve, the problem. You will be responsible for delivering the details that make it possible for us to reproduce the problem with ease on another computer.

Our testing department also writes error reports in our internal system that document the error and everything related to it. After the error has been resolved by our developers, it is up to you to check if the problem has really disappeared. You will also be responsible for documenting the knowledge that you have gained in this process in our internal Knowledge Base.

think-cell is constantly being developed, and you get to take care of the proper functioning of all new features. This includes not only checking for faults but also for logical consistency, and intelligibility of our products. Every time we issue a new think-cell version, which we regularly do, it is up to you to perform a final release test.

As you cannot constantly test every single feature of think-cell, we have developed automatic test routines. It will be an important part of your job to develop, advance and maintain these automatic tests. As we need to know whether think-cell works with tablets, PCs, docking stations, smart phones etc., you will often get to test new hardware, too.

As our testers independently structure their work, we are looking for applicants with a high level of self-motivation. Some experience with Microsoft Office, particularly with PowerPoint and Excel, are a plus. We will be happy to teach you the rest. This position requires that you are fluent in both written and spoken English. Our testing department is still growing. This allows you to influence and build up your own working environment.

We offer flexible, family-friendly working hours and a permanent job with competitive pay.


About think-cell

About us think-cell is a fast-paced software company in Berlin, Germany, with a focus on developing graphics products that stand out from the crowd. More than 750,000 users world-wide rely on our software for their daily business as it makes creating graphical presentations so much easier, faster and more enjoyable. Among our customers are many renowned consulting companies and large international corporations. We do not have to make compromises with regard to code quality and beauty, because think-cell is profitable and has no outside investors. We are willing to go the extra mile of developing sophisticated algorithms and refining our user interface, and we are proud of our many happy customers. The fact that the company is owned and managed by seasoned computer scientists certainly contributes to a working environment that makes exceptional developers come and stay. About our software Our focus is on business slides (as opposed to more artful applications) because they offer great potential for automation of layout tasks that are traditionally performed by PowerPoint users themselves. Challenges are plenty: from a solid understanding of what makes a good layout and which guidelines are followed by humans who do manual layout, to algorithms that produce an acceptable output fast enough for interactive slide design, to a graphical user interface that supports our new, original approach to slide layout in a way that is easy to understand yet unobtrusive, to solid technical solutions for automatic bug reporting and automatic updates, to compatibility with third-party software on the computers of half a million users. Here are some highlights of what we have done. LanguageEverything we do is C++. Even our customer portal is written in C++. There is some Assembler glue code where it is necessary, and our build scripts are written in Python, but other than that think-cell is all about C++. Naturally, we use C++11 features like lambdas and rvalue references throughout our codebase, and have switched to C++17 where our compilers support it. We fund the working group for programming languages of the German Institute for Standardization (DIN). Some of our employees are members of this committee and vote in the international standardization process of ISO/IEC C++. We sponsor the Standard C++ Foundation helping them to promote the understanding and use of modern Standard C++ on all compilers and platforms.LibraryWe use Boost throughout our code, e.g., Boost.Spirit for parsing. We have our own range library, in the same spirit as Boost.Range or Eric Niebler’s range-v3, but going further, for example, by unifying internal and external iteration. We gave a talk about it, and most of the code is public. We develop our own cross-platform library to support Mac and Windows with a single code base. We have our own reference-counting and persistence libraries to save and restore whole object trees. We have an extensive bug reporting infrastructure. Assertions and error checks stay in the release code, and our software automatically reports bugs to our server. The server analyzes the bug, categorizes it and files it in a database that all developers can access. If an update fixes the bug, the user can download the update directly from a bug response web page.Algorithmsthink-cell was founded on the idea for an algorithm for automatic slide layout, and we are still on an exciting journey towards that ambitious vision. You can see our most recent release in action! We developed a new algorithm for automatic point cloud labeling that allows labels to be positioned away from the actual points. We developed a new algorithm for automatic column chart labeling. We are working with John Forrest – author of the linear solver CLP – to make his simplex code faster on our kind of problems. We developed many generic data structures that are not in C++ or Boost, for example partitions. Our software not only produces charts, it is also able read them back from paper. For our chart recognition tool, we rely on OpenCV and the Leptonica Image Processing Library.Reverse EngineeringWe do lots of reverse engineering with the disassembler IDA from Hex-Rays, in order to achieve things that are not possible via the documented Microsoft Office API. We wrote probably the best function hooking engine out there. On each start of our software, we patch the Microsoft Office executables in memory. Rather than hard-coding patch addresses, we search for small chunks of assembly code to be robust against minor changes in the executables.