Jan Milosh 

Panaderia Guadalupana — Jan Milosh is a Test Engineer at CoverMyMeds. She recently worked as a developer at Pykl Studios/Stratesphere. She’s also the Mentorship Coordinator for Girl Develop It Columbus. She develops in Python, Ruby, and JavaScript, amongst other web technologies. When not doing development, she can be found playing music and living healthfully.

How did you get started as a web developer?

My start was a little different than most because I didn’t intend to become a developer. I was just a business owner who needed a website. We asked our internet provider for suggestions and they recommended WordPress. After a little searching, it looked like WordPress was perfect for us, so I started learning everything I could about it.

Jan Milosh
Jan Milosh is a Test Engineer at CoverMyMeds.

I ended up purchasing a theme from CyberChimps.com. They had a great support forum where I was able to get instructions for applying custom CSS to my theme. At that time, I knew nothing and it all seemed very foreign to me. I was impressed by how helpful their support guy was and how he would encourage people to learn more, even giving links to learning resources. This was my inspiration to dig deeper and keep learning. Looking back, I would say that this support person was an important influence and inspiration.

After I got my first site launched, I decided to create a blog, which was another WordPress site. After six months of experimenting with WordPress, I decided to build my own theme. That caused me to dig a lot deeper into PHP and my own HTML/CSS. After creating my own theme, I had the confidence to take on some freelance work that came my way through the WordPress Columbus Meetup. That was just over two years ago.

So you just took off from there?

When I realized that people would pay me to do that work it became even more exciting. At that time I had recently left my job as a physical therapist assistant to return to my previous profession as a mechanical engineer and join my husband in our engineering business. We eventually had enough of a lull in the business that I had the luxury of time to spend learning how to build websites. A number of projects came my way, so I started building custom WordPress sites for people.

I focused exclusively on WordPress for about six months before deciding I was ready to learn JavaScript. I tried various tutorials, but remember really taking off and starting to build little JavaScript apps after completing a lynda.com JavaScript course. Once I got into the logic of programming I was hooked and knew I wanted to be a developer. I signed up for Ruby on Rails and Java courses through O’Reilly School of Technology and basically studied full-time for a number of months. My goal was to find a full-time position with a company, rather than continuing with freelance work.

How did you decide what languages to learn?

I see these languages as just being tools, right? In the beginning I was influenced by the people I met at meetups and what languages and libraries they recommended. My goal was to be employable, so that influenced my decision to study both Java and Rails.

I’ve also always tried to focus on what I really need to know for the present.

I’ve also always tried to focus on what I really need to know for the present. Sometimes that means abandoning what I’m working on. I dropped Java and Rails to focus on learning AngularJS for my job at Pykl Studios. When Pykl adopted Python, I started learning that. Now I’m focusing primarily on Python and Ruby for the work I’ll be doing at CoverMyMeds.

Many of the higher level ideas would translate across languages, right?

Yes, but there are definitely a lot of differences too. Ruby has a lot of good testing tools because their community is very big on testing. Data analysis is a big thing in Python, something I find exciting as an engineer, so I will continue to play with that even if I’m not using it at work. I have so much I want to learn and do and I don’t always have the time to do it [laughing].

A common problem, right? When did you start at Pykl and what was your role there?

A little over a year ago I was working at my computer and I got an email through the AngularJS Meetup that said that Pykl was looking for a junior developer. I wasn’t sure if I had enough experience, but I thought, “What the heck. I’ll apply.” So I immediately sent back an email and said, “Hey I’m interested in learning more about the job and here’s a link to my portfolio.” Then I opened up Google Analytics where you can…

Pykl Studios.
A screenshot from Pykl Studios.

…[Laughing] You can watch who is visiting your site?

Yes, in real time. I watched as they clicked through my site and I was very excited. It was a good moment. They got back to me right away and I had a phone interview, where I was asked to code some basic exercises in JavaScript. I think I did FizzBuzz and a Fibonacci sequence. Fortunately, I had been practicing with those types of exercises through Project Euler.

It can’t hurt, right?

Especially because those exercises have become tests for developers. I’m not sure it’s the best measure of a developer because to me the overall body of work is more important.

Anyway, I passed the test and was asked to come in for an interview and spend a couple of hours coding a sample website. After that, I sat down with the team at Pykl and I answered questions about my code. They apparently liked what I did and extended an offer, which I was happy to take.

You’ve just accepted a position with CoverMyMeds. How’d that come about?

That has been a very recent development. About two and half weeks ago I went to lunch with a friend I know through Girl Develop It. She and another co-worker from CoverMyMeds had come to our monthly Hack Night and made an announcement that they were looking for Test Engineers. I think this position had been announced before at Ruby Brigade, but I hadn’t quite bitten yet, although I wanted to hear more. I told her this and she invited me to lunch. They have a chef there…

