Ethan Groves: In his Own Words
The second week on the job, I was given an assignment to write a program in node.js. Having never used the language before, and feeling a little overwhelmed, I thought it only fair to warn John [Feller] that I was completely illiterate in node. John smiled, and gave me an extra week or two to complete the project. This was my first introduction to the culture that pervades the IBM jStart team. New things are not only commonplace, they are intentionally pursued. Emerging Technology is, by its very nature, new and unexplored.
A big learning experience was being forced to think at a Global scale. I distinctly remember, on one project, I was developing a prototype for a scheduling application, and John asked me if it handled daylight savings time for countries besides the U.S. Honestly, it had never occurred to me that different countries have daylight savings at different times and some countries don’t have daylight savings at all. It sounds obvious now, but I had to realize that I’m no longer developing a web app for my professors at school. I’m developing something that has the potential to be used worldwide. John consistently recognized likely edge cases that I missed, and his example of carefully considering the use case and audience of a given project encouraged me to grow in these skills.
On the jStart team, every potential project, prototype, or partnership is analyzed from the perspective of “what business problem is it solving”. There is no definitive answer to what the jStart team should work on next. It’s a value judgment, and usually the valuation is revisited multiple times over the duration of a single project’s lifetime. This aspect of the development process is usually somewhat removed from the developer; however, when one of the projects I was working on didn’t gain traction, I learned, by application, to carefully consider the business value of a given project.
This opportunity to watch products fail or mature has given me a myriad of intangible experiences that are hard to quantify. I’ve watched months of development get dropped when the project is pitched to potential customers and the value isn’t received as expected, and I’ve also seen an enterprise level software service move from early development into beta, then into public release, and all the hiccups and bumps along the way. Listening to my boss discuss the pros and cons of a new technology and then watching him process information in order to make a decision, was horizon broadening for me.
A glimpse into the Extreme Blue program gave me a much deeper appreciation for the atmosphere and culture within the jStart team. During interviews with interns participating in IBM’s Extreme Blue internship program, which is IBM’s premiere internship program, I was pleasantly surprised to learn that I was getting an almost identical experience, sans the stress. The Extreme Blue program asks interns to identify and develop a new product that has potential business value and then pitch the product to “customers” and senior level executives.
Alternative coding and learning paradigms like “pair programming”, introduced me to innovative ways to approach solutions. One of the projects I worked was to provide a new way for users to add code snippets into the Orion web IDE. This was my first foray into an enterprise-scale project and it was a little daunting at first. The code was very loosely coupled, which meant in order to understand what was going on, a high level understanding was necessary. I am not ashamed to admit that I was completely lost when I first started. I was paired with Lee Suprenant, a senior member of the jStart team and we approached the project pair programming style. Lee was a phenomenal pair programming partner, because he not only possessed a deep understanding of a diverse subject range, but he was also remarkably good at explaining what he knew. It was somewhat of a symbiotic relationship. I often focused on lower level things like whether variable names were spelled correctly, while I learned the higher-level picture. Lee was able to focus on the higher-level pieces and how they fit together, while often leaving the actual implementation to me.
Whenever we started a new project, and I had the opportunity to choose between a technology that I was familiar with or one that was new, Lee would encourage me to choose the new and unfamiliar. Granted, it took me a little longer to complete a given project, but the internship experience has been all the richer for it.
I would like to thank John and the team for an amazing experience. It was a great privilege to work with everyone and I’m truly grateful to each person for their willingness to help, for answering questions, and for encouraging me to dive in and try new things. I've thoroughly enjoyed working with a community of developers that not only think outside the box, but often work outside the box. The jStart team is open and shares ideas and knowledge freely (I really enjoyed our conversations, Sanjay Joshi!). Purely from a skills-development perspective, I was thrilled to have spent a majority of my time at jStart working on cutting edge “cloud” technology. But, I guess working on cutting edge technology is par for the course when you work for an Emerging Technologies team.
Ethan Groves actively seeks to create simple solutions to complex problems using emerging technologies. This passion for creativity has won him numerous awards related to his research on Tactile Visualizations at Virginia Tech, where he pursues a Bachelor's of Science in Computer Science. Currently, he is developing software for the jStart Emerging Technologies team as part of the IBM Bluemix (CloudOE) initiative. Ethan plans to graduate in May 2015, at which point, he will have to decide whether he wants to get his masters degree, start his own company, or seek employment.
Areas of Expertise
Creativity, Emerging Technologies, Java, C/C++, Python, Web Development (HTML, CSS, etc.), Android Development, Graphic Design, Cinematography.
Degree Being Pursued
BS in Computer Science
All about jStart™
Want more information?
Want to know more about these jStart topics?