
Ashley Willis
Sr. Director of Developer Advocacy
Seattle, WA
I've built my career in Open Source by focusing on people, not just projects. At GitHub, I lead Developer Relations with a commitment to helping developers grow and communities thrive. The technical challenges matter, but so do the human connections. I believe the best work happens when we make space for both.
interface Developer {
name: string;
skills: string[];
interests: string[];
};
interface TechStack {
devOps: string[];
backend: string[];
frontend: string[];
design: string[];
};
type ContactType =
| 'github'
| 'twitter'
| 'linkedIn'
| 'bluesky'
| 'email';
const techStack: TechStack = {
devOps: [
'GitHub',
'Docker',
'Kubernetes',
'Cloudflare'
],
backend: [
'Golang',
'Python',
'Node.js',
'Flask'
],
frontend: [
'JavaScript',
'Angular',
'Vue.js',
'Jinja2',
'HTML5',
'CSS3',
'TailwindCSS',
'Astro',
'SCSS',
'Markdown',
'WordPress'
],
design: [
'Adobe Illustrator'
]
};
// Developer profile
const me: Developer = {
name: 'Ashley Willis',
skills: [
...techStack.devOps,
...techStack.backend,
...techStack.frontend,
...techStack.design
],
interests: [
'Open Source',
'Developer Experience',
'Developer Relations',
'Performance',
'AI',
'Accessibility',
'Networking',
'Photography',
'Maker Projects',
'Public Speaking'
]
};
// Contact function
const contact = (type: ContactType): string => {
switch (type) {
case 'github':
return 'https://github.com/ashleymcnamara';
case 'twitter':
return 'https://x.com/ashleymcnamara';
case 'linkedIn':
return 'https://www.linkedin.com/in/ashleymcnamara1';
case 'bluesky':
return 'https://bsky.app/profile/ashley.dev';
case 'email':
return 'hello@ashley.dev';
default:
return 'Send fax.';
}
};