The logo for CoverMyMeds.

…[Laughing] I am jealous!

I wouldn’t work there just for that, but I’m really happy about that particular perk. So I went to lunch, met the team, and spoke with their test team leader. He described the work they do and I got excited because it sounded very interesting and challenging.

So they are going to really put you to work then?

I hope so. I thrive on challenges. As a developer I’ve been looking at things from a wholly different angle. I’ve been building things and hoping that they work. As a test engineer, I’ll now be trying to push things to break, in order to ensure that they don’t fail for the user. To do this I’ll be writing automated tests.

For the interview I had to do black box testing and they allowed me to use whatever framework I wanted, so I picked Capybara. I’m grateful that at Pykl I did similar testing, but with Protractor, which is an AngularJS wrapper for Selenium WebDriver. So Capybara is the same type of framework, only in Ruby.

What meetups do you attend? What was the impetus for going your first time? It can be daunting being the new person.

I got started with the Columbus WordPress Meetup Group, which is a great group of people. I didn’t even realize there was such a thing as a meetup, but I stumbled across it as I was searching for information and thought I’d check it out.

That was the only meetup I went to for quite a while and I was pretty devoted to it. Eventually, as my skills grew, I was helping people at the meetup instead of being the person who’s there to ask for help. And I remember helping someone and it caught the attention of the two women who were sitting right in front of me.

They were active members of GDIC and invited me to come to their next meetup and asked if I’d like to help out as a teaching assistant. I started going to GDIC regularly and also helped with a number of their classes.

GDIC occasionally makes field trips to other meetup groups. This was how I made my first visits to the JavaScript Meetup and Columbus Ruby Brigade. I still attend those meetups regularly. I also go to Central Ohio Python Users Group regularly now and AngularJS when I can.

Now that I’ll be working at CoverMyMeds my emphasis on Angular will diminish. I only have so much time to focus on the things I really need to know for my job, so with my free time I’ve been studying Python and Ruby, but I’ll still keep learning JavaScript, since you can’t escape it.

[Laughing] No, it’s where the web’s going.

Right? People love to hate it. If you want to talk to the browser­ ­you need to speak JavaScript, right? It’s a necessary thing, so you need to learn to work with it and respect it for what it is, but don’t try to make it what it isn’t. I probably have an advantage in that I’ve always been interested in JavaScript, but it can be frustrating for a back­end developer who comes to it with different expectations.

When you start with JavaScript, you learn its quirks and you deal with them. Then when you begin learning Python or Ruby, you see the beauty of those languages and it’s a breath of fresh air. It’s almost easier, in some ways, to come at it from the frontend instead of the other way around. But I don’t think that just because you’ve always done one thing that you can’t learn to do another. It’s just opening yourself up to new ideas.

My introduction to you was your talk at the JavaScript Meetup about Prerender.io for Angular apps. Do you often speak at meetups? Any tips?

[Laughing] Yeah I have tips. My first talk was at the Python Meetup and I gave a lightning talk. The Python Meetup is a small group and for their talks, whoever’s there, they discuss something they’re doing. So I thought, “You know, I used Python for some data manipulation for a map in D3.js that I made.” I needed to pull data from an API and go out to the Google Geolocation API to get the longitude and latitude for some cities. Python worked really nicely for what I was doing. I had never spoken before but I thought, “What the heck?”

Jan Milosh’s D3.js weather graph app.
One of Jan’s projects, a D3.js weather graph app.

It’s an informal group and that’s the perfect way. Just share something interesting that you’ve done. That’s all you really need to do.

I’ve since done a couple more talks at the Python Meetup and those are all easy and informal. I really recommend that you share what you’ve done, even in the smallest way. Just find a small meetup that’s hungry for people to talk and share something you’ve done. It’ll be an easy talk to give if it’s something you’re interested in.

More recently, I gave a talk on D3.js at Code Camp. It was a basic presentation, but I tried to make it interactive without making it tedious to set up. You could download the talk from GitHub and play with it, without having to load any dependencies, except you needed to run a server. One of my coworkers was sitting in the back of the room and he said that about half of the people were interacting with the code, so that was good.

The thing that I always tell myself is that I will never be as bad as the worst talk I've ever heard. Since I can’t even remember the worst talk I've heard, I bet no one else probably does either. Even if there’s a question that you don’t have an answer for, somebody else in the audience probably does and will help you out. Just remember that people are your friends out there.

Just find a small meetup that’s hungry for speakers and share something you’ve done. It’ll be an easy talk to give if it’s something you’re interested in.

