A2A, I first started getting paid to do web development maybe five years ago. I had met a well-established freelancer at the coffee shop and did little odd things here and there for him, like moving WordPress sites to new hosting. I had been doing the ‘technical handyman’ thing for a few years before that, never made a lot of money with it, just enough to get by.
This was the first serious client I had that could afford to pay me serious money. He had sold a big project to a big corporate client that needed my expertise, as a designer he was never very good at backend engineering.
It would be the fifth redesign and remake of a little weather widget. I had to make the whole thing in Javascript because it had to run on their corporate network so I couldn’t make a traditional server-backed app. I was allowed a small backend though and so I used Sinatra.
The Javascript would load, then use jsonp to get the weather data from the backend, which would in turn get it from the API. The backend was only there for caching. When it was done it was a night-and-day better experience for the client than all of the other versions of the app.
When I first started working on it, there was a front-end designer / developer whose job it was to do the markup and styling. He probably had a role in the design too, but I never saw it because I wasn’t a part of that process.
Well, his front-end code just wasn’t very good. The app had really tight design and he didn’t know styling well enough to get everything working properly. It worked right in Chrome and Firefox, but IE kept messing up, and we couldn’t afford to ignore IE, as most of the end users were on it.
I had gone back and forth with him enough times to realize this, but couldn’t get the sign-off from my boss to do what was needed, reimplement the markup and styling from the ground up. He kept wanting me to keep working with the designer to get it done. But the designer kept dropping the ball.
Eventually I got motivated enough to take drastic measures. I woke up early on a Saturday, drove to Starbucks, and spent the entire day rebuilding the front end of the app, unasked. I was using an old ThinkPad and it ran Linux, so I found and used BrowserStack to develop the new front-end. The other designer had a Mac and never bothered to use a tool like that even though he knew it had to run on IE.
It took me a full day, but I finally got the front-end rebuilt. I learned a lot about how the CSS box model worked. I pushed it up to the staging server and sent an email to my boss telling him what I did. By this time the project was starting to break down and we were all having a tough time staying civil.
My gamble literally saved the project. We got it done by the deadline and I’m pretty sure on budget. Only minor tweaks to my implementation were needed and the project wrapped up shortly thereafter. I bought a MacBook Pro with the money I made and finally had the confidence to start a real career as a web developer.
We had gone with the WeatherUnderground API and I used a developer token that was rate-limited. I told them before the project wrapped that they were going to need to buy a subscription to the service so they wouldn’t get hit by the limit.
Well, they never did. I would get emails from WUnderground about how they went over the limit. If they went over enough times a month the API would stop responding. My caching layer worked so well that never happened. I was still getting those emails years later.