<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

 <title>Thanos Polychronakis | Senior Backend Engineer</title>
 <link href="https://thanpol.as/atom.xml" rel="self"/>
 <link href="https://thanpol.as"/>
 <updated>2026-04-18T18:54:14+00:00</updated>
 <id>https://thanpol.as/</id>
 <author>
   <name>Thanos Polychronakis</name>
   <email>thanpolas@gmail.com</email>
 </author>

 
  
 <entry>
   <title>Context-Driven Engineering: A Paradigm Shift for Teams Building with LLMs</title>
   <link href="https://thanpol.as/engineering/context-driven-engineering"/>
   <updated>2026-04-18T00:00:00+00:00</updated>
   <id>https://thanpol.as/engineering/context-driven-engineering</id>
   <content type="html">What happens when you give a powerful code generator unbounded access to a codebase with no explicit context. And how to fix it.</content>
 </entry>
 
  
 <entry>
   <title>Principles Of Code Quality</title>
   <link href="https://thanpol.as/rants/principles-of-code-quality"/>
   <updated>2021-10-28T00:00:00+00:00</updated>
   <id>https://thanpol.as/rants/principles-of-code-quality</id>
   <content type="html">Tooling evolves, styling changes, languages come and go — but one thing remains constant: the pursuit of quality code and engineering excellence.</content>
 </entry>
 
  
 <entry>
   <title>Why Logs are Important, Introducing Logality</title>
   <link href="https://thanpol.as/nodejs/why-logs-are-important-introducing-logality"/>
   <updated>2020-06-27T00:00:00+00:00</updated>
   <id>https://thanpol.as/nodejs/why-logs-are-important-introducing-logality</id>
   <content type="html">Introducing Logality, a Node.js logger with powerful features and capabilities.</content>
 </entry>
 
  
 <entry>
   <title>Product Operations Pt2: Product Management</title>
   <link href="https://thanpol.as/product/product-operations-pt2-product-management"/>
   <updated>2018-02-15T00:00:00+00:00</updated>
   <id>https://thanpol.as/product/product-operations-pt2-product-management</id>
   <content type="html">In this, second part, of a 2 part series, blog post we will dive into how to manage our day to day product and engineering operations, is essence breaking down what Product Management is.</content>
 </entry>
 
  
 <entry>
   <title>Product Operations Pt1: From Idea To Spec</title>
   <link href="https://thanpol.as/product/product-operations-pt1-from-idea-to-spec"/>
   <updated>2018-01-26T00:00:00+00:00</updated>
   <id>https://thanpol.as/product/product-operations-pt1-from-idea-to-spec</id>
   <content type="html">In this article, we will dive into the workflows from idea conception to technical spec. In Part 2 we will discuss how a tech-spec gets implemented into an actual, tangible product.</content>
 </entry>
 
  
 <entry>
   <title>Hiring Senior Engineers</title>
   <link href="https://thanpol.as/hiring/hiring-senior-engineers"/>
   <updated>2018-01-23T00:00:00+00:00</updated>
   <id>https://thanpol.as/hiring/hiring-senior-engineers</id>
   <content type="html">In this article we will dive into the hiring operations of a startup end to end and how to fine-tune it for senior engineers. Each section of the hiring workflow deserves its own article to properly analyze it in depth, so I will try to be as detailed as possible without making this post too long. The process is also remote-friendly as all operations of a contemporary startup should be in my humble opinion.</content>
 </entry>
 
  
 <entry>
   <title>How To Jumpstart your Web Development Career</title>
   <link href="https://thanpol.as/hiring/how-to-jumpstart-your-web-development-career"/>
   <updated>2018-01-11T00:00:00+00:00</updated>
   <id>https://thanpol.as/hiring/how-to-jumpstart-your-web-development-career</id>
   <content type="html">When you are entering the Web Development industry you are flooded with choices and information, in this blog post I will try to create a checklist that both new and existing professionals in our industry can check against and be sure they are on the right path to finding a job. </content>
 </entry>
 
  
 <entry>
   <title>Are you a Startup? Come Forward!</title>
   <link href="https://thanpol.as/startups/are-you-a-startup-come-forward"/>
   <updated>2016-10-19T13:48:00+00:00</updated>
   <id>https://thanpol.as/startups/are-you-a-startup-come-forward</id>
   <content type="html">As a Startup you can have a great impact on your local community and likewise you have a lot to benefit from it, in this article I explain why it is important for you as a Startup to come forward and be a part of your local community.</content>
 </entry>
 
  
    
  
 <entry>
   <title>The cost of WebRTC Today</title>
   <link href="https://thanpol.as/webrtc/The-Cost-of-WebRTC-Today"/>
   <updated>2014-03-19T00:00:00+00:00</updated>
   <id>https://thanpol.as/webrtc/The-Cost-of-WebRTC-Today</id>
   <content type="html">Just about now we can really talk about how much WebRTC is going to cost your business.</content>
 </entry>
 
  
 <entry>
   <title>Grunt with express server and Livereload</title>
   <link href="https://thanpol.as/grunt/Grunt-with-express-server-and-Livereload"/>
   <updated>2014-02-28T00:00:00+00:00</updated>
   <id>https://thanpol.as/grunt/Grunt-with-express-server-and-Livereload</id>
   <content type="html">Launching a NodeJS webserver using express from Grunt has been an elusive topic for some time. Adding LiveReload to the mix is even more tedious. After many iterations and setups i&apos;ve resorted to a Gruntfile that will work for everyone, launch the Express Webserver with Livereload using Grunt or launch it the from command line.</content>
 </entry>
 
  
 <entry>
   <title>Mocha and Promises No Problem!</title>
   <link href="https://thanpol.as/nodejs/Mocha-and-Promises-No-Problem"/>
   <updated>2014-02-26T00:00:00+00:00</updated>
   <id>https://thanpol.as/nodejs/Mocha-and-Promises-No-Problem</id>
   <content type="html">After a few itterations a pattern emerged that works for Mocha and Promises, or any test framework for that matter.</content>
 </entry>
 
  
 <entry>
   <title>Managing Large Scale Projects with Grunt</title>
   <link href="https://thanpol.as/grunt/Managing-large-scale-projects-with-Grunt"/>
   <updated>2014-02-20T00:00:00+00:00</updated>
   <id>https://thanpol.as/grunt/Managing-large-scale-projects-with-Grunt</id>
   <content type="html">Grunt offers infinite ways to get extended and configured, easily tackling the most demanding build flows out there. In this article a sensible setup for complex build flows will be presented, it will demonstrate how you can scale Grunt to use in large and distributed teams and perform complex and optimized builds.</content>
 </entry>
 
  
 <entry>
   <title>Introducing cip Classical Inheritance Pattern at its best</title>
   <link href="https://thanpol.as/javascript/Introducing-Inher-Inheritance-at-its-best"/>
   <updated>2014-02-07T00:00:00+00:00</updated>
   <id>https://thanpol.as/javascript/Introducing-Inher-Inheritance-at-its-best</id>
   <content type="html">Cip is a robust and compact library for applying natural inheritance to your applications.</content>
 </entry>
 
  
 <entry>
   <title>Writing Modular Javascript REWIND</title>
   <link href="https://thanpol.as/javascript/writing-modular-javascript-rewind"/>
   <updated>2013-06-12T00:00:00+00:00</updated>
   <id>https://thanpol.as/javascript/writing-modular-javascript-rewind</id>
   <content type="html">The Module term in Javascript, has been overstretched to the point where it&apos;s ambiguous. The primary reason for that is because of Module Definition Patterns and the torrent of &apos;Write Modular Javascript using AMD&apos; blog posts. Let&apos;s put that claims aside for a moment and revisit the definition of what is a Module and what is a Modular Application or Library, in javascript, for the first time.</content>
 </entry>
 
  
 <entry>
   <title>Promises/A+ Performance Hits You Should Be Aware Of</title>
   <link href="https://thanpol.as/javascript/promises-a-performance-hits-you-should-be-aware-of"/>
   <updated>2013-04-29T00:00:00+00:00</updated>
   <id>https://thanpol.as/javascript/promises-a-performance-hits-you-should-be-aware-of</id>
   <content type="html">The Promises/A+ specification is a fresh and very interesting way of dealing with the asynchronous nature of Javascript. It also provides a sensible way to deal with error handling and exceptions. In this article we will go through the performance hits you should be aware of and as a side-effect do a comparison between the two most popular Promises/A+ implementations, When and Q and how they compare to Async, the lowest abstraction you can get on asynchronicity.</content>
 </entry>
 
  
 <entry>
   <title>Development Using Namespaces</title>
   <link href="https://thanpol.as/javascript/development-using-namespaces"/>
   <updated>2013-03-30T00:00:00+00:00</updated>
   <id>https://thanpol.as/javascript/development-using-namespaces</id>
   <content type="html">Using global Namespaces for web development is a long forgotten practice, banished, cursed and buried deep under tons of senseless hype. In this post I will try to provide an overview of the pros and cons in using Global Namespaces. How the development workflow compares to the Module Definition Patterns and debunk a few myths and notions that exist about this matter.</content>
 </entry>
 
  
 <entry>
   <title>Announcing The Release of Mantri</title>
   <link href="https://thanpol.as/javascript/announcing-the-release-of-mantri"/>
   <updated>2013-02-25T00:00:00+00:00</updated>
   <id>https://thanpol.as/javascript/announcing-the-release-of-mantri</id>
   <content type="html">A new solution for Javascript dependency management is now ready. Announcing the release of Mantri, a traditionaλ dependency system.</content>
 </entry>
 
  
 <entry>
   <title>Why I Don't Like AMD And What I Will Do About It</title>
   <link href="https://thanpol.as/javascript/why-i-dont-like-amd-and-what-i-will-do-about-it"/>
   <updated>2013-01-31T00:00:00+00:00</updated>
   <id>https://thanpol.as/javascript/why-i-dont-like-amd-and-what-i-will-do-about-it</id>
   <content type="html">Defining the dependencies of your files is more than a requirement for a large scale project. There simply is no other way you can accomplish maintainability and collaboration between teams. However i beg to differ from calling everything a module and certainly i am not fond of AMD and its&apos; derivatives.</content>
 </entry>
 
  
 <entry>
   <title>Passing Data From Server To Javascript On Page Load</title>
   <link href="https://thanpol.as/javascript/passing-data-from-server-to-javascript-on-page-load"/>
   <updated>2013-01-17T00:00:00+00:00</updated>
   <id>https://thanpol.as/javascript/passing-data-from-server-to-javascript-on-page-load</id>
   <content type="html">Passing arbitrary data from the server to the client on page load is an essential function of modern, rich client-side applications. Over my course in various projects I&apos;ve seen all kinds of setups and use cases, here is the gist of my experience.</content>
 </entry>
 
  
 <entry>
   <title>Jekyll And LiveReload Flow</title>
   <link href="https://thanpol.as/jekyll/jekyll-and-livereload-flow"/>
   <updated>2012-12-18T00:00:00+00:00</updated>
   <id>https://thanpol.as/jekyll/jekyll-and-livereload-flow</id>
   <content type="html">Working on a Jekyll site with LiveReload can be quite a sad experience. Especially when there are more pre-processors up the asset pipe, It can take several seconds and multiple page refreshes before the changes are available. Here&apos;s how I smoothed the flow using Grunt. </content>
 </entry>
 
  
 <entry>
   <title>Jekyll Code Highlight And Line Numbers Problem Solved</title>
   <link href="https://thanpol.as/jekyll/jekyll-code-highlight-and-line-numbers-problem-solved"/>
   <updated>2012-12-12T00:00:00+00:00</updated>
   <id>https://thanpol.as/jekyll/jekyll-code-highlight-and-line-numbers-problem-solved</id>
   <content type="html">Setting up my new webpage and blog, thanpol.as, using Jekyll proved to be a bit more cumbersome than expected. Specifically with syntax highlighting.</content>
 </entry>
 
  
 <entry>
   <title>You Don't Need the DOM Ready Event</title>
   <link href="https://thanpol.as/javascript/you-dont-need-dom-ready"/>
   <updated>2012-12-07T00:00:00+00:00</updated>
   <id>https://thanpol.as/javascript/you-dont-need-dom-ready</id>
   <content type="html">It usually takes a long time for the `DOM ready` event to fire. During this time, many parts of a webpage are inactive as they wait for Javascript to kick in and initialize them. This delay is significant and makes a rich web application become available slower. Creates a bad user experience, doesn&apos;t adhere to any design pattern and is, really, not needed...</content>
 </entry>
 
</feed>