So you are the Mentorship Program Coordinator for Girl Develop It Columbus. What does that entail?

I see it as being a matchmaker. At one of the admin meetings I suggested that we create a program to help people find mentors. If you want to continue learning or get a job, it helps to have professional guidance.

I was fully prepared to volunteer to run the program because if you’re going to bring an idea forward, you had better be prepared to be the one to do it. Everyone else thought it was a worthwhile, so I said I would do it.

At the meeting I also mentioned that I wanted a mentor too. A more experienced developer sitting next to me at the meeting offered to be my mentor. I’ve found that lot of people are willing to help those less experienced than themselves. As a mentor, you learn by teaching and you can also get re-energized by the person you’re helping.

We have a form that we ask prospective mentors or mentees to fill out. I help put them together based on the mentor’s experience and what the mentee is hoping to learn. I suggest a minimum time commitment of about two hours per week for about a month. And past that it’s up to them to keep going if they would like. We also ask that the sessions take place over remote shared screens, something like Join.me, in a public place, or at our hack nights.

Tell me about Girl Develop It Columbus. How big is it? When did it start?

I believe our local chapter was started in 2011. We can be found on Meetup.com. Our major events are a hack night on the fourth Wednesday of each month and also Code and Coffee’s which can vary, but right now are falling on the second Monday of each month. There are usually about 10-20 people at our events, sometimes less at Code and Coffee. It can be a fairly intimate group.

We also have classes such as HTML/CSS, and JavaScript. I recommend checking Meetup.com to see what's scheduled.

For our Hack Nights we meet at Wild Goose Creative and CoverMyMeds is our sponsor. We’re very grateful for their support since they make it possible for us to meet there. It works out well given the size of our group, which is much smaller than other meetups.

There are advantages to smaller groups, since you can’t hide in the back of the room. You’d probably get a lot more out of it.

It’s more of an informal meeting. We typically don’t have presentations, but instead people come in with a problem, which we help them find a solution to. It’s a community of people helping each other with the goal being to promote women as developers. Also, we don’t care if you don’t want to make a career out of this. That’s OK. If you just want to learn how to make websites, that’s fine too.

We’ve had ladies come in who want to start a blog, so we’ll help them decide which platform to use. I have a background in WordPress, we also have a guy with a Drupal background. We’ll recommend a tool that’s geared to what that person wants to do, to get that person going. We want to be a hub to let people branch out.

What we do isn’t an exclusive thing. We want to encourage women to infiltrate [laughing], to get out in the community, to join the meetups and involve themselves in other groups. That’s why we have our field trips to meetups, to show what’s out there. I imagine those groups don’t know what hit them! Suddenly there are women here, what are those things?!

I can’t count the number of times I’ve looked around and thought, “Yep, I’m the only woman here.” I went to engineering school and had classes where I was the only woman and I don’t really care. I enjoy what’s going on intellectually and when you share an interest with other people, then age, gender, and any other differences don’t really matter. The only thing that divides people is a lack of communication. When you speak the same language, suddenly you have common ground and there’s something you can talk about.

Do you have any suggestions for women looking to get into web development?

Yes, I have a lot of suggestions [laughing], although I don’t know if they’re always taken. The one thing that really helped me was when I discovered a podcast called ShopTalk, with Chris Coyier and Dave Rupert. Chris founded CSS-Tricks, which is a leading blog about frontend development.

My Google searches lead me there at least once a week.

He’s always at the top of the results.

I eventually found this podcast and I’ve listened to every episode, which meant going back and listening to around fifty past episodes.

What really struck me was Chris saying, “Just Build Websites!” He’ll have people ask him, “What should I do to get better? I want to have a career in web development. What should I learn next?” His response is always, ”Just Build Websites!”

Jan Milosh’s loan and savings calculator.
Another of Jan’s projects, a loan and savings calculator app.

I took that to heart and I just kept building websites. Sometimes they were entire websites or little JavaScript applications, like a mortgage calculator or a color palette creator. All of those early projects are still in my portfolio and I am proud of them, even though I know that when you look at the JavaScript, you’ll go “What!?” But that doesn’t matter since they work and it was the best I could do at the time with what I knew. I learned from each of those projects and I took what I learned and I did better the next time, to the point of building myself a career.

When I started I was just trying to understand how HTML works, so I did tutorials, but eventually you need to jump off the tutorial and build something that’s just yours. If you can’t think of something to do, then go to someone else’s website, copy their basic layout, and alter it to make it your own.

I learned from each of those projects and I took what I learned and I did better the next time, to the point of building myself a career.

