They’ll be more likely to get out of autopilot and pay attention.
Contact Information
Make it as easy as possible for people to reach out. Add your email address, phone number, and/or any other easy direct channel.
It’s nice to have links to your Stack Overflow, GitHub, Blog, Website, etc. Even if they don’t open it, they’ll be aware you have those and that’s a plus.
Headline
Recruiters will see your headline while scrolling through hundreds/thousands of candidates. If your headline doesn’t include something in their list of keywords, you’ll be missed. You can be creative, but make sure to include a common keyword on your headline.
Common keywords: Developer / Full Stack Developer (Engineer) / Software Developer (Engineer)
Recruiters could potentially also be using the keyword “Senior”, so you might want to prefix your title with it in some cases.
About
Make it clear what you like to work with, what you want to work with, your overall experience, your biggest projects/accomplishments. Put the most essential information first so it doesn’t get hidden by the “read more” feature.
Featured
If you have any big projects, accomplishments, something that will catch others attention put it in here.
Experience
Make sure to include the programming languages / technology you worked with. You can also show numbers (e.g. my app had 1M users; it increased revenue in 50%; etc). You can describe what was your role on the things you worked on.
You can use fancy and different titles as long as you include the most used keywords in them as well (e.g. Creative person 123 | Full Stack Developer). Automated tools and sometimes people will not count your experience as something valid and you might not be included in lists and such.
Skills & Endorsements
Make sure your Top 3 are extremely relevant. For example, if you want to work as a Full Stack JavaScript developer you probably want to put your top 3 as JavaScript, React, Node.
Complete the list with other relevant skills.
Take the skill assessments to get a badge “proving” you know your stuff.
Recommendations
Ask your co-workers / friends for recommendations. Having 3 is enough as it is the limit shown on the main page.
Languages
Make sure you put the languages you can speak in there, you could easily be discarded for a position that requires you to speak in English if you don’t have it in there, even if your entire resume is in English.
Education
This is up to you to put it in here or not. Ask yourself first: do you want to work for a company that values this?
Other
Open to work over your photo: generally bad, you’ll be seen as junior
Nullstack is a feature-driven full stack JavaScript framework that helps you build isomorphic applications and stay focused on shipping products to production. One of the features that makes Nullstack stand out is its support for two-way binding between your component state and the DOM.
Two-way binding means that any changes made to your component state will be automatically reflected in the DOM, and vice versa. This makes it easy to create interactive UIs without having to manually update the DOM or listen for events.
In this post, I will show you how to use two-way binding in Nullstack with some examples.
How to bind a variable to an input element
One of the most common use cases for two-way binding is to bind a variable to an input element, such as a text field or a checkbox. To do this, you just need to use the bind attribute on the input element and assign it the name of your variable.
For example, let’s say we have a component called Form that has a variable called name. We want to bind this variable to an input element so that we can get the user’s name. Here is how we can do it:
class Form extends Nullstack {
// variables are just variables
name = '';
render() {
return (
<form>
{/* two way bindings */}
<input bind={this.name} />
</form>
);
}
}
Now, whenever we type something in the input element, it will update the value of this.name in our component state. And whenever we change the value of this.name programmatically, it will update the value of the input element in the DOM.
How to bind an object property to an input element
Sometimes, we may want to bind an object property instead of a simple variable. For example, let’s say we have a component called Profile that has an object called user with properties like name, email, and age. We want to bind these properties to different input elements so that we can edit them.
To do this, we just need to use dot notation on the bind attribute and assign it the path of our object property.
For example:
class Profile extends Nullstack {
// objects are just objects
user = {
name: 'Nulla',
email: 'nulla@nullstack.app',
age: 21,
};
render() {
return (
<form>
{/* two way bindings with dot notation */}
<input bind={this.user.name} />
<input type="email" bind={this.user.email} />
<input type="number" bind={this.user.age} />
</form>
);
}
}
Now, whenever we change any of these input elements, it will update the corresponding property of this.user in our component state. And whenever we change any property of this.user programmatically, it will update the corresponding input element in the DOM.
How to bind an array item or index
Another common use case for two way binding is to bind an array item or index. For example, let’s say we have a component called TodoList that has an array called todos with items like { text: 'Learn Nullstack', done: false }. We want to bind these items or their indexes to different elements so that we can display them and toggle their status.
To do this, we just need to use bracket notation on the bind attribute and assign it either an array item or its index.
For example:
class TodoList extends Nullstack {
// arrays are just arrays
todos = [
{ text: 'Learn Nullstack', done: false },
{ text: 'Build awesome apps', done: false },
{ text: 'Have fun', done: true },
];
render() {
return (
<ul>
{/* loop through todos */}
{this.todos.map((todo) => (
<li>
{/* two way bindings with bracket notation */}
<input type="checkbox" bind={todo.done} />
<span>{todo.text}</span>
</li>
))}
</ul>
);
}
}
Now, whenever we check or uncheck any of these checkboxes, it will
update the corresponding property of todo.done in our component state. And whenever we change any property of todo.done programmatically, it will update the corresponding checkbox in the DOM.
Conclusion
In this post, I showed you how to use two-way binding in Nullstack with some examples. Two-way binding is a powerful feature that makes it easy to create interactive UIs without having to manually update the DOM or listen for events. It also reduces the amount of glue code you must write in your application.
Nullstack is a feature-driven full stack JavaScript framework that helps you build isomorphic applications and stay focused on shipping products to production. It connects a UI layer with state management to microservices in the same component using pure JavaScript classes. You write the backend and frontend of a feature in a single isomorphic component and let the framework decide where the code should run.
If you are a React developer, you might be wondering what are the benefits of migrating to Nullstack. Here are some reasons why you should consider it:
No more glue code: You don’t need to create APIs manually or use third-party libraries for data fetching, routing, authentication, etc. Nullstack handles all these aspects for you automatically. You write features for products, not glue code for frameworks.
Optimized for performance: Nullstack delivers SEO-ready HTML optimized for the first render of your route in a single request using local functions with zero JavaScript dependencies in the client bundle. After that, it becomes a single page application (SPA) that fetches JSON from an automatically generated microservice API and updates the application state and DOM accordingly. You get fast SSR and offline PWA out of the box.
Easy to read and write: Nullstack components are just plain old JavaScript objects (POJOs). You can use JavaScript or TypeScript as it is supposed to be, without any special syntax or boilerplate. JSX tags follow the HTML standard, routes are simple attributes you can assign to any tag, and links are just anchor tags. You already know Nullstack if you know HTML and JavaScript.
DX with batteries included: Nullstack has a lot of out of the box shortcuts that were extracted out of repeating patterns in real projects instead of architecture books. For example, you can use two-way bindings, object events, context variables, hooks, plugins, etc. without any extra configuration or installation.
TypeScript: Nullstack supports TypeScript natively. You can use it by renaming your `.njs` or `.jsx` files to `.nts` or `.tsx` respectively. Nullstack will compile them with Babel and preserve the types for your editor or IDE. You can use it by adding -ts or --typescript flag when creating a new project with npx create-nullstack-app.
Tailwind: Nullstack supports Tailwind natively. You can use it by adding -tw or --tailwind flag when creating a new project with npx create-nullstack-app. This will generate a project template with Tailwind already configured.
Nullstack is not just another framework; it’s a new way of thinking about web development that focuses on features instead of layers. It’s designed to make your life easier as a developer and your users happier as customers.
People are trying to do it, but Nullstack already did 😎
AI already knows about Nullstack, better than any of us probably!
NEVER take for granted what you see on guides/courses.
They might contain subjective opinions that might not be the best approach
They might be flawed
They might be outdated
You should cross reference. Check something you learned in multiple places and see if all of them are doing it the same way, or if that’s a very personal opinion from someone.
Learn how to get things done, and then learn how to make things right
Get started, make things happen, you can worry about best practices later.
CodeWars will help you do that; you’ll learn the best way to do things with other very skilled developers.
HEY YOU, the end of the year is coming, would you like to start fresh and: 🤗 work in a place where you feel valued? 🌎 work remotely? 🧑🔬 work to improve Human Agency and make the world a better place? 🧑🤝🧑 work in a collaborative environment? 💻 work with top-tier developers, in a top-rated company on Clutch?
Development has evolved a lot in the past years and a lot have become more multi-platform. Today you can easily create a program that can run on any platform. With Windows 11 it has become much easier to develop and test it across platforms.
All JavaScript is TypeScript. If you have been coding in JavaScript you already know how to code in TypeScript.
Any new features coming to JavaScript will be supported by TypeScript as long as the features make into Stage 3, which is like the “Release Candidate”, so you’re going to get access to features before they’re released.