<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: gulnur</title>
    <description>The latest articles on DEV Community by gulnur (@glnurltn).</description>
    <link>https://dev.to/glnurltn</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1711188%2F3fba60f1-f1be-4d0f-b569-b0c37d3e3899.jpg</url>
      <title>DEV Community: gulnur</title>
      <link>https://dev.to/glnurltn</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/glnurltn"/>
    <language>en</language>
    <item>
      <title>The Day I Stopped Saying “This Isn’t My Job”</title>
      <dc:creator>gulnur</dc:creator>
      <pubDate>Sat, 04 Apr 2026 20:41:26 +0000</pubDate>
      <link>https://dev.to/glnurltn/the-day-i-stopped-saying-this-isnt-my-job-e8n</link>
      <guid>https://dev.to/glnurltn/the-day-i-stopped-saying-this-isnt-my-job-e8n</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuhre4aihle3l90z6xwp0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuhre4aihle3l90z6xwp0.png" alt=" " width="800" height="131"&gt;&lt;/a&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/wecoded-2026"&gt;2026 WeCoded Challenge&lt;/a&gt;: Echoes of Experience&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I was hired as a full stack developer.&lt;/p&gt;

&lt;p&gt;My daily work mostly revolved around building features, improving backend services, working on frontend interfaces, and making sure users had a smooth experience. Infrastructure operations, SSL certificate renewals, or platform upgrades were never officially part of my role.&lt;/p&gt;

&lt;p&gt;But in real engineering teams, reality rarely follows job titles.&lt;/p&gt;

&lt;p&gt;One day, our GitLab instance required a version upgrade. It was not a simple “nice to have” update. The upgrade was important for security, compatibility, and long-term maintainability. Around the same time, one of our Red Hat OpenShift SSL certificates was approaching expiration.&lt;/p&gt;

&lt;p&gt;Both tasks carried risk.&lt;/p&gt;

&lt;p&gt;A failed GitLab upgrade could interrupt the entire development workflow for the team. An expired SSL certificate could break secure access to critical internal services. Neither of these problems could wait comfortably for “the right team.”&lt;/p&gt;

&lt;p&gt;And that was the moment I had to make a choice.&lt;/p&gt;

&lt;p&gt;I could say:&lt;/p&gt;

&lt;p&gt;“This isn’t my responsibility.”&lt;/p&gt;

&lt;p&gt;Or I could step forward and learn.&lt;/p&gt;

&lt;p&gt;I chose the second option.&lt;/p&gt;

&lt;p&gt;Learning Beyond the Role&lt;/p&gt;

&lt;p&gt;At first, I felt the weight of uncertainty.&lt;/p&gt;

&lt;p&gt;As developers, we often become comfortable inside the boundaries of our official roles. Frontend, backend, API integrations, databases these were familiar territories for me.&lt;/p&gt;

&lt;p&gt;But production systems teach a different lesson:&lt;br&gt;
software is never isolated from infrastructure.&lt;/p&gt;

&lt;p&gt;So I started where every engineer starts when facing something unfamiliar: documentation.&lt;/p&gt;

&lt;p&gt;I carefully reviewed the GitLab upgrade path, version compatibility notes, backup procedures, and rollback scenarios. I made sure we had snapshots and restore points before touching anything.&lt;/p&gt;

&lt;p&gt;For the Red Hat OpenShift SSL certificate update, I studied how secrets, routes, and ingress configurations were managed inside the cluster. I traced how the certificate propagated through the environment and planned the safest replacement sequence.&lt;/p&gt;

&lt;p&gt;The technical work itself mattered.&lt;/p&gt;

&lt;p&gt;But what mattered more was learning how to stay calm around systems that affect everyone.&lt;/p&gt;

&lt;p&gt;The biggest challenge was not technical complexity.&lt;/p&gt;

&lt;p&gt;It was psychological.&lt;/p&gt;

&lt;p&gt;The fear of breaking production.&lt;br&gt;
The fear of causing downtime.&lt;br&gt;
The fear of touching systems outside my “comfort zone.”&lt;/p&gt;

