It may be cliche, but I felt that it was appropriate to start my first blog post with the introductory phrase “Hello World.” Just as the first thing I learned to program was how to print the phrase “Hello world” on a computer screen, I feel that the month I’ve spent interning at Pivotal Labs has been an introduction into the world of software engineering.
Before I begin reflecting about my time at Pivotal in ernest, I feel that I should give some background about me so that my posts can be understood in the proper context. I am a Computer Science major at Berkeley going into my Senior Year. My first job in the field of software engineering was last summer, where I worked for a small company that did technology strategy campaigns for grassroot political movements. The first language I programmed in was Java, followed by Scheme, more Java, C, a little Python, and Groovy on Grails for my job last summer. Also, the only version control system I had really used prior to Pivotal was Subversion, and only when my professors had forced me to. Given all that, just about everything at Pivotal has been new to me, from Ruby and Rails to Git to Pair Programming, I feel like I’ve learned at least one new thing a day since I’ve started, and I will attempt to reflect on all of it going forward from today.
The first thing I noticed on my first day was how open the office felt. I had been to the office for my interview, but I was pretty nervous at the time and not particularly aware of my surroundings. As I’ve continued to work there, I’ve realized what a boon it is to work in an office with no cubicles. For one thing, I feel less trapped and enclosed by the office environment, which at the very least, prevents going to work from feeling like a prison. In addition, I’ve noticed how it promotes knowledge sharing because since all space is essentially public, developers feel free to walk over to each other’s areas to ask for help.
Another thing that stands out is the 9-6 work day, and how almost every programmer leaves their desks at 6 pm everyday. This was pretty surprising to me coming in. Almost everyone is familiar with the stereotype of a programmer pulling an all-nighter, or staying late to fix a particularly devious bug, and while I wasn’t expecting anything so drastic, I imagined that there would at least be a few people staying late coding. After leaving work while in the middle of a hard problem, I realized that not only does the strict 9-6 work week help keep us from getting burned out, but that by going home and sleeping on a problem (no matter how tempting it is to try and solve it immediately), I have been able to come up with better solutions quicker than I would have had I sat there for an extra hour or two.
The last reflection I want to make about my first couple of days at Pivotal is the breakfast. It has been widely publicized that eating breakfast in the morning helps people be more productive and focused. As a student who tries not to schedule classes before noon if possible, I have found this to be particularly true. Also, I feel that the breakfast tends to promote some sort of unity/harmony since a majority of the office shows up and socializes with one another.
That’s all I have for now. In my next post I’m planning on giving my thoughts on pair programming.