
This is software (AWS) generated transcription and it is not perfect.
All right. Here we are. Sure, I have a perhaps non-traditional path towards working technology. I graduated college with a degree in economics, totally unrelated. But I was not super interested in my own degree at the time because I felt that was much less applicable. I don't run the Fed or anything, so I don't, I can't implement economic policy immediately, which is part of why I became interested in programming because since I learned something, I could actually carry it out. I could use it that day. So I am self-taught. After college, I sort of wandered around a bit physically. I traveled to South East Asia and wanted to do some language learning and just sort of figure out what to do next. And along that path, I've found programming because it's a great way to make a living while you're living abroad or living in your own country. But for me, I was living abroad at the time, so I just read a lot of blog posts, a lot of books about programming. I started with PHP and moved onto Ruby. I started working as a contractor, running my own business, and that just spiraled into essentially my life for two to three years, and after that I really wanted to become an engineer as opposed to someone who just, you know, cobbled together pieces of J-Queries or pieces of PHP to make a web application. So what I did was I came, I moved back from Asia to San Francisco, did a job search for about three months. I found a job at an, extremely small start up as the first employee, and I just jumped at the opportunity. I really wanted to be extremely impactful, which is what you get when you do any company that doesn't have anyone else to do the job. So I did that and I actually just left that job within the last three months or so. So for about four years, I was working as the software engineer in San Francisco and throughout all of that, let's just call it seven years of programming, being technical. I did a lot of open source because it's just fun because I like the interplay between different developers around the world. You get to share ideas, you could see other people's code and people get to see your code and you just all get better at the same time. So that is perhaps a bit more for both than I intended. But that's my story.
Well, JSTZ is a sort of a non-case because it's a fork, sort of a fork. It's an unofficial fork where what I needed at one point in my programming career was I needed to tell what the time zone in the browser was. But for anyone who has worked with timezones in Javascript probably knows there didn't used to be a standard way to do this. And there is a standard way now, but it's still not supported all the way back to probably the first version of IE that you needed to support. So time zone detection is something that is a bit of a problem, and I ended up finding a library that did it, but it didn't work with the tools, it didn't work with the webpack and just important thing left and right into my overall code base. So I forked it right over to Github, on to the bucket, added, put it on to the MPM ecosystem and then sort of maintained it. Even that wasn't even intentional for this particular project. The maintenance of it just came about because I used it in production and apparently other people needed to because I ended up getting issues and code contributions, and it just turned into a very, very small but, a semi active project of mine.
Two good questions. The open source. This is not an uncommon question for people that use Github and are interested in working as software engineers. The way I would say open source help most is simply by making you better at your craft. It's not, in my opinion, the most effective means of advertising yourself for getting your name out there. If you create a really one of libraries like, let's say you're the first person to write React, which was implemented within Facebook. And that's a bad example. But Moment.JS or J-Query or any of these extremely well known libraries. If you're that person that could put your name behind a library that has hundreds of thousands of people using it, then it's great exposure. But it's very rare. It's just like being famous in any realm of life. So I would recommend against using open source specifically for promoting oneself. I would use open source to get better at one's craft and simply because you enjoy what you do. Those are the reasons for me, and if along the way you happen to get a lot of exposure, that's all the better but it doesn't, at least in my experience translate into myriad job offers coming in your inbox. To the second point, criteria for accepting a job offer. This one, I believe, is just very personal. What does any individual person want out of their job. As for me when I asked myself this question, the answer was extremely high impact and a lot of opportunity to learn, which is why I joined, at the time when I accepted an offer by a small startup, I also had an offer from a much larger company at the same time, which was also, they also offered me twenty percent more base salary. But the reason I chose the tiny startup was because of my initial criteria, which was extremely high impact and a lot of opportunities to learn. So for anyone else trying to generalize the advice, that's what you want from the job. If you want a very significant paycheck and that's the main criteria try to work at Google or Facebook or Netflix or one of the giants. If you want a lot of opportunity to improve very quickly and extremely high impact, try to find much smaller company or consultancy, where you can do essentially whatever you think is best, where you're not going to have layers and layers of existing decision makers that you have to pass through in order to make a decision. Go for something smaller. That would be my advice.