&lt;p&gt;What helped me overcome that fear was process.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Read the documentation twice&lt;/li&gt;
&lt;li&gt;Prepare backups first&lt;/li&gt;
&lt;li&gt;Test in lower environments&lt;/li&gt;
&lt;li&gt;Create a rollback plan&lt;/li&gt;
&lt;li&gt;Communicate the maintenance window clearly&lt;/li&gt;
&lt;li&gt;Validate after every step&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I realized confidence in engineering is rarely about already knowing the answer.&lt;/p&gt;

&lt;p&gt;It comes from knowing how to reduce risk.&lt;/p&gt;

&lt;p&gt;That experience changed how I think about growth in tech.&lt;/p&gt;

&lt;p&gt;Sometimes the most important career moments begin exactly where your job description ends.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What This Taught Me About Inclusion in Tech&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One reason I wanted to share this story for the 2026 WeCoded Challenge is that growth opportunities in tech are often shaped by trust.&lt;/p&gt;

&lt;p&gt;Sometimes inclusion is not only about who gets hired.&lt;br&gt;
It is also about who gets trusted with meaningful problems.&lt;/p&gt;

&lt;p&gt;Being given space to step into unfamiliar responsibilities helped me grow faster than any predefined roadmap could.&lt;/p&gt;

&lt;p&gt;And I believe equitable teams are the ones that create these learning moments for everyone: not based on title, seniority, or assumptions, but based on curiosity, support, and trust.&lt;/p&gt;

&lt;p&gt;That GitLab upgrade and SSL certificate replacement were small operational tasks in the bigger picture of engineering.&lt;/p&gt;

&lt;p&gt;But for me, they represented something larger.&lt;/p&gt;

&lt;p&gt;They taught me that titles define your starting point, not your limits.&lt;/p&gt;

&lt;p&gt;Sometimes the best thing you can do for your career is to stop saying:&lt;/p&gt;

&lt;p&gt;“This isn’t my job.”&lt;/p&gt;

&lt;p&gt;And start asking:&lt;/p&gt;

&lt;p&gt;“How can I solve this safely?”&lt;/p&gt;

&lt;p&gt;I believe that mindset has stayed with me ever since.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>wecoded</category>
      <category>career</category>
    </item>
    <item>
      <title>Trunk-Based vs. Branch-Based Development: Which Strategy Fits Your Team Best?</title>
      <dc:creator>gulnur</dc:creator>
      <pubDate>Wed, 01 Apr 2026 14:41:34 +0000</pubDate>
      <link>https://dev.to/glnurltn/trunk-based-vs-branch-based-development-which-strategy-fits-your-team-best-53hn</link>
      <guid>https://dev.to/glnurltn/trunk-based-vs-branch-based-development-which-strategy-fits-your-team-best-53hn</guid>
      <description>&lt;p&gt;One of the most important factors that shapes development speed and code quality in modern software teams is the branching strategy. Two of the most common approaches are Trunk-Based Development (TBD) and Branch-Based Development.&lt;/p&gt;

&lt;p&gt;Let’s compare both approaches in a clear and practical way.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Is Trunk-Based Development?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Trunk-Based Development is a workflow where all developers integrate their changes into a single main branch (usually main) using either very short-lived branches or direct commits.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd560o9a4313v1q6vct0j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd560o9a4313v1q6vct0j.png" width="777" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advantages&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Encourages small and frequent commits&lt;/li&gt;
&lt;li&gt;Reduces merge conflict risk&lt;/li&gt;
&lt;li&gt;Works perfectly with CI/CD pipelines&lt;/li&gt;
&lt;li&gt;Speeds up release cycles&lt;/li&gt;
&lt;li&gt;Safer deployments with feature flags&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Disadvantages&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Requires strong testing discipline&lt;/li&gt;
&lt;li&gt;Large features may need careful feature toggle management&lt;/li&gt;
&lt;li&gt;Can be challenging for teams new to the practice&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What Is Branch-Based Development?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In this model, developers create separate branches for each feature, bugfix, or release. Git Flow is one of the most well-known examples of this approach.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advantages&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Easier isolation for large features&lt;/li&gt;
&lt;li&gt;More controlled code review workflows&lt;/li&gt;
&lt;li&gt;Fits enterprise approval-based processes well&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Disadvantages&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Long-lived branches often create merge conflicts&lt;/li&gt;
&lt;li&gt;Integration happens later&lt;/li&gt;
&lt;li&gt;Release cycles can become slower
The classic “it worked on my branch” issue happens more often&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;When Should You Use Each One?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Fast-moving startup and SaaS teams → Trunk-Based Development&lt;br&gt;
Enterprise teams with heavy approval workflows → Branch-Based Development&lt;br&gt;
Teams with mature DevOps and CI/CD culture → TBD&lt;/p&gt;