When you’re building your first site, you’re going to struggle for days. Once you’ve built it, you’ll then have that as a base for the next thing you build. But if you’ve never done that first site, then you’re not going to advance. You really need to know HTML, CSS, and JavaScript too, before you move on to building more advanced things.

Whenever I discovered something cool I would try to build it, but I would limit the number of new things to a reasonable amount. There was always something that I was trying to learn, which I would incorporate into my project. That’s why I have a lot of projects, although I was spending too much time on it, like no work-life balance. As I’ve been progressing I am trying to have a better balance between work and life, but it’s not easy to get into this.

There’s always a lot to learn, which can be daunting. How were you able to carve out the time?

I’m at a point in my life where I have the time. My kids are adults and I can’t imagine doing this earlier in my life because I need to have an incredible amount of focus to do things. I tend to put my whole being into what I’m doing and that’s what happened after I started on this path. You have to find the space and the time if you want to get into development. I don’t know if there’s any way around that.

Jan Milosh’s color palette creator.
One of Jan’s projects, a color palette creator app.

I have coworkers who joke that their side projects are their kids because they literally have no time for development outside of work.

That’s how it should be, really. When you have little kids, or even teenagers, they take up so much of your time. There’s something to do every night of the week. Good luck fitting dinner in. Your whole life revolves around your kids, and it’s really a luxury to be able to spend time with them, though it can be frustrating when you want to do your own thing too.

I have absolutely no regrets about that period of my life. I interrupted my career as an engineer to stay home with my kids. My husband traveled a lot with his work, so in order to have a sane family life, we decided that I’d be the one to stay home. And I’m glad that I did. The kids have exceeded my dreams of how they’d turn out. We have a good relationship and that comes from spending the time with them.

What’s your family’s perception of your new career?

After I built the first website for our business, which is for my husband’s engineering work, I was always on my computer, learning to build things. I basically had a full-time, eighteen-hour-a-day hobby which was a little hard to take because I wasn’t producing anything for the family.

But then I got my first freelance job and suddenly I was able to contribute. I would sit at the computer and work and my husband would sit a plate of food in front of me, so that I could eat and keep working. He has been extremely supportive in helping me to do this. Before it became an actual vocation, where I could earn some income, it did look a lot more like a dream.

Now, I’d say that he’s very happy I found this. I still spend a lot of my free time working at it, although the kids are gone and my husband is self-employed, so he’s often working in the evenings too. So, I guess it works out. I’d say there’s very good support. He does a lot of the cooking and grocery shopping because I have been very busy for a couple years now. I greatly appreciate that. He’s a great guy.

What are your interests outside of web development?

[Laughing] Like those things I used to do before? A couple of days ago I went out and bought a new sound system because my old stereo is thirty years old and really didn’t work. Last night I put on some music, took out my flute, and I actually played along and jammed a bit. Music was my original passion and it’s what I wanted to do when I grew up, but I found that it wasn’t a very good way to make a living, so I ended up being an engineer. I still played music for years, and when my kids were little, I started seriously studying piano.

It’s practice. Music is good training for being a developer because what it takes is devoted, regular practice. That’s what I’ve done and will continue to do.

I would have loved to have been a performer, but it’s a very hard thing to do. I practiced four hours a day when I was really studying piano. I’ve played five different instruments that I’ve actually performed with: saxophone, flute, piano, mountain dulcimer, and guitar. Now if I want to just pick up an instrument and play it for fun, I can do that. I’m not thinking in terms of being a performer or in a band anymore. I like playing just for the joy of it and plan to spend more time doing that.

It’s fun to play along with music. With the piano you can just sit down and play it, but with the flute and saxophone it’s nice to have music to play along with. I’ve concluded that the only way to learn is to just play along and accept the fact you’re going to be really bad for a long time.

That’s true with anything new you learn, right? It’s just like making websites.

It’s practice. Music is good training for being a developer because what it takes is devoted, regular practice. That’s what I’ve done and will continue to do.

What are your goals for the next year?

My goal is to be the best test engineer that I can possibly be. I have personal goals too. Whenever there’s a change, it’s a good time to switch up your habits. At CoverMyMeds, I’ll have a healthy lunch prepared for me every day and I won’t have a cupcake place a block away from work, so I will hopefully improve my diet. Being a developer is not the best thing for your physical being.

We do sit all day.

They have standing desks at CoverMyMeds, so I won’t have to sit all day. I was also told there’s a gym in the building, so I look forward to that. I became a physical therapist assistant when my kids were teenagers, so health and fitness are two things that are important to me. I’ve definitely shoved that aside in my pursuit to become a developer. I’ve realized that long term, it’s not good to have that unhealthy mindset, so I’ll be going to the gym and eating better. I’ll also be getting back into yoga, which is another interest of mine.