Zamir Khotov retweeted
On a JavaScript job board, fewer jobs now ask for JavaScript.
I compared 587 listings from 2025 and 2026.
TypeScript: 37% → 71%.
JavaScript: 48% → 39%.
Companies stopped writing "JavaScript". They write "TypeScript" and assume you know the rest.
Zamir Khotov retweeted
💼 Hiring Frontend Engineer (React / JavaScript) | Global Remote
Build data-driven product interfaces used by thousands of companies, focusing on performance, usability, and complex data interactions.
✅ Strong React and JavaScript fundamentals
✅ Experience with large-scale frontend applications
✅ Complex UI and data-heavy interfaces
✅ Testing, code reviews, and clean architecture
✅ UX focus and product thinking
DM for link
Zamir Khotov retweeted
If AI can write 90% of our code, why are big companies still actively hiring skilled engineers?
Zamir Khotov retweeted
JavaScript Data Structures & Algorithms Explained in 2 min.
1. What are Data Structures?
-> Data structures are ways of organizing and storing data for efficient access and modification.
-> Choosing the right data structure improves the performance of your code.
2. Common JavaScript Data Structures
-> Arrays: Ordered lists of elements, accessible by index.
-> Objects: Key-value pairs for structured data.
-> Sets: Collections of unique values, no duplicates.
-> Maps: Key-value pairs with any type as keys.
-> Stacks: LIFO (Last In, First Out) data structure for managing history or undo operations.
-> Queues: FIFO (First In, First Out) data structure for processing tasks in order.
-> Linked Lists: Nodes connected in a sequence, allowing efficient insertions and deletions.
-> Trees: Hierarchical structures for representing parent-child relationships.
-> Graphs: Collections of nodes connected by edges, useful for representing networks.
3. What are Algorithms?
-> Algorithms are step-by-step instructions to solve problems efficiently.
-> Writing efficient algorithms helps your programs run faster and use less memory.
4. Common Algorithms to Learn
-> Searching: Linear Search, Binary Search.
-> Sorting: Bubble Sort, Selection Sort, Insertion Sort, Merge Sort, Quick Sort.
-> Recursion: Functions calling themselves to solve sub-problems.
-> Traversal: Iterating through arrays, trees, and graphs (BFS and DFS).
-> Dynamic Programming: Solving complex problems by breaking them into simpler sub-problems with memoization.
-> Greedy Algorithms: Making locally optimal choices at each step for optimal results.
-> Hashing: Using hash functions for fast data lookup.
5. Why Learn Data Structures and Algorithms?
-> To solve coding challenges efficiently.
-> To prepare for technical interviews.
-> To build scalable, high-performance applications.
-> To understand how memory and processing time affect your code.
-> To improve your logical thinking and problem-solving skills.
6. Practice Tips
-> Understand how each data structure works and when to use it.
-> Write and test algorithms manually before coding them.
-> Analyze the time and space complexity of your solutions (Big O Notation).
-> Practice coding problems on platforms like LeetCode, HackerRank, and Codewars.
-> Build small projects to apply what you learn in real scenarios.
Recap
-> Data structures help organize and manage data.
-> Algorithms help solve problems efficiently.
-> Mastering them will level up your coding skills and job readiness.
For deeper explanations with code examples, challenges, and projects, study:
“JavaScript Data Structures & Algorithms Explained” – The Complete Guide
Get the ebook here: codewithdhanian.gumroad.com/…
Zamir Khotov retweeted
Hiring Frontend Engineer (React) – Hybrid in Lisbon or Remote (EU)
Join a team building modern, high-performance UIs.
🛠 React, JS, Redux, Webpack
📍 Hybrid in Lisbon or remote (EU)
💼 Full-time, agile team
Apply 👉 jsgurujobs.com/jobs/40
Zamir Khotov retweeted
Building a project from scratch?
Don't:
• Overcomplicate the stack
• Add tons of features
• Spend hours on a logo
• Write code from scratch
Do:
• Use AI to generate boilerplate
• Launch a basic MVP
• Gather real feedback
• Improve it over time
Build smart!
Zamir Khotov retweeted
Learn JavaScript before React
Learn JavaScript before Vuejs
Learn JavaScript before Angular
Learn JavaScript before Svelte
Zamir Khotov retweeted
My daughter and her friend finally launched their new design agency web site.
Show some love, guys.🙏
Our new Agency Website is LIVE! 🤩🎉
Yes, folks our Design Agency @inCleveri finally got a fresh Redesign.
Excited to Onboard New Clients!
Let us know what you think and we look forward to New Collaborations ✨
Check it out: incleveri.com
Zamir Khotov retweeted
14 sites that offer remote jobs that pay in dollars.
💰dice .co
💰remote .co
💰devsnap .io
💰remotive .io
💰remoteok .io
💰flexjobs .com
💰upwork .com
💰whoishiring .io
💰justremote .co
💰remotefront .io
💰wellfound .com
💰powertofly .com
💰skipthedrive .com
💰authenticjobs .com
Zamir Khotov retweeted
HTML Tip💡
You can use