&lt;p&gt;From my experience, especially during fast upgrades,urgent production hotfixes, the trunk-based approach significantly improves integration speed and reduces operational risk.&lt;/p&gt;

&lt;p&gt;If your goal is faster releases, fewer merge conflicts, and stronger CI/CD pipelines, Trunk-Based Development offers a more modern engineering workflow.&lt;/p&gt;

&lt;p&gt;Interestingly, I realized that we had already been applying this approach in some of our projects without even knowing it had a formal name. I first came across the term in a LinkedIn job requirements section, which made me reflect on how naturally some engineering best practices emerge in real-world teams.&lt;/p&gt;

&lt;p&gt;I think the real key is this: your branching strategy should match your team’s deployment culture.&lt;/p&gt;

</description>
      <category>development</category>
      <category>git</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>Habits I Learned Too Late as a Developer — part 2</title>
      <dc:creator>gulnur</dc:creator>
      <pubDate>Sat, 21 Feb 2026 18:28:49 +0000</pubDate>
      <link>https://dev.to/glnurltn/habits-i-learned-too-late-as-a-developer-part-2-1gio</link>
      <guid>https://dev.to/glnurltn/habits-i-learned-too-late-as-a-developer-part-2-1gio</guid>
      <description>&lt;p&gt;3️⃣ &lt;strong&gt;Not reading software-related books&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For a long time, I didn’t read any software-related books.&lt;/p&gt;

&lt;p&gt;I relied mostly on tutorials, short articles, and videos.&lt;br&gt;
They felt more practical and faster to consume.&lt;/p&gt;

&lt;p&gt;What I didn’t realize was what I was missing:&lt;/p&gt;

&lt;p&gt;Long-form thinking and well-structured mental models&lt;/p&gt;

&lt;p&gt;Ideas that stay relevant for years, not weeks. Short content is great for learning how to do something. Books are better at teaching why things work the way they do.&lt;/p&gt;

&lt;p&gt;Without reading books, my knowledge stayed shallow and fragmented.&lt;br&gt;
I knew many tools, but I lacked depth in fundamentals like system design, data modeling, and architecture.&lt;/p&gt;

&lt;p&gt;I learned this late:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a few well-chosen books can save you years of trial and error.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Books that changed how I think:&lt;/p&gt;

&lt;p&gt;Clean Code — not for rules, but for learning how to read code critically&lt;/p&gt;

&lt;p&gt;Designing Data-Intensive Applications — for understanding real-world systems and their trade-offs&lt;/p&gt;

&lt;p&gt;The Pragmatic Programmer — for a long-term developer mindset&lt;br&gt;
This link might be helpful if you want to reach some of them &lt;/p&gt;

&lt;p&gt;📕&lt;a href="https://github.com/GunterMueller/Books-3/" rel="noopener noreferrer"&gt;sample books&lt;/a&gt;&lt;br&gt;
🔗&lt;a href="https://codingfearlessly.com/recommended-software-engineering-books" rel="noopener noreferrer"&gt;a nice article&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4️⃣ &lt;strong&gt;Focusing only on code 🖥️ and ignoring networking opportunities&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Another habit I learned too late was attending meetups, events, and developer gatherings.&lt;/p&gt;

