1<!DOCTYPE html> 2<html lang="en"> 3<head> 4 <meta charset="UTF-8"> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 6 <title>Lars Pohlmann â Freelance PHP & Symfony Developer in Hamburg</title> 7 <meta name="description" content="My name is Lars Pohlmann. I started working with PHP in 1999 and have been a freelance Symfony developer in Hamburg since 2010. That means more than 25 years of PHP experience and 15 years as a freelancer, with a focus on AI-assisted development using Claude Code and the Model Context Protocol (MCP)."> 8 9 <link rel="canonical" href="https://lars-pohlmann.de/" /> 10 11 <link rel="alternate" hreflang="en" href="https://lars-pohlmann.de/" /> 12 <link rel="alternate" hreflang="de" href="https://lars-pohlmann.de/de/" /> 13 <link rel="alternate" hreflang="x-default" href="https://lars-pohlmann.de/" /> 14 15 <meta property="og:type" content="profile"> 16 <meta property="og:locale" content="en_US"> 17 <meta property="og:locale:alternate" content="de_DE"> 18 <meta property="og:title" content="Freelance PHP & Symfony Developer â Lars Pohlmann"> 19 <meta property="og:description" content="25+ years PHP, 15 years Symfony freelance experience. Backend expert in AWS, CI/CD, scalable architectures, and AI-assisted development with Claude Code and MCP."> 20 <meta property="og:image" content="https://lars-pohlmann.de/profile.jpg"> 21 <meta property="og:url" content="https://lars-pohlmann.de/"> 22 23 <meta name="twitter:card" content="summary"> 24 <meta name="twitter:title" content="Lars Pohlmann â Freelance Symfony Developer in Hamburg"> 25 <meta name="twitter:description" content="Freelance Symfony & PHP backend developer with 25 years of experience, focused on AI-assisted development with Claude Code and MCP."> 26 <meta name="twitter:image" content="https://lars-pohlmann.de/profile.jpg"> 27 28 <link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96" /> 29 <link rel="icon" type="image/svg+xml" href="/favicon.svg" /> 30 <link rel="shortcut icon" href="/favicon.ico" /> 31 <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" /> 32 <meta name="apple-mobile-web-app-title" content="Lars Pohlmann" /> 33 <link rel="manifest" href="/site.webmanifest" /> 34 35 <link rel="preload" href="JetBrainsMono-Regular.woff2" as="font" type="font/woff2" crossorigin> 36 <link rel="preload" href="style.css" as="style"> 37 <link rel="stylesheet" href="style.css"> 38</head> 39<body> 40 <div class="ide"> 41 <div class="ide-titlebar"> 42 <div class="traffic"> 43 <span class="dot red" aria-hidden="true"></span> 44 <span class="dot yellow" aria-hidden="true"></span> 45 <span class="dot green" aria-hidden="true"></span> 46 </div> 47 <span class="ide-title">README.md â lars-pohlmann.de</span> 48 <div class="lang-switch" role="group" aria-label="Language / Sprache"> 49 <span class="lang active" aria-current="true">EN</span> 50 <span class="sep" aria-hidden="true">·</span> 51 <a class="lang" href="/de/" hreflang="de" lang="de">DE</a> 52 </div> 53 </div> 54 55 <nav class="ide-tabs" aria-label="File tabs"> 56 <button class="tab active" aria-current="page"> 57 <span class="tab-dot tab-dot--md" aria-hidden="true"></span> 58 README.md 59 </button> 60 <button class="tab" tabindex="-1"> 61 <span class="tab-dot tab-dot--js" aria-hidden="true"></span> 62 main.js 63 </button> 64 <button class="tab" tabindex="-1"> 65 <span class="tab-dot tab-dot--css" aria-hidden="true"></span> 66 style.css 67 </button> 68 <button class="tab" tabindex="-1"> 69 <span class="tab-dot tab-dot--php" aria-hidden="true"></span> 70 indexController.php 71 </button> 72 </nav> 73 74 <div class="ide-editor" style="--lh: 1.65em;"> 75 <aside class="gutter" aria-hidden="true"> 76 <ol id="line-numbers" class="numbers"></ol> 77 </aside> 78 79 <main class="editor-content" role="main" aria-label="Editor content"> 80 <div class="container"> 81 <div class="header"> 82 <h1>Lars Pohlmann â Freelance PHP & Symfony Developer in Hamburg</h1> 83 <div class="title">Senior Backend Developer</div> 84 <a class="cv-button" href="/Lars-Pohlmann-CV.pdf" target="_blank" rel="noopener"> 85 <svg viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M9 1.75H4.5A1.25 1.25 0 0 0 3.25 3v10A1.25 1.25 0 0 0 4.5 14.25h7A1.25 1.25 0 0 0 12.75 13V5.5Z"/><path d="M9 1.75V5.5h3.75"/></svg> 86 View CV 87 </a> 88 </div> 89 90 <div class="section"> 91 <img src="profile.jpg" alt="Lars Pohlmann Profile Picture" class="profile-img" loading="lazy"> 92 <h2 class="section-title">About Me</h2> 93 94 <p class="typewriter" id="typewriter-text"> 95 My name is Lars Pohlmann. I started working with PHP in 1999 96 and have been a freelance Symfony developer in Hamburg since 2010. 97 That means more than 25 years of PHP experience and 15 years as a freelancer.
98 <span class="cursor" id="cursor" style="display: none;"></span> 99 </p> 100 </div> 101 102 <div class="section reveal"> 103 <h2 class="section-title">Experiences and Knowledge</h2> 104 <ul> 105 <li><strong>Main focus:</strong> PHP & Symfony â secure and scalable web applications</li> 106 <li><strong>Codestyle & Testing:</strong> phpUnit, phpCS, psalm, phpMD</li> 107 <li><strong>DevOps & Infrastructure:</strong> CI/CD with Terraform, AWS, GitHub Actions, Bitbucket Pipelines</li> 108 <li><strong>AI-assisted development:</strong> Claude Code, Model Context Protocol (MCP)</li> 109 <li><strong>Teamwork:</strong> Agile environments, Jira, collaboration in large teams</li> 110 <li><strong>AWS experience:</strong> EC2, ECS, Fargate, API Gateway, RDS, DynamoDB, S3...</li> 111 <li><strong>Additional experience:</strong> MySQL, Docker, Datadog, Redis, Java, Spring Boot, MongoDB, Kubernetes, Open Telekom Cloud (OTC), OAuth, OpenID, Shibboleth, Okta</li> 112 <li><strong>Languages:</strong> German (native), English (fluent)</li> 113 </ul> 114 </div> 115 116 <div class="section reveal"> 117 <h2 class="section-title">Past clients</h2> 118 <ul> 119 <li>A Hamburg-based global statistics platform with millions of users, providing market data and insights to thousands of businesses across 170 industries. (2015-2024)</li> 120 <li>A sustainability software provider offering solutions for ESG, supply chain, and climate management, supporting over 250 companies with regulatory compliance. (2025-2026)</li> 121 </ul> 122 </div> 123 124 <div class="section reveal"> 125 <h2 class="section-title">Pet projects</h2> 126 <ul> 127 <li><a href="https://github.com/larspohlmann/simple-feed-reader" target="_blank">Simple Feed Reader</a> â A mobile friendly, self hosted RSS feed reader. Symfony/Angular/Docker. If you want to test it, <a href="https://lars-pohlmann.de/reader/" target="_blank">register here</a> and send me a message, because I need to approve users manually.</li> 128 <li><a href="https://github.com/larspohlmann/phptramp" target="_blank">phptramp</a>
128 â A static analyzer that detects tramp data in PHP codebases: parameters passed through chains of methods that never use them.</li> 129 <li><a href="https://lars-pohlmann.de/markdownobserver" target="_blank">MarkdownObserver</a> â A viewer and folder watcher for automatically generated and modified markdown files, open source, created with Swift.</li> 130 <li><a href="https://github.com/larspohlmann/mcp-phpcs-server" target="_blank">mcp-phpcs-server</a> â An MCP server in pure PHP that exposes phpCS to AI coding tools.</li> 131 <li><a href="https://github.com/larspohlmann/mcp-phpstan-server" target="_blank">mcp-phpstan-server</a> â An MCP server in pure PHP that exposes PHPStan to AI coding tools.</li> 132 <li><a href="https://apps.apple.com/app/id6752116276" target="_blank">Simple Sober Tracker</a> â A sobriety tracking app for iOS, created with Swift.</li> 133 <li><a href="https://apps.apple.com/app/id6756883478" target="_blank">In Season For You</a> â A seasonal calendar app for iOS, created with Swift.</li> 134 <li><a href="https://apps.apple.com/app/id6755780921" target="_blank">SMB Wi-Fi Analyzer</a> â SMB shares speed tester, created with Swift.</li> 135 </ul> 136 </div> 137 138 <div class="section reveal"> 139 <h2 class="section-title">Contact</h2> 140 <div class="contact-info"> 141 <div class="contact-item"> 142 <span class="label">Address</span> 143 <span>Bernstorffstr. 170, 22767 Hamburg</span> 144 </div> 145 <div class="contact-item"> 146 <span class="label">Phone</span> 147 <span>+(49) 176 219 514 12</span> 148 </div> 149 <div class="contact-item"> 150 <span class="label">Email</span> 151 <span class="email-protected" data-email="ed.nnamlhop-sral@ofni"></span> 152 </div> 153 <div class="contact-item"> 154 <span class="label">LinkedIn</span> 155 <a href="https://linkedin.com/in/larspohlmann/">linkedin.com/in/larspohlmann</a> 156 </div> 157 <div class="contact-item"> 158 <span class="label">Malt</span> 159 <a href="https://www.malt.de/profile/larspohlmann" target="_blank" rel="noopener">malt.de/profile/larspohlmann</a> 160 </div> 161 <div class="contact-item"> 162 <span class="label">freelancermap</span> 163 <a href="https://www.freelancermap.de/profil/senior-backend-developer-php-symfony" target="_blank" rel="noopener">freelancermap.de/profil/senior-backend-developer-php-symfony</a> 164 </div> 165 <div class="contact-item"> 166 <span class="label">Location</span> 167 <a href="https://www.google.com/maps/search/?api=1&query=Bernstorffstr.+170%2C+22767+Hamburg" target="_blank" rel="noopener">View location in Hamburg</a> 168 </div> 169 </div> 170 </div> 171 172 <footer class="footer"> 173 <a href="imprint.html">Imprint</a> 174 </footer> 175 </div> 176 177
177<script type="application/ld+json"> 178 { 179 "@context": "https://schema.org", 180 "@type": "Person", 181 "name": "Lars Pohlmann", 182 "jobTitle": "Freelance PHP & Symfony Developer", 183 "url": "https://lars-pohlmann.de/", 184 "image": "https://lars-pohlmann.de/profile.jpg", 185 "address": { 186 "@type": "PostalAddress", 187 "streetAddress": "Bernstorffstr. 170", 188 "addressLocality": "Hamburg", 189 "postalCode": "22767", 190 "addressCountry": "DE" 191 }, 192 "telephone": "+49 176 219 514 12", 193 "knowsAbout": [ 194 "PHP", 195 "Symfony", 196 "Backend Development", 197 "AWS", 198 "CI/CD", 199 "AI-assisted development", 200 "Claude Code", 201 "Model Context Protocol (MCP)" 202 ], 203 "sameAs": [ 204 "https://linkedin.com/in/larspohlmann/", 205 "https://github.com/larspohlmann", 206 "https://www.malt.de/profile/larspohlmann", 207 "https://www.freelancermap.de/profil/senior-backend-developer-php-symfony" 208 ], 209 "areaServed": "Hamburg" 210 } 211 </script>
211 212 </main> 213 </div> 214 215 <div class="ide-statusbar"> 216 <div class="statusbar-left"> 217 <span class="statusbar-item statusbar-branch">main</span> 218 </div> 219 <div class="statusbar-right"> 220 <span class="statusbar-item">UTF-8</span> 221 <span class="statusbar-item">Markdown</span> 222 </div> 223 </div> 224 </div> 225 226
226<script src="main.js"></script>
226 227</body> 228</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.