Once a Sales Director at a B2B software company, Danny Olinsky always had product ideas but never had the technical skills to make them happen. After graduating from Flatiron School’s Web Development program, he co-founded StatusPage.io and headed off to Y Combinator.
Currently: Co-founder of StatusPage.io (YCS13), Flatiron Web Development Alum
Previously: Director of Sales at Argyle Social
Nearly a year and half out of Flatiron, Danny shared with us his experience learning to code and his path to becoming a co-founder of StatusPage. Here’s his advice for new coders and budding entrepreneurs:
1. Learn to Code
I realized I had to start coding when I had all these product ideas that I wanted to create but never had the technical skills to actually execute. I wanted to be able to actually build a minimum-viable product. I was done with being the idea guy.
“I wanted to be able to actually build a minimum-viable product. I was done with being the idea guy.”
I initially got started with online resources and quickly found that I loved programming and wanted to do it full-time. When I was first learning, I started with something small‚ a CSV parser. I trudged through errors I’d never seen before. When I finally got the script to run, it felt amazing. Suddenly this little script turned into a new, magical CSV parsing superpower—and the feeling was totally addictive.
Aside from purely enjoying practicing a new skill at Flatiron, I’m extremely happy that I learned to program, even when I’m not actively building something. At a small start up like ours, the daily activities vary, but no matter what, I’m in code every day at StatusPage.
StatusPage provides customizable status pages for companies like KISSmetrics, Kickstarter, and Citrix.
Here are a few ways Flatiron School has helped me do my job:
Shipping Code
Startups are super focused on shipping code. In the early days, there’s really nothing else a founder should be doing aside from writing code or talking with prospects and customers. Within the first week of StatusPage, I helped refresh the way we handled Postmortems within the platform—it was a small feature but a personal win to get code out the door in a production environment. A year and a few months in, I’m now working with one of the other co-founders, Steve, on a B2C product powered by StatusPage data.
Selling to Developers
Anyone building a technical startup absolutely needs to understand the problems at hand and be able to relate to people (specifically developers) on a technical level. This doesn’t mean you need to be Director of Ops or a senior engineer, but it does mean you need to understand how a Sidekiq backup could lead to delays in user notifications. In order to communicate with developers about your product, you have to have a pretty deep, technical understanding of it how it works.
Providing Awesome Customer Support
One of the easiest ways to turn a customer into an evangelist is by helping debug their issue in real time. It has been a huge plus that everyone on our co-founding team can step up and handle technical support when needed. A big part of customer support for any technical product includes looking through logs, error messages, worker queues, mail queues, and API calls to see where things go wrong.
“One of the easiest ways to turn a customer into an evangelist is by helping debug their issue in real time.”
Making Things Work Together
Every SaaS company these days uses external services to build their app or communicate with customers. For example, I use Salesforce for managing customer relationships and Segment.io as the middleman between our user data and sales/marketing services. Part of what I learned at Flatiron was how to work with APIs and piece together different services to add value to my own applications. For my final project there, this meant querying the APIs of Github, CodeSchool, Treehouse, and blogs to build a class leaderboard. These types of experiences have helped expedite the process of learning new APIs and piecing services together when needed.
2. Find People Who Can Help You Learn
I was working a day job when I first started coding. Learning on the side is fun when you get things right, but it can be really frustrating when you are up at 3AM trying to debug some weird error in the middle of the stack. In these cases, Google and Stack Overflow only go so far.
What really made the difference at first (and even now) was having someone else to learn from. Even before starting Flatiron School, I worked with an engineer, Mike Novi, who now actually works for StatusPage. He helped me out and would answer my questions when I got stuck. When you are first starting out, it is extremely helpful to be able to lean on someone else and get help with roadblocks when needed.
“It is awesome to have a whole class of people around you who are 100% in.”
One of the main reasons I chose Flatiron School was the people. It is awesome to have a whole class of people around you who are 100% in. When you are surrounded by a group of peers just as dedicated to learning as you are, there is a sense of camaraderie and eagerness to help each other out. You are all in it together.
3. Have Faith in the Learning Curve
Learning to program is tough. In the beginning, it takes a lot of hours to get to a place where everything you have learned starts to make sense. But, little by little, the pieces fit together. It’s hard when you’re in the weeds and have no idea what’s going on, but you have to trust that learning is going to get easier. Suddenly you’ll see results, and it starts to feel really good.
It is important to build off of this momentum, because eventually, you will hit another plateau. The only way to keep learning is to keep challenging yourself—whether that means digging deeper into computer science foundations, dedicating time to level up on front-end skills, investigating hardware hacking, or anything else.
4. Build Stuff or Sell Stuff
There are two things that a software startup the size of StatusPage really needs: code and sales. If you want to found a startup, you need to get really good at one of these, or some combination of the two. As the founder with more sales experience, I’ve primarily focused on growth, although recently I’ve been able to dive back into new feature development which is a ton of fun.
If you are handling the business side of things, you’ll also need to be able to deal with all the other stuff that comes with a startup as well. Some of it is not glamorous. It is fielding inbound support and debugging issues or prospecting a 200-company hit list that you’ve targeted as your core customer base. You will get the chance to actually code if you’re just coming out of a program like Flatiron, but be ready to have a multitude of responsibilities at an early stage startup.
A Few Last Words
If you’re looking to get involved in a startup right out of coding school, I definitely encourage you to start hacking away on the product. But keep in mind the problem you’re trying to solve and the people who will actually use your product. Once you have a something that works, you’ll most likely need a really good engineer to join you as a co-founder to help shape and scale the codebase and infrastructure. Make sure it’s someone that you’ll be able to learn from, too.
For the majority of students coming out of a coding school, getting a Junior Dev job is usually the ideal scenario. This way, you can keep honing your skills within a larger team. It’s also a great path to start your own thing down the line with even more technical firepower at hand. Maybe if you keep learning for a few years, you’ll be able to bring on someone to handle the business side of things while you do the heavy lifting on the core product and infrastructure.
Either way, never stop learning and seek out people that are better than you when diving into something new.
More About Danny
Stay tuned for more Flatiron School Alumni Stories. In the meantime, learn more about our Web Development Immersive right here.