&lt;p&gt;For a long time, I simply wasn’t aware of these communities:&lt;br&gt;
Google Developer Group meetups, Cloud Days, Developer Days, Java Days, and similar events.&lt;/p&gt;

&lt;p&gt;When I finally started attending them, I met many experienced developers and learned far more about industry trends than I expected.&lt;/p&gt;

&lt;p&gt;Before that, I used to think:&lt;/p&gt;

&lt;p&gt;Networking wasn’t necessary for “real developers” &lt;/p&gt;

&lt;p&gt;Skills alone would speak for themselves&lt;/p&gt;

&lt;p&gt;Events were mostly marketing or a waste of time&lt;/p&gt;

&lt;p&gt;That mindset was limiting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;By not attending events, I literally missed&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;How other developers think and work&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Industry perspectives outside my own bubble&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Opportunities to learn without preparing anything in advance&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Networking doesn’t mean selling yourself.It means exchanging context.&lt;/p&gt;

&lt;p&gt;Sometimes, a single conversation at a meetup teaches more than hours of solo learning.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Which habits did you realize too late in your developer journey?&lt;/em&gt; 👀&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>learning</category>
      <category>habits</category>
    </item>
    <item>
      <title>Habits I Learned Too Late as a Developer — Part 1</title>
      <dc:creator>gulnur</dc:creator>
      <pubDate>Wed, 18 Feb 2026 07:53:41 +0000</pubDate>
      <link>https://dev.to/glnurltn/habits-i-learned-too-late-as-a-developer-part-1-116p</link>
      <guid>https://dev.to/glnurltn/habits-i-learned-too-late-as-a-developer-part-1-116p</guid>
      <description>&lt;p&gt;For a long time, I believed that writing more code would automatically make me a better developer.&lt;br&gt;
It didn’t.&lt;/p&gt;

&lt;p&gt;I was improving my syntax and learning new frameworks, but I was mostly doing it in isolation.&lt;br&gt;
What I missed for years was the ecosystem around software development,the people, the discussions and the shared knowledge.&lt;/p&gt;

&lt;p&gt;These are some of the habits I learned much later than I should have.&lt;/p&gt;

&lt;p&gt;1️⃣ &lt;strong&gt;Not following high-quality open-source projects&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I used GitHub mainly as a place to store my own code.&lt;br&gt;
I wasn’t actively following well-maintained, widely used open-source projects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;That meant I missed:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;How real-world projects are structured&lt;/p&gt;

&lt;p&gt;How maintainers review pull requests&lt;/p&gt;

&lt;p&gt;How design decisions are discussed in issues&lt;/p&gt;

&lt;p&gt;What “production-quality” code actually looks like&lt;/p&gt;

&lt;p&gt;Reading good code consistently turned out to be just as important as writing my own.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I do now&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Even when I’m not actively coding, I visit GitHub weekly and check my starred repositories.&lt;br&gt;
I follow a small number of projects and occasionally read a single file, commit instead of trying to understand the entire codebase.&lt;/p&gt;

&lt;p&gt;This habit alone changed how I think about code quality.&lt;/p&gt;

&lt;p&gt;2️⃣ &lt;strong&gt;Not knowing developer communities like Medium, dev.to, or CodePen&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For a long time, learning meant courses, tutorials and bootcamps only.&lt;br&gt;
I underestimated community-driven platforms.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I later realized:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Courses teach ideal scenarios and sooner or later, you forget most of them&lt;/p&gt;

&lt;p&gt;Community posts show real-world mistakes and trade-offs&lt;/p&gt;

&lt;p&gt;Small experiments often teach more than full tutorials&lt;/p&gt;

&lt;p&gt;Platforms like dev.to and CodePen expose you to problems people are actively solving, not just concepts explained in isolation.&lt;/p&gt;

&lt;p&gt;Following challenges and community experiments is also fun.&lt;br&gt;
And that matters more than I used to think.&lt;/p&gt;

&lt;p&gt;If I want to become a better developer, I need to enjoy the learning process, not just endure it.&lt;/p&gt;