ALT <form> <fieldset> <legend>Personal details</legend> <label for="firstname">First name:</label> <input type="text" id="firstname" name="firstname" /> <label for="email">Email:</label> <input type="email" id="email" name="email" /> <label for="contact">Contact:</label> <input type="text" id="contact" name="contact" /> <input type="button" value="Submit" /> </fieldset> </form>
Zamir Khotov retweeted
CSS Tip! 📜
You can use scroll-driven animations to progressively enhance collapsing a floating call to action 🤏
.cta {
animation: shrink;
animation-timeline: scroll();
animation-range: 0 100px;
}
@keyframes shrink {
to { width: 48px; }
}
That's the gist of it. Use the body scroll position with animation-timeline: scroll(). Define the animation-range as when you have scrolled 100px.
There's a little more though 🤓
That would "scrub" the width animation. Ideally, you want to trigger that animation. You could animate a custom property with steps() timing and use that to define the width ✨
@property --scrub {
syntax: '';
inherits: true;
initial-value: 0;
}
body {
animation: scrub both steps(1, end);
animation-timeline: scroll();
animation-range: 0 100px;
}
Then transition the --scrub property on the CTA and use it for the width 🤙
.cta {
transition: --scrub 0.2s;
width: calc(48px + (120px * (1 - (var(--scrub) / 100))));
}
Other animations are a matter of preference and timing. For example, you could then make the hand wave, scale down the size, and then slide a gradient across 😉
They have the same structure and technique as the original concept. Waving the hand? 👋 Run it twice, offset the transform-origin.
.hand {
animation: wave both linear 2;
animation-timeline: scroll();
animation-range: 30vh 50vh;
transform-origin: 65% 75%;
}
@keyframes wave {
50% { rotate: 20deg; }
}
How's it progressively enhanced? Wrap everything in a @supports query and a @media query. If there isn't support, users still get a good experience. It's a floating action button that's circular and already collapsed 🤙
@supports(animation-timeline: scroll()) {
@media(prefers-reduced-motion: no-preference) {...}
}
Definitely have a play with the code. Amazing what we're going to be able to do with CSS alone! 🔥
@CodePen link below! 👇
Zamir Khotov retweeted
Make Money as a Developer Difficulty Levels:
9 to 5 Job
🟥⬜️⬜️⬜️⬜️⬜️
Freelancing
🟥🟥⬜️⬜️⬜️⬜️
Content Creation
🟥🟥🟥⬜️⬜️⬜️
App with a one-time payment
🟥🟥🟥🟥⬜️⬜️
SAAS
🟥🟥🟥🟥🟥⬜️
Open-source
🟥🟥🟥🟥🟥🟥
What's your Difficulty Level of choice? 🎢
Zamir Khotov retweeted
In 2023:
🌐 HTML is 30 yrs old
🎨 CSS is 27 yrs old
✨ JavaScript is 28 yrs old
⚛️ ReactJS is 10 yrs old
🖼️ VueJs is 9 yrs old
🔺 Angular is 7 yrs old
📌 Svelte is 7 yrs old
🌿 Git is 18 yrs old
🐙 Github is 15 yrs old
🐍 Python is 32 yrs old
🛢️ MySQL is 28 yrs old
🍃 MongoDB is 14 yrs old
🐘 PHP is 28 yrs old
☕ Java is 27 yrs old
💎 Ruby is 28 years old
🟢 Node.js is 14 years old
🐳 Docker is 10 years old
🦅 Swift is 9 years old
📘 TypeScript is 10 years old
🍃 Kotlin is 11 years old
🦀 Rust is 8 years old
🐹 Go is 14 years old
Add more 💬👇

















