I will be speaking to MEM (Masters in Engineering Management) students at my alma mater, Duke University, on Friday January 22, 2009. I’ll talk about how I contributed to Mint.com’s success two years after I graduated from the Pratt School of Engineering.
When I have to write an internal tool I use Freemarker as my templating engine of choice, because in one file I can write html, and then access Java objects that are passed in a model. Its faster to use for development than engines like Velocity or XMLC, and has enough functionality to write the UI for a tool. The Java objects values are resolved using reflection, to either Strings or Integers.
Recently I ran into a browser compatibility issue. When I used the following code
The dates would render the current date but in the wrong millenium only in Firefox.
The solution is to instead do the following:
The correct date is printed. The format is month name, date, and year, and it also contains a timestamp.
I will be speaking on how I weighed the option to work for a large company versus a startup, the unique experience I’ve had starting out as the second engineer at Mint.com, and how I helped develop the code base and grow the engineering team starting as a junior engineer. The talk will be held at the University of Berkeley’s CS department on Wednesday November 3, 2009 at 310 Soda 6-7pm.
At the start of 2008 the primary goals for Mint.com were to deliver a complete personal finance solution, increase customer acquisition, and grow its revenue. What this meant in terms of features was that we would put out an investments tab, increase or PR efforts to have Mint known as a name brand in every American household, and improve our offer management system by introducing “Way to Save”.
What started out as a problem for Aaron Patzer, managing personal finances quickly and gaining insight easily into spending habits, soon became an issue for the entire nation. With the recession looming Mint’s efforts became crucial for Americans everywhere. However, the recession brought on concerns about funding for Mint, and larger competitors started to gain on us. We were the underdog in the personal finance space going into 2008.
January 2008 – In its efforts to appease the neglected Mac users and join in on the trend towards web-based applications, Intuit launched Quicken Online, a direct competitor to Mint.com. Unlike its free competitor, Quicken Online was a subscription model that charged $3 a month. Aaron’s vision had always been to keep Mint.com a free product for its users. His goal was to only make money by saving his users money.
Mint.com hit 100,000 users, and continued to grow by tens of thousands every month, as Aaron continued to go on press tours and gain media coverage.
March 2008 – As momentum started building up, Aaron started thinking about raising another round of funding. The recession in the US was still nascent, but he wasn’t sure how it would impact the growth of the company. To avoid having to fund raise during the recession, he decided to preemptively seek a series B round of funding.
Mint raised $11.4 in series B funding from Benchmark Capital.
April 2008 – Mint launches a beta version of its investments feature and decides to increase its presence by co-branding with Motley Fool.
May 2008 – After a long month of coding the Mint teams decides to celebrate funding and the launch of investments by going to Sky High Sports and playing several games of trampoline dodgeball, femgineer came out unscathed, I wouldn’t say the same for the mengineers
June 2008 – As the teams size continued to grow we began to outgrow the cubicles that housed the downstairs Minters. Instead of moving out of our down town Mountain View digs we decided to remodel by tearing down the cubicles and having a more open floor plan. This was also done to foster a more collaborative work environment.
September 2008 – The worst financial debacle since the Great Depression strikes Americans. Crises in the credit and housing markets cause stocks to decline, increase unemployment, and leave hundreds of thousands of Americans with no savings to fallback on. Many turn to Mint.com to help them understand their spending habits, make cutbacks, and hopefully weather the painful maelstrom.
As banks continue to go under and consolidate, Mint is forced to pull many offers, and find new ways of helping users find savings.
December 2008 – In Mint’s quest to continue to keep user’s engaged and increase distribution the team decides to create an iPhone app. The app is a condensed version of the website, featuring alerts, budgets, and account balances. The team works hard to get the release out before Christmas time.
After the launch of the iPhone app Mint.com becomes one of PC World’s 25 most innovative products.
The fall and winter months of 2007 were filled with Mint riding the wave of a successful launch at TechCrunch. It catapults the small startup of less than 15 people into the rankings of personal finance products. Competitors and investors start to take an increased interest in Mint. The PR campaign led by Atomic PR helps the company grow its user base outside of the Valley.
October 2007 – More investors are excited about the success of Mint, and start contacting us for funding. Shasta Ventures gives Mint a series A round of funding. Using the money Mint ramps up on hiring in marketing and business development.
Tensions start to rise with our rival Geezeo as Aaron and Atish engage in a bit of frenemy banter. The incident quells and teachs all of us a valuable lesson in humility.
December 2007 – David Michael’s the VP of Engineering’s hosts the Mint holiday part at his fabulous condo in SF. The party is a smash. Aaron starts the tradition of handing out a gold coin to each team member in order of hire date. A true gift, given that the Mint CEO does not believe in fiat currency. He gifts them to each Minter along with a brief bio of what each Minter does, and how they have contributed to the culture and success of the company. The party ends with the entire team celebrating with toasts of Jasmine’s surprise
We awoke determined to not fall prey to jet lag. I had looked at the ferry schedule the night before, and decided that I wanted to take the earliest ferry to Salerno so that we would have plenty of time to sightsee, go to the beach, and make it back to the last ferry. I was also debating on whether I wanted to spend tomorrow in Amalfi town or sailing along the coast.
After packing the accouterments we needed for our day trip (sun block, hat, bathing suit, water, guidebook, kindle…) we headed down the stairs to the main spiagga. On the way down we stopped at Zagara, a bakery, wine bar, and cafe that sold fresh crostinis and other pastries. I’m not a big fan of pastries in the morning, but I was on vacation, and the sight of them in the store window made my mouth water. We picked up some crostinis, fruit, and water and headed down the stairs.
I purchased two ferry tickets, which are around 20 euros roundtrip per person. The price depends on how far you are going. Then Jason and I had some time to kill before the ferry arrived so we headed over to the tour boats to see what tours were available for tomorrow. I saw the Capri tour, but wanted to save that one for my birthday. There was a tour for Amalfi Coast. The girl behind the counter had a Australian accent, she described the tour as a swimming tour that would take us along the coast and stop at various caves, in which we could swim. Swimming in caves sign me up!! The boat would have a small group, and then in the middle of the day we would stop for lunch at a surprise spot. Jason and I thought it was a good deal, and signed up. It cost about 80 euros per person, lunch cost an addition 30 euros per person, but the girl convinced us that it was very much worth it. She reminded us to bring our swimming costumes and to meet up at the beach around 10 am tomorrow morning.
Our ferry arrived, and we boarded heading towards Salerno. This was our first boat ride and disembarkation from Positano. As we left Positano we saw how beautiful it was, and how all the houses had been built into the hillside. Our Casa Miulo was hidden from our view, but we could still see close to where it was located from the ferry.
The ferry moved pretty fast, and it was a great way to beat the heat and humidity of Positano. We went past Praiano, which was the smaller neighboring town immediately to the east of Positano. It too had small white homes, and building built into its hillside. Then we came to Amalfi, which was our first stop. There was a large church tower with a clock. Unlike Positano, Amalfi Town actually had a dock, which was pretty flat, and then the city rose past it.
The ferry’s next stop after Amalfi Town was Ravello, another city that was high up in the hillside. I had heard that Ravello was very beautiful, and had lots of hiking trails. So I added it to my list of possible day trips.
We arrived in Salerno, and got off the the ferry not knowing where to start off. My stomach started to grumble, naturally we headed towards the cafes. We stopped at a small pizzeria where one guy was making fresh and hot calzones. I had a calzone and Jason ordered a coke. The coke tasted like all non-American coke, very sweet and extra bubbly. The calzone was warm and the dough was delicious. After lunch I opened up to the map in my guidebook and spotted a shopping center and some historical sites nearby. We headed in the direction of shopping center.
The shopping center turned out to be a pedestrian park, filled with shops that were both American and European. It had everything from United Colors of Benetton and Prada to smaller Italian boutiques.
We walked through the pedestrian park and came across a gelato stand. Still hungry, I ordered a cafe flavored gelato and Jason had the lemon ice gelato, which was more like a sorbet. It was heavenly! We ate our gelato in the sweltering heat, which helped cool us off, and proceeded to get lost in a maze of quaint and very European-looking side streets. Jason took pictures of all the facades, and I kept walking in search of adventure. We came to a church, where a bride and groom had just gotten married and were taking pictures in. Being the wedding crashers that we are, we walked into the church’s courtyard, and tried our best to stay out of the wedding pictures. I admired the bride from afar, while Jason snapped more pictures of the church’s courtyard. The fountain in the center of the courtyard had been filled with large sunflowers native to Italy from Tuscany. It was a beautiful moment to witness true love commencing on a Monday afternoon, only in Italia!
After the church we strolled a little farther and came to a park entrance. The park was filled with lush palm trees and more exotic plants. We decided to rest our weary feet in the shady park, and sat by the park’s water fountain.
With only an hour left until the ferry we walked back towards the ferry and came across a beach called Free Beach. It wasn’t all that great, but the water was cooling so we stuck our feet in for awhile, and then headed back to the ferry.
When we arrived in Positano it was still too early for dinner so we headed to the beach to cool off. Then climbed the stairs to freshen up for dinner, then back down to the main spiagga for dinner.
We chose La Pergola a restaurant right next door to the famous Bucca di Bacco restaurant and hotel. It was an open air restaurant perfect for people watching. I wanted to be adventurous in my cuisine selection, so I ordered the sea bass, never having tried it before. Since it was still hot we ordered a cool white wine, native to the region, Costa di Amalfi, it tasted a lot like a pinot grigio. The sea bass arrived, filled with tiny bones, but it was still delicious, white and flakey and very well seasoned with herbs and lots of olive oil. We sat and enjoyed our dinner while people watching. The perfect end to a day filled with walking around exploring Salerno. and getting our first breathtaking views of the Amalfian Coastline!
Despite being from Texas, I’m not a cowgal coder, but this cartoon made me laugh out loud the minute I read it:
I recently had the pleasure of interviewing a fellow femgineer, Kate McKinley, a security consultant at iSec Partners. As I was waiting in line for my daily latte at Dana Street, Kate came up to me and complimented me on my new pair of leather heels from Greece. We struck up a conversation, and I was instantly curious to learn from this tall brunette about security, and what had inspired her to become a femgineer. So I took Kate out to lunch, and we gabbed about life, our passion for technology, and how we work.
Kate started playing with mainframe computers in high school. When she started college at the University of Minnesota she didn’t think of majoring in Computer Science, but naturally gravitated toward it. Perhaps it had been her early exposure to computers, or her desire to solve problems. Although she was interested in getting a degree, Kate decided to leave and start her career as a system administrator at American Express.
Years later a friend of hers who worked at iSec Partners contacted her, and asked if she was interested in applying for a position. iSec Partners was primarily interested in her programming and development skills. Kate joined after visiting, and falling in love with, San Francisco, and being impressed by the company’s social conscience. During her career at iSec, Kate learned much more about security. She enjoys her job at iSec, because it fosters an environment in which she can learn things she probably wouldn’t have pursued on her own; languages such as C#. They also give her the freedom to do research. She recently wrote the white paper Cleaning Up After Cookies and presented it at a conference.
Kate’s M.O. is to spend a lot of time looking at code, but she will context switch to keep her mind active. Her belief is that the mind can only be productive for 6-8 hours a day. Switching to play with a site, or looking at other modules helps keep it active, and eventually she will come back to her prior task. Unlike me (my entire career has been in-house development on one code base) Kate has had the unique opportunity of seeing and reading a lot of different and large code bases. She performs penetration testing, both black box, and looking at the code base to spot vulnerabilities. But she doesn’t read through the entire code base. Instead, she starts with some of the key entry points and works from there. She does go back to the code base after black box testing or to dig a little deeper. Most of her consulting stints last about two weeks, and after which point she will write up a list of vulnerabilities, areas for improvements, or her overall findings. Then its up to the companies to make the necessary fixes, and call her back for a follow-up consultation.
Being a consultant, she works on other company sites, and from a wide variety of settings: home, office, and coffee shops. She doesn’t like open floor plans because they can be distracting.
Her philosophy on coding boils down to doing things the right way even if it means pissing off superiors. She is committed to getting projects done on time, but will put forth the extra effort needed to make sure she delivers quality code, and fixes obvious issues that others may overlook in the interest of saving time or prioritizing tasks.
Over the years I’ve heard a lot about how people view Microsoft and other software giants approach to security. While most of it has been negative, Kate had a refreshing opinion. She thinks Microsoft is actually doing consumers a lot of good by releasing patches. They are cleaning up after themselves, unlike the open source community which hopes that people will eventually fix bugs just by keeping the code base open. I guess accountability is good for business.
As far as career growth goes, Kate keeps up with technology trends via bulletin boards and email lists. She doesn’t enjoy management, but prefers coding and working on tough engineering problems. Although, she can see herself doing a complete 180; transitioning from being a software consultant to going back to school to get a higher degree in cultural anthropology.
I enjoyed learning more about security, and her approach to it. Mostly, I was impressed by Kate for being so personable for a talented and knowledgeable engineer, and having strong convictions as a coder.
We arrived in Rome sleep deprived and overheated. We hadn’t bothered to check the forecast before leaving. I was sweating the moment I got off the plane, it was in the 90s. We quickly headed for the train station Roma Termini, which is about 30 minutes away from the airport. My Italian was rusty, but Jason’s was decent so he walked up to train ticket machine, and bought a ticket for our next destination Napoli (Naples).
We rode in second class, which is much cheaper than first, moderately comfortable and had air conditioning, which was the major perk. Riding on a train in Italy is like sharing a table at a restaurant with strangers, who don’t speak your language. Only the table is moving through the Italian country side and you’re waiting for your destination instead of a dish.
The train ride to Napoli was about an hour and half, with no stops. I was too tired to stay awake and see all the Italian countryside, but what I did see was beautiful. It was a sunny day, and the landscape between Roma and Napoli was filled with rolling hills and sparsely populated with little houses. As we approached Napoli the hills turned into mountains and you could see Mount Vesuvius from afar. I started talking to Jason about visiting Pompeii, because I heard it was a very interesting site, but we decided to hold off on planning for it, because it would require coming back to Napoli from Positano.
Once we arrived in Napoli, we were greeted by a very friendly driver from Positano, who escorted us to our comfy Mercedes taxi. The drive from Napoli to Positano was a little over an hour. There wasn’t much to see in Napoli. Once the air conditioning kicked in Jason and I dozed off. I was pleasantly awaken by the breathtaking views, and windy roads of Sorrento, which is about 30 minutes way from Positano. We stopped at a few places to snap some pictures. We kept driving through Sorrento, and once we left we were in a sort of dead zone for about 15 minutes that was sparsely inhabited. There were cliffs and a sparkling blue sea to our right, and to our left large hills. Then our driver announced that we were entering Positano and the start of the Amalfi Coast. It was amazing. You could see the entire town of Positano built up into the hillside and the sea directly below it. It looked like there was hardly any flat surfaces, and all the houses and hotels were perfectly perched on the hills. We kept driving down the narrow windy road, and made one final stop to admire Positano from afar.
Arriving at Casa Miulo, we climbed up the 10 steps to our little house, and was greeted by an older woman who lived in the house above ours. She hardly spoke any English, but somehow we managed to understand one another. I was reluctant to had over our passports to her, but nevertheless trusted her given the fact that she trusted us to stay in her guest house. We entered our cute loft style house that was pretty hot, turned on the one and only fan in our bedroom, and plopped ourselves down on the bed and fell fast asleep.
Waking up a few hours later, hungry, and slightly refreshed, we decided it was time to explore! We weren’t sure if we would stay awake long enough to make it down to the beach. Having no maps, GPS, or sense of direction except down the hillside, we decided that we’d eat dinner, and then venture out farther if we felt up to it. We found a cute pizzeria located a few streets down from our house. The pizza was amazing! Warm mozzarella topped on a soft crust. After devouring our dinner we walked around some more, and then decided we were awake enough to head to the beach. Our route down was a little circuitous but we found it by going down several flights of stairs. The beach was surrounded by lots of open air restaurants, an internet cafe, and boat rental and sailing tour stands. After scouting the place, we figured that we still needed a day to get over the jet lag, so we headed back up the stairs to Casa Miulo.
I awoke starving as usual. Jason was still tired, but willing to satisfy my hunger pangs. We walked across the street to the market, and was greeted by a very sweet middle-aged woman, “Epi”, who spoke English fluently. The market smelled like fresh baked bread, even though it had mostly packaged goods. We noticed there was a deli counter, and proceeded to order two sandwiches a caprese for me, and a mozzarella with melanzane (eggplant) for Jason. The sandwiches were enormous, and came on this round soft bread. The mozzarella was much more flavorful than any I had had back home, and the tomatoes were very juicy and ripe. I took a bite of Jason’s sandwich, and the eggplant had been marinated to perfection! I decided that the next time I went to the market, I was going to order the melazane sandwich.
After feasting on sandwiches for breakfast we slumped back into our slumber state. I awoke a few hours later and began reading on my Kindle, ”My Life in France”. By 2pm Casa Miulo was sweltering, an we decided it was time to cool off at the beach. We headed down to the main beach in Positano called Spiagga Grande, and rented two umbrella covered lounge chairs for the rest of the afternoon. They were pricey, but the shade was worth it to me. The beach was mostly populated by European couples, and a few Italian families. We entered the water from the pebbly beach, which was like walking on hot massage stones. The water was cool and refreshing.
After climbing up the stairs to shower we headed back down to the spiagga for dinner. All the restaurants were open air, bustling with people, and smelled of the delectable Italian food aromas; fresh baked bread, sweet tomatoes, and succulent seafood. Jason and I picked one of the open air restaurants and plopped ourselves down for a feast. I ordered linguine with clams, which is a very popular local dish. It is very light, flavored slightly with garlic, but mostly the clams bring out the flavor in the dish. We enjoyed a bottle of the Costa D’Amalfi, a local wine, with dinner. The red version is a little heavy for a warm summer night.
Heading back up to our villa after a little wine and a feast was difficult, but we managed to make it back safe and sound.
The next day would be Monday and the start of exploring the coastline. Jason remarked that he was no longer going to nap and that we should do a day trip somewhere. I pulled out my Frommer’s Amalfi Coast guide book, and looked up Salerno, it was the farthest east from Positano. The book mentioned it had a decent beach. I figured taking the ferry to the farthest point would give us a good look of eastern side of the Amalfi Coast, and we’d have an idea of where we’d want to go and explore on our trip.
Jason and I started to do a little planning, we wanted to go to Capri for my birthday and at some point visit the town of Amalfi. I wasn’t sure whether I wanted to just go on a ferry or take a private tour. We decided we’d finalize our plans in the morning, and headed off to rest up for our first day of real adventure!