September 03, 2017 Alex Anderson Work
I did an internship this summer with FamilySearch. YAY! Actually, in all honesty, it was pretty great and was exactly what I was looking for in an internship. There were a lot of ups and some downs. I plan to be pretty honest about some of the things I witnessed and experienced.
"But wait," you may ask, "Didn't you have a pretty chill gig going at BlenderBottle? Why did you do an internship?"
Well, I suppose there are a lot of reasons for doing an internship. Mine was certainly the main reason anyone does an internship - to learn and grow personally and professionally. BlenderBottle, as great an environment as it is, isn't going to give me the same opportunities another company could.
In fact, my manager at BlenderBottle, Brent, was the one who encouraged me to take a 'sabbatical' of sorts and pursue the internship. He (rightly) presumed that I would learn a lot and come back a better resource for BlenderBottle to use.
So, what were some of my goals and expectations going into this?
- I wanted to see what it was like working for a company that just does software development. BlenderBottle is a unique place for a web developer, since their primary business (Selling the best darn bottles you've ever seen) has nothing to do with the web. I wanted to know what it was like in an organization that centered around a software product.
- I wanted to see what it was like on a team specialized on one feature or aspect of the software. How does that team interact and collaborate with other teams?
- This point matches the other two points a bit. What is it like having to write quality code, considering that the code will be used by hundreds of thousands of people a day?
To that last point, I was actually markedly off. While the code I write did need to work for the users of the site, my coworkers were more concerned about making sure they could read it! 90% of the code reviews which my coworkers gave me had everything to do with improving clarity for future developers. That was something which I had little direct experience with.
Another thing which was a requirement, and which I had no prior experience with, was unit tests. Literally ever file and every component needed to have a suite of tests written to go along with it. This was something I had tried to do at BlenderBottle with little success. Fortunately, since it was such a strict requirement for me, I was able to pick up how to do it and even implemented it into Thorium, my spaceship simulator controls.
Another thing which I appropriated for my own use was the Skill Building Program. This is the program which all web developers are encouraged to use to sharpen their skills. I was one of those who worked on earning the badges, and managed to snag all 6 of the apprentice level badges, an achievement which, by the sounds of it, few have attained.
After doing the program for a few weeks, an opportunity came up for me to create my own program for teaching middle-school students web development skills. Here I had a great model for how the program should work - ranks with badges in each of them, much like Boy Scouts. With this model as inspiration, I started working on the WebDev Guild. (PS. Our first meeting is on September 9th at 9:30 AM at Renaissance Academy. If you are interested in learning webdev skills or being a mentor, come check it out!)
One of the more interesting parts of my internship was the fact that many of my coworkers had worked with my dad in the past. This was partially expected, since his last job was working for the Church (in a different division, but people are moved around often). This gave me a good opportunity to get to know my dad on a different level than what I was used to. (There were a number of other random connections, such as my mentor who I had met years before teaching at Simply Coding, or the project manager who's son was my zone leader on the mission.)
Speaking of working for the Church, there were a number of interesting aspects to that as well. We would pray at the beginning of every day. We would have meetings where we discuss how to have a Zion-like society in our teams (more on that in a minute).
My first day was spent on Temple Square in Salt Lake City for your standard on-boarding and orientation meetings. The orientation was highly spiritual, as this is a spiritual work. There were also professional development days (called the 'Big Picture Event') where we would learn about the big picture of Family History. Again, very spiritual, but with secular tie-ins.
One instance I remember was talking about how to connect with the 'patrons', or users of our site. They compared it to the experience which Apple has manufactured with their Apple Stores. Almost in the same breath, they were telling us to rely on the promptings of Holy Ghost to guide our decisions in improving the experience for our users. That may seem backwards or out of place, but in this work, it's all the same.
As a side note, since I personally believe that Heavenly Father is interested in the success of his children in all aspects of their lives, I believe that anyone is qualified to receive divine guidance in their work, whatever it may be. Yes, even hustlers and ruffians can be spiritually led to know theirs is a poor field to be in and that they should do something more uplifting with their lives. 😉
Speaking of that Zion-like discussion, it was a fascinating one. The main points were that there have been times in human history where people have created near-perfect societies. "And the Lord called his people Zion, because they were of one heart and one mind, and dwelt in righteousness; and there was no poor among them." (Moses 7:18). There are other examples too, but that "one heart, one mind" was a big point.
The most positive experiences at Family Search were when my team revealed the fruit of our labors every two weeks. For the most part we showed things which were expected, but on occasion my team members would deliver something truly extraordinary which was immediately accepted and praised by the product manager. Those were the times when the subtle pushes of the hand of the Lord were manifest in the work that we do.
It was extraordinary the amount of influence I was able to have. Sure, it was pretty small what with me being an intern. However, I was still able to do a lot of amazing things:
- I presented 5 Codemix lunch-and-learn meetings for the WebDev team.
- I created several components for the new release of the Search app in Polymer (due to come out in a few weeks).
- I worked on implementing shared components from other teams into the app I was working on.
- I was able to make some (hopefully enduring) friendships with the people on my team.
So, in all, it was a great internship. I'm super excited to be returning to BlenderBottle and to start school again, but I'm especially grateful for the time I had on the Search team at FamilySearch. Big thanks to all who made it great.