On December 31st, 2015, I became an alien of extraordinary ability.
I still have to make a trip abroad to get my passport stamped with the new O-1 visa, but there's a piece of paper in a lawyer's office somewhere saying that I'm official. United States Citizenship and Immigration Services (USCIS) was even kind enough to tick a checkbox that says my visa starts working right away.
According to statistics only about 13,000 people got an O-1 visa in 2015. Compare that to the very-hard-to-get H1B visa which was awarded to 85,000.
So how did a schmuck like me get a visa that's normally reserved for world-renowned artists, Nobel laureates, top models, and others at the pinnacle of their industry?
I had a great lawyer, and I had a guy who believed in me enough to pay that lawyer.
That's the gist of it. I would never have been able to pull it off on my own. A large part of getting a visa for those with an "extraordinary ability in the sciences, arts, education, business, or athletics, …[that] has been recognized nationally or internationally for those achievements [or that ability]"  is having a lawyer who knows what kind of achievements impress USCIS and who can build a coherent application out of whatever scraps of info you can find that proves you're extraordinary.
It took me nearly two decades to amass those extraordinary scraps. It's been:
- 2 years since I first asked a lawyer "So, do I have a case?"
- 5 years since I first said to myself "The O-1 is best. What do I need to get it?"
- 8 years since I first said to myself "Fuck building websites for \\\$7/hour. I wanna be a rockstar developer!"
- 19 years since I first said to myself "Books will be written about the things I invent."
I was a weird 9 year old … But that's a story for another time.
This story started way back in freshman year of high school. I had just convinced my mum to spend my college fund on installing broadband internet in our house.
The first thing I did when we got it was to download Jurassic Park 3 and K-Pax. The second thing I did was to start teaching myself how to build websites.
I fell in love with PHP and CSS. Building websites was more fun than the DOS and Windows apps I had been building since 6th grade, and way more enjoyable than solving abstract algorithmic puzzles in my computer class.
I could build things, man! I could right-click any website to see how it was built and then make my own! Holy shit!
At 15 I got my first job
The following summer, my mum convinced the IT department at her work to take me on as an intern. They didn't take interns, but they had a closet full of old computer parts that needed cleaning, so eh why not.
I built a tiny widget for their intranet which crashed the entire website. I didn't understand why my pure PHP bubble sort was so slow, but "Oh-em-gee, somebody gave me money to write code. Holy shit!".
I was also spending tons of time in forums, the social networks of the early 2000's. Every popular site had one, and talking to people from around the world opened my eyes.
I often read in the forums that "To get a job as a programmer, you need experience. Doing open source is good for that."
So I started contributing to the thriving open-source ecosystem of modifications for phpBB - the most popular forum software. My most successful mod, a way to add descriptions under topic titles, had over 10,000 downloads. This was my first claim to fame.
Eventually, I got frustrated with phpBB, so I started building my own forum software that would be easier to modify. It was based on modules from the ground up, and with time, it became a full-blown CMS. Even if it was never popular, it helped land me a job at an agency creating websites.
By 19 I had a real job
At that job, I single-handedly built the City Museum of Ljubljana website based on my own open-source CMS system with just PDF design specs and a lot of project-manager handwaving to work off of. That agency owner must have had a great deal of faith (and cojones) to let a high school senior run the whole tech side of the agency.
After working 10-hour days and saving money all summer, I took a hard-earned vacation: two weeks by myself in London.
In the London Science Museum, I discovered that my childhood heroes - people like Watt, Edison, and Bell - weren't famous because they were inventors. They were famous because they were businessmen.
I started reading about startups, and I saw that programmers made way more than $7/hour. I learned about a special class of programmer who can charge however much they want - the rockstars. They have fame and fortune and travel the world to speak at conferences and write blogs and have pockets lined with wads of cash.
At 20 I decided to become a rockstar ninja
So naturally, I started blogging.
Through my blog, I started connecting with the local tech community on Twitter. Meeting them in person would have been far too strange. I wouldn't know what to say! I made plenty of time for Twitter and quickly became a mini-celebrity. Everyone knew about @swizec.
That next year, Zemanta won the first ever Seedcamp. These were guys from my hometown in Slovenia, and their startup was making it big in the tech world, getting VC money from the UK, the US, and who knows where else.
They were my heroes.
It seemed like all you needed to make it big and become a rockstar was an idea and some luck. Then VC investors would throw money at you.
I started building my own product that could make shitloads of money and become VC-backed - a Twitter client. Like TweetDeck, but oh-so-much smarter.
Zemanta came back from the UK with something far more important than just inspiration for an entire generation, though. They came back with an injection of real startup culture.
Their community manager - Gandalfar - brought back his experience with barcamps: community-driven un-conferences where regular developers gather, slap together a schedule of talks, and exchange ideas.
He organized Ljubljana's very first Barcamp in January 2009.
I gave my first talk at Ljubljana's first Barcamp
The internet told me that rockstars give talks, so I showed up and put my "Better Twitter Client" talk on the list. I was going to pitch this thing and I was going to become a famous startup founder.
It got a ton of hype. People I'd never even heard of came up to me and asked about this thing I was building. gulp
But my talk tanked. I ran out of things to say after 5 minutes. A guy I didn't know (an angel investor who later became a VC) asked me questions I couldn't answer. People grumbled in the hallways "Fuck that guy. He wasted a 45 minute slot. We could've had a real talk."
Things did not go well.
But I kept building. I kept blogging. I kept tweeting.
One of the inventors of the PNG format is from Slovenia, and he also gave a talk at that Barcamp . We didn't meet that day, but I blogged about liking his talk. A few years later, we connected via email and stayed in touch.
His reference letter was instrumental in getting my visa. Few things impress a government official more than a letter saying "I invented one of the most popular image formats, and I say this guy is cool."
Then my side-project became a startup
That failed Barcamp talk turned into an invitation to join the inaugural cohort at Ljubljana's first startup incubator. I quit my job and turned my side-project into my full-time project.
My next chance to "be a rockstar" was the first PHP Conference in Ljubljana. This time, I had enough to say to last the full 45 minutes.
My talk was shitty, and meeting people in person was still weird. I overheard someone say about my talk: "Oh, that nervous dude? Yeah, you could tell HE knew what he's talking about, but I have no idea what he said."
I was scared shitless, and I had no idea what I was doing, but I was going to be a rockstar even if it killed me. I couldn't go back to building websites for $7/hour.
So I kept building, I kept blogging, and I did a presentation anywhere they'd have me. I was shitty, but I was entertaining, and I was getting better.
It took 1444 posts, but eventually my first taste of broader fame came when I was the first to shit on Apple Ping. This was my first post to make the frontpage of HackerNews.
Even Fred Wilson used my Apple Ping post to say "Swizec said everything I wanted to say!". I thought I had died and gone to heaven. This was the main investor in Zemanta, and he mentioned me by name! Mum, I made it! I have arrived!
My problem was that I didn't have the know-how or the cojones to turn that event into an opportunity for our startup.
After two years, the startup tanked. But in the process, we got a government grant, became Seedcamp finalists in Prague, and appeared in local press a few times. These were the first achievements to make it into my O-1 visa application.
In 2011, I tasted Silicon Valley for real
DoubleRecall got into YCombinator the summer after my startup tanked. They were the first Slovenian startup ever to get in, and I convinced them to take me on as an intern. They thought my blog was dumb, but they couldn't deny that I had built a bunch of cool shit.
The experience taught me how successful startups work and what makes them tick, particularly in the US.
In turn, my blog got better, my tweeting got more popular, and I made regular appearances on the HackerNews front page.
Now even people outside of Slovenia knew about @swizec, that crazy dude with a hat.
That winter I wrote Why Programmers Work At Night. It's the most popular thing I've ever written. I even turned it into a book, which I still haven't finished, but anyway.
It got me noticed by Business Insider, by the Huffington Post, even by BBC radio.
My time had come. My blog was famous. I had become a Rockstar Programmer (tm).
In 2012, I dropped out of college
While researching Github data to look for programmer work patterns, I built a visualization. Because my blog was famous now, a Packt acquisition editor noticed my post. That lead to a book deal with a real publisher to write Data Visualization With d3.js.
Around the same time, I decided to drop out of college to work as a freelance developer for startups from Silicon Valley. My client acquisition strategy amounted to "I have a famous blog and I'm popular on HackerNews".
Surprisingly, I had no problem getting clients, and I got a taste of working for US companies. I became familiar with their payment ethic, their approach to work, and their culture. I decided I had to move to the US. It's the center of the tech world; only an idiot wouldn't take that chance.
However, work visas are damn near impossible to get if you haven't graduated college, and I'm still too young to have the 15 years of full-time employment experience that you need to compensate for the lack of a college degree.
I had a famous blog though. And a real publisher book on the way. And a self-published book.
Let's try for an O-1!
I kept blogging, I kept writing, I kept building my freelance business, and I kept giving talks at local events whenever I could.
In 2013, I started working more closely with a Menlo Park startup I really liked. We asked a lawyer if I could get an O-1 visa. They said my chances were slim because even though I was great at talking about programmers, I wasn't that great at programming.
And really, I just wasn't as great as I thought I was.
In 2013, I still wasn't good enough
Instead of giving up, I started building a better case.
In April 2014, I gave my first talk abroad - Write The Docs in Hungary. A speaker had dropped out at the last minute, and based on videos of my older talks, the organizers thought I had an interesting presentation style.
One of the conference recap blogs said: "Swizec had everyone simultaneously laughing, commiserating and applauding with his epic tale of blood, sweat, tears and rewrites."
That summer, I was invited to give a 2nd-day keynote at DrupalCamp Alpe Adria about why programmers work at night. The organizers knew me from the internet, had seen my older talks, and generally thought I could help.
One of the audience members had this to say: "First talk of the conference that made me want to close my laptop."
Much better than that first Barcamp talk in 2009!
In 2014, it started snowballing
I spent much of 2014 working with the kind of startups that enabled me to say that my code has been used by MasterCard, Mashable, Google, and other fancy names. My contribution may not have been huge, but it's there, and they used it.
In March 2015, I was the "committee chair" for Webcamp, which meant I helped Gandalfar pick talks. This looked amazing on my visa application.
Also in early 2015, I published a visualization video course through Packt, and I launched my second self-published book - React+d3.js.
I became more involved with another startup who was then mentioned in Forbes, on TechCrunch, and in various other noteworthy places. I'm not mentioned by name, but it looked great in my visa application.
In 2015, I got it
In October 2015, I got to speak at one of the biggest web conferences - html5devconf - because when they looked me up on the internet, they saw my rather impressive library of stuff.
This also looked great on my visa application.
But what I think looked best on my application for the coveted O-1 visa were the reference letters: one from the founder of that startup that made it onto Forbes; another from the inventor of PNG; and yet another from the organizer of Webcamp, the biggest conference series in Slovenia.
So here we are. It's 3:30am, I'm sitting in an overpriced apartment in San Francisco, and a piece of paper in a lawyer's office says that I'm an alien with extraordinary achievements. Cool, huh?
The things that looked particularly good on my application were:
- consulting and advising other companies (freelancing)
- global recognition (speaking at conferences)
- significant contributions to the field (semi-popular books/courses)
- having published materials in recognized journals (Business Insider, HuffPost, etc.)
- high income (income arbitrage: US client thinks you're cheap, Slovenia thinks you're rich)
- judging the work of others (picking talks)
- amazing reference letters (thank you!) (result of chance encounters)
If there is any point to all this, it's to show you that you can do it. Do the thing, then keep doing the thing. Whatever your thing might be.
The more you do, the more you'll get a chance to do.
Thanks to Will Fanguy, Morgane Suel, Anze Pecar, and Jure Cuhalev for reading draft versions of this post.
Learned something new?
Read more Software Engineering Lessons from Production
I write articles with real insight into the career and skills of a modern software engineer. "Raw and honest from the heart!" as one reader described them. Fueled by lessons learned over 20 years of building production code for side-projects, small businesses, and hyper growth startups. Both successful and not.
Subscribe below 👇
Software Engineering Lessons from Production
Join Swizec's Newsletter and get insightful emails 💌 on mindsets, tactics, and technical skills for your career. Real lessons from building production software. No bullshit.
"Man, love your simple writing! Yours is the only newsletter I open and only blog that I give a fuck to read & scroll till the end. And wow always take away lessons with me. Inspiring! And very relatable. 👌"
Senior Mindset Book
Get promoted, earn a bigger salary, work for top companiesLearn more
Have a burning question that you think I can answer? Hit me up on twitter and I'll do my best.
Who am I and who do I help? I'm Swizec Teller and I turn coders into engineers with "Raw and honest from the heart!" writing. No bullshit. Real insights into the career and skills of a modern software engineer.
Want to become a true senior engineer? Take ownership, have autonomy, and be a force multiplier on your team. The Senior Engineer Mindset ebook can help 👉 swizec.com/senior-mindset. These are the shifts in mindset that unlocked my career.
Curious about Serverless and the modern backend? Check out Serverless Handbook, for frontend engineers 👉 ServerlessHandbook.dev
Want to Stop copy pasting D3 examples and create data visualizations of your own? Learn how to build scalable dataviz React components your whole team can understand with React for Data Visualization
Did someone amazing share this letter with you? Wonderful! You can sign up for my weekly letters for software engineers on their path to greatness, here: swizec.com/blog
By the way, just in case no one has told you it yet today: I love and appreciate you for who you are ❤️