</description>
      <category>developer</category>
      <category>coding</category>
      <category>learning</category>
    </item>
    <item>
      <title>How to Write an ATS-Friendly CV: A Complete Guide</title>
      <dc:creator>gulnur</dc:creator>
      <pubDate>Tue, 07 Oct 2025 10:22:22 +0000</pubDate>
      <link>https://dev.to/glnurltn/how-to-write-an-ats-friendly-cv-a-complete-guide-3mk1</link>
      <guid>https://dev.to/glnurltn/how-to-write-an-ats-friendly-cv-a-complete-guide-3mk1</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frf2kq99r5b76qma1klb2.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frf2kq99r5b76qma1klb2.jpg" alt=" " width="800" height="846"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In today’s job market, it’s not just recruiters who review your CV &lt;br&gt;
Applicant Tracking Systems (ATS) often decide whether your application even gets seen. If your CV isn’t optimized for these systems, your experience and skills might never reach the hiring manager. Here’s how to write a CV that passes ATS filters while still impressing humans.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. What is ATS and Why Does It Matter?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;An ATS is software that scans, filters, and ranks CVs based on keywords, formatting, and relevance to the job description. A poorly formatted CV can get rejected automatically, even if you’re the perfect fit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Choose the Right File Format&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Best options: PDF or DOCX (most ATS tools can read both).&lt;/p&gt;

&lt;p&gt;Tip: While many modern ATS systems can read PDF files, some older ones may struggle. To be 100% safe, submit your CV as a .docx file unless the employer specifically requests PDF&lt;br&gt;
Also you may want to check file size too.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Keep the Design Simple&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Stick to standard fonts: Arial, Calibri, or Times New Roman.&lt;/p&gt;

&lt;p&gt;Avoid tables, graphics, icons, or text boxes.&lt;/p&gt;

&lt;p&gt;Use clear headings and consistent spacing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Use Keywords Strategically&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Scan the job posting for required skills and titles.&lt;/p&gt;

&lt;p&gt;Match those keywords exactly (e.g., if the posting says “Java Developer,” include “Java Developer” in your CV, not just “Java”).&lt;/p&gt;

&lt;p&gt;List tools, certifications, and methodologies (e.g., Agile, Scrum, AWS).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Stick to Standard Headings&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;ATS tools recognize traditional section titles:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Work Experience&lt;/li&gt;
&lt;li&gt;Education&lt;/li&gt;
&lt;li&gt;Skills&lt;/li&gt;
&lt;li&gt;Certifications&lt;/li&gt;
&lt;li&gt;Languages&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Creative headings like “My Journey” may confuse the system.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Write Bullet Points with Action Verbs&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Avoid long paragraphs. Use concise bullet points.&lt;/p&gt;

&lt;p&gt;Start each with strong verbs: Developed, Managed, Optimized, Implemented.&lt;/p&gt;

&lt;p&gt;Quantify achievements:&lt;br&gt;
“Increased sales by 25%”&lt;br&gt;
“Led a team of 10 engineers”&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Avoid using vague expression about your accomplisments&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;7. Format Contact Information Properly&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Write your phone number in international format: +1 xxx xxx xxxx.&lt;/p&gt;

