Hiring guide for TiddlyWiki Markup Language (TWML) Engineers

TiddlyWiki Markup Language (TWML) Developer Hiring Guide

The TiddlyWiki Markup Language (TWML) is a unique programming language used primarily in the TiddlyWiki non-linear personal web notebook. Developed by British software developer Jeremy Ruston in 2004, TWML allows users to create rich, interactive content through a simple and intuitive interface. This language uses a combination of HTML, CSS, and JavaScript to provide a versatile and flexible platform for developers. The TWML is open-source and can be found on platforms like GitHub for further exploration and contribution. It stands as an innovative tool in the realm of personal web-based knowledge management systems.

Ask the right questions secure the right TiddlyWiki Markup Language (TWML) talent among an increasingly shrinking pool of talent.

First 20 minutes

General TiddlyWiki Markup Language (TWML) app knowledge and experience

The first 20 minutes of the interview should seek to understand the candidate's general background in TiddlyWiki Markup Language (TWML) application development, including their experience with various programming languages, databases, and their approach to designing scalable and maintainable systems.

How would you define TiddlyWiki?
TiddlyWiki is a unique non-linear notebook for capturing, organizing and sharing complex information. It is a single HTML file that has all the characteristics of a wiki, including all of the content, the functionality (including editing, saving, tagging and searching) and the style sheet.
What are the key features of TiddlyWiki?
TiddlyWiki's key features include non-linear storylines, rich formatting, tagging, lists, filtering, permalinks, and more. It is highly customizable and can be used as a personal information manager, a notebook, a dynamic to-do list, and more.
Describe the difference between TiddlyWiki and traditional wikis.
Unlike traditional wikis, TiddlyWiki is a single HTML file that includes the content, the functionality, and the style sheet. This makes it portable and easy to use anywhere. It also uses a non-linear approach to organizing information, which is different from the hierarchical structure of most wikis.
How would you create a new tiddler in TiddlyWiki?
To create a new tiddler, you can click the '+ New Tiddler' button in the toolbar. Alternatively, you can create a link to a non-existent tiddler, and then click on that link to create the tiddler.
What are the ways to save changes in TiddlyWiki?
You can save changes in TiddlyWiki by clicking the 'Save changes' button in the toolbar. Alternatively, you can use the autosave feature, which automatically saves changes after a certain period of inactivity.
The hiring guide has been successfully sent to your email address.
Oops! Something went wrong while submitting the form.

What you’re looking for early on

Does the candidate possess a clear understanding of TiddlyWiki Markup Language (TWML)?
How does the candidate handle problem-solving tasks related to TWML?
Can the candidate demonstrate their ability to work collaboratively on TWML projects?
Has the candidate shown any innovative use of TWML in their past projects?

Next 20 minutes

Specific TiddlyWiki Markup Language (TWML) development questions

The next 20 minutes of the interview should focus on the candidate's expertise with specific backend frameworks, their understanding of RESTful APIs, and their experience in handling data storage and retrieval efficiently.

How would you apply a tag to a tiddler?
To apply a tag to a tiddler, you can enter the tag in the 'tags' field of the tiddler. You can also drag and drop a tag pill onto a tiddler to apply the tag.
Describe the difference between a tiddler and a shadow tiddler.
A tiddler is a basic unit of content in TiddlyWiki, while a shadow tiddler is a tiddler that is provided by a plugin or a theme. Shadow tiddlers can be overridden by regular tiddlers with the same title.
What are filters in TiddlyWiki and how do you use them?
Filters in TiddlyWiki are a way to select a subset of tiddlers based on certain criteria. They are used in various places such as lists, tables, and more. To use a filter, you can enter it in the 'filter' field of a list widget or a table widget.
How would you create a table in TiddlyWiki?
To create a table in TiddlyWiki, you can use the table widget. You would need to specify the columns and the rows, and optionally the headers. You can also use the table markup syntax to create a table.
Describe the difference between a widget and a macro in TiddlyWiki.
A widget in TiddlyWiki is a dynamic element that can interact with the user and update the display, while a macro is a reusable piece of content or functionality. Widgets are more powerful and flexible, but also more complex to use than macros.
The hiring guide has been successfully sent to your email address.
Oops! Something went wrong while submitting the form.

The ideal back-end app developer

What you’re looking to see on the TiddlyWiki Markup Language (TWML) engineer at this point.

At this point, a skilled TiddlyWiki Markup Language (TWML) engineer should demonstrate strong problem-solving abilities, proficiency in TiddlyWiki Markup Language (TWML) programming language, and knowledge of software development methodologies. Red flags include lack of hands-on experience, inability to articulate complex concepts, or unfamiliarity with standard coding practices.

Digging deeper

Code questions

These will help you see the candidate's real-world development capabilities with TiddlyWiki Markup Language (TWML).

What does this basic TWML code do?
<$button message='tm-edit-tiddler' param='MyTiddler'>Edit MyTiddler
This code creates a button that, when clicked, opens the tiddler 'MyTiddler' in edit mode.
What will be the output of this TWML code?
<$list filter='[tag[Task]is[open]]'>
<$checkbox field='status' tag='$:/tags/Checkbox' />
This code will output a list of checkboxes for each tiddler tagged as 'Task' and is open. The status of each task can be toggled by checking or unchecking its corresponding checkbox.
What does this TWML code do in terms of array or collection manipulation?
<$list filter='[tag[Task]sort[title]]'>
{{!!title}}
This code filters all tiddlers with the tag 'Task' and sorts them by their title. It then displays the title of each tiddler in the sorted list.
What does this TWML code do in terms of threading or concurrency?
<$button>
<$action-sendmessage $message='tm-save-all' />
Save All
This code creates a button that, when clicked, sends a 'tm-save-all' message. This message triggers the saving of all tiddlers, which can be seen as a form of concurrency in TiddlyWiki, as multiple save operations can happen simultaneously.

Wrap-up questions

Final candidate for TiddlyWiki Markup Language (TWML) Developer role questions

The final few questions should evaluate the candidate's teamwork, communication, and problem-solving skills. Additionally, assess their knowledge of microservices architecture, serverless computing, and how they handle TiddlyWiki Markup Language (TWML) application deployments. Inquire about their experience in handling system failures and their approach to debugging and troubleshooting.

What is transclusion in TiddlyWiki and how do you use it?
Transclusion in TiddlyWiki is a way to include the content of one tiddler within another. To use transclusion, you can use the transclude widget or the transclusion syntax, which is `{{tiddler title}}`.
How would you create a custom theme for TiddlyWiki?
To create a custom theme for TiddlyWiki, you can create a new tiddler with the tag `$:/tags/Stylesheet`. Then you can add your custom CSS rules to this tiddler. To use the theme, you can select it in the 'Theme' dropdown in the sidebar.
What are plugins in TiddlyWiki and how do you use them?
Plugins in TiddlyWiki are packages of tiddlers that add new features or modify existing ones. To use a plugin, you can import it into your TiddlyWiki. Once a plugin is installed, its features become available for use.

TiddlyWiki Markup Language (TWML) application related

Product Perfect's TiddlyWiki Markup Language (TWML) development capabilities

Beyond hiring for your TiddlyWiki Markup Language (TWML) engineering team, you may be in the market for additional help. Product Perfect provides seasoned expertise in TiddlyWiki Markup Language (TWML) projects, and can engage in multiple capacities.