&lt;p&gt;Use a professional email address(&lt;a href="mailto:firstname.lastname@email.com"&gt;firstname.lastname@email.com&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;Include a LinkedIn URL (avoid shortened links like bit.ly).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8. Skip Unnecessary Details&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;No date of birth, marital status, or full home address.&lt;br&gt;
Even photo can be unnecessary for some applications.&lt;/p&gt;

&lt;p&gt;Stick to what’s relevant to the role.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9. Keep It the Right Length&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ideal CV length: 1–2 pages.&lt;/p&gt;

&lt;p&gt;Make every line count.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10. Test Before You Submit&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Use online ATS simulators (e.g., Jobscan, Resumeworded) to check how your CV matches the job posting. This helps you adjust keywords and formatting before sending.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Final Thoughts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Writing an ATS-friendly CV isn’t about being flashy,it’s about being clear, structured, and keyword-optimized. Pass the system first, then let your experience and achievements convince the recruiter.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Remember: Step one is getting past the robot. Step two is winning over the human.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>career</category>
      <category>tutorial</category>
      <category>writing</category>
    </item>
    <item>
      <title>Axero Frontend Challenge: Building a Dynamic Office Intranet Interface</title>
      <dc:creator>gulnur</dc:creator>
      <pubDate>Sun, 27 Jul 2025 14:21:00 +0000</pubDate>
      <link>https://dev.to/glnurltn/axero-frontend-challenge-building-a-dynamic-office-intranet-interface-39ke</link>
      <guid>https://dev.to/glnurltn/axero-frontend-challenge-building-a-dynamic-office-intranet-interface-39ke</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for &lt;a href="https://dev.to/challenges/frontend/axero"&gt;Frontend Challenge: Office Edition sponsored by Axero, Holistic Webdev: Office Space&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I designed a nostalgic-futuristic intranet homepage for a fictional company called NeoOffice. My aim was to blend retro design elements—such as pixel fonts, VHS-glitch effects, and old-school widget with a clean, responsive layout that feels modern and functional. The homepage includes:&lt;/p&gt;

&lt;p&gt;🌟 Employee of the Month widget with dynamic highlighting&lt;br&gt;
📆 Upcoming Events section for internal meetings and community activities&lt;br&gt;
🧭 A modular dashboard with useful internal tools (e.g., HR portal, task board)&lt;br&gt;
💬 Team Spotlight and cooler-style announcements&lt;br&gt;
🎨 Subtle CSS inspired by classic office life &lt;/p&gt;

&lt;p&gt;I wanted the homepage to feel like something you'd find in a 90s sci-fi movie…&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;Live preview on: &lt;iframe height="600" src="https://codepen.io/G-lnur-ALTAN/embed/NPGrJyp?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;br&gt;
Github: &lt;a href="https://github.com/Gulnur-Altan/Nostalgic-Futuristic-Webdev-Office-Space" rel="noopener noreferrer"&gt;https://github.com/Gulnur-Altan/Nostalgic-Futuristic-Webdev-Office-Space&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Journey
&lt;/h2&gt;

&lt;p&gt;This was one of the most creative front-end challenges I've participated in. I started with a wireframe in Figma, then experimented with nostalgic UI elements like:&lt;/p&gt;

&lt;p&gt;Monospace pixel fonts&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Glowing neon details&lt;/li&gt;
&lt;li&gt;Subtle hover animations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For accessibility, I followed WCAG color contrast standards, ensured all interactive components were keyboard-navigable, and added labels where needed.&lt;/p&gt;

&lt;p&gt;One of my favorite parts was building the Employee of the Month card. I wanted it to feel special—so I gave it an animated badge, spotlight effect, and hover interaction.&lt;/p&gt;

&lt;p&gt;I also added a dashboard panel to simulate internal tools like “Today's Tasks” access.&lt;/p&gt;

&lt;p&gt;Overall, this project helped me blend creativity with usability, and it helped me understand thoughtful UI/UX in internal tools.&lt;br&gt;
displayed publicly.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>frontendchallenge</category>
      <category>css</category>
      <category>javascript</category>
    </item>
    <item>
      <title>revert the merge</title>
      <dc:creator>gulnur</dc:creator>
      <pubDate>Tue, 08 Jul 2025 14:26:29 +0000</pubDate>
      <link>https://dev.to/glnurltn/revert-the-merge-284m</link>
      <guid>https://dev.to/glnurltn/revert-the-merge-284m</guid>
      <description>&lt;p&gt;🔄 How to Undo an Accidental Merge to the Master Branch &lt;br&gt;
Merging the wrong code into the master branch is something that happens.Fortunately, Git and ways to undo this safely.&lt;/p&gt;

&lt;p&gt;Here’s a guide to help you revert that accidental merge depending on your situation.&lt;/p&gt;

&lt;p&gt;💬 Option 1: Revert the Merge Commit (Safe and Recommended)&lt;br&gt;
If the merge created a merge commit, you can revert it with:&lt;/p&gt;

&lt;p&gt;git revert -m 1 &lt;br&gt;
git push origin master -m 1 &lt;/p&gt;

&lt;p&gt;tells Git to keep the first parent of the merge (usually master) and revert the changes from the merged branch.&lt;/p&gt;

&lt;p&gt;You can find the  using git log &lt;/p&gt;

&lt;p&gt;This will create a new commit that undoes the changes from the merge — safe and clean.&lt;/p&gt;

&lt;p&gt;💥Option 2: Hard Reset (Dangerous on Shared Repos)&lt;br&gt;
If you prefer to reset master to a previous commit (for example, before the merge), you can run:&lt;/p&gt;

&lt;p&gt;git reset --hard &lt;br&gt;
git push origin master --force&lt;/p&gt;

&lt;p&gt;💥Warning: This method rewrites history and can break things for teammates.&lt;/p&gt;

&lt;p&gt;⬅️ Option 3: Use GitLab’s “Revert” Button (Easiest)&lt;br&gt;
If you’re using GitLab and the merge request is still visible:&lt;br&gt;
Go to the merged Merge Request and click the Revert.&lt;br&gt;
GitLab will create a new merge request that reverts the merge.&lt;/p&gt;

&lt;p&gt;Merge it — and you're done!&lt;br&gt;
This is a safe and GUI-friendly option if you prefer not to use the terminal.&lt;/p&gt;

</description>
      <category>git</category>
      <category>beginners</category>
      <category>programming</category>
    </item>
    <item>
      <title>Key Enhancements in Java 22</title>
      <dc:creator>gulnur</dc:creator>
      <pubDate>Wed, 31 Jul 2024 22:53:18 +0000</pubDate>
      <link>https://dev.to/glnurltn/key-enhancements-in-java-22-3eh1</link>
      <guid>https://dev.to/glnurltn/key-enhancements-in-java-22-3eh1</guid>
      <description>&lt;p&gt;Java 22 introduces several important changes that improve developer experience, code safety, and performance. Here’s a quick overview of the most useful updates:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.svgrepo.com%2Fshow%2F303388%2Fjava-4-logo.svg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fwww.svgrepo.com%2Fshow%2F303388%2Fjava-4-logo.svg" alt="java" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Record Patterns&lt;/strong&gt;&lt;br&gt;
Record Patterns simplify pattern matching with records. They enhance the readability and conciseness of code by allowing direct extraction of record components in a single statement.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;if (person instanceof Person(String name, int age)) {
    // Use name and age directly
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2. Virtual Threads&lt;/strong&gt;&lt;br&gt;
Virtual Threads, introduced as a preview feature, provide a lightweight concurrency model. They enable handling a high number of concurrent tasks more efficiently without the overhead of traditional threads.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;try (var executor = Executors.newVirtualThreadPerTaskExecutor()) {
    executor.submit(() -&amp;gt; {
        // Concurrent task
    });
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;3. Foreign Function &amp;amp; Memory API (FFM API)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This API improves interaction with native code and memory management, making it easier and safer to work with native libraries and off-heap memory.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;try (var allocator = MemorySegment.allocateNative(1024)) {
    // Work with native memory
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Enhanced Switch Expressions&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Switch expressions continue to evolve with improvements like more flexible patterns and clearer syntax, reducing boilerplate and enhancing code readability.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;var result = switch (dayOfWeek) {
    case MONDAY, FRIDAY -&amp;gt; "Working day";
    case SATURDAY, SUNDAY -&amp;gt; "Weekend";
    default -&amp;gt; throw new IllegalStateException("Unexpected value: " + dayOfWeek);
};
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Improvements to NullPointerException&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Java 22 provides more detailed messages for NullPointerException, helping developers diagnose issues more effectively by pointing out the specific variable that was null.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;String name = null;
System.out.println(name.length()); // Enhanced NPE message: "name.length()"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Java 22 brings valuable enhancements that streamline coding practices, improve concurrency, and offer better tools for native interactions. &lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
