Nate Hubbell graduated from URI in 2001 with a B.A. degree in computer science. Presently, he is a Senior Software Engineer at Ingenix, Inc. in Providence.
FMC: Tell us about your present position. What does Ingenix do, and what do you do?
NH: Ingenix is a division of United Health Group. It is a health information company that provides services primarily in technology and consulting. The focus of the business is to improve the quality and flow of information at all levels in the health care industry.
I work exclusively on a product called CareTracker. It’s a web application that facilitates office and patient management and additionally assists doctors in their clinical work. I am one on a team of seven senior software engineers. We have a supporting group of business analysts who determine the business requirements of new features and enhancements; however, we are individually expected to execute the SDLC (Software Development Life Cycle) from there efficiently and consistently. Since CareTracker has a large legacy code base we are required to be proficient in a wide range of languages and protocols whilst also staying on the cutting edge of emerging technologies. I am fortunate that my day-to-day work at Ingenix is diverse. I may spend a day debugging code or weeks designing a new feature or perhaps demonstrating a proof of a concept for a new technology. The wide variety of skills that is required keeps me engaged and enthusiastic.
FMC: How did you get your first position after graduation?
NH: In fact, I landed my first industry position before I graduated. I found it through a listing provided by URI. I tried other job boards, but URI's offerings were from companies that understood I had no meaningful experience yet and were still potentially interested in me. I would recommend using any resources made available to you, as the first job hunt is often a numbers game.
FMC: What was your first position?
NH: I will exclude my independent contracting work from this discussion for reasons of conciseness and client confidentiality. However, throughout my career I have spent much time working in this capacity while additionally holding a 9-5 position.
My first job was at Market Models, which was a market research firm. This position focused on data access and collection by sales people in the field. I was also very involved in a project to spider websites to mine data for resale. It was an interesting position with a small startup. I began work at Market Models during my junior year at URI and worked most of my hours remotely from my home office. This was a challenging time; I had a heavy school work load and a commitment with a company that I did not want to disappoint. They were satisfied with my work and, in the summer, I was invited to the Boulder branch to work on a hot portal project for Sun Micro. I successfully completed the project three weeks early and was on a plane to finish my last semester at URI. I left shortly after when the company was bought by a larger firm and remote work was ended.
FMC: What happened next?
NH: After parting ways with Market Models, I became determined to find a position coding in my language of choice at the time, Java. I was also decidedly against joining another startup and additionally wanted to steer away from web technologies. After some research, I came up with a handful of companies that fit the bill in RI and applied to them all. American Power Conversion, my first choice, was my next position as an Application Programmer. Initially, I was tasked with assisting a lead programmer to put together a frame work that could be reused by the various development groups. While at APC I worked on a variety of projects in Java, as well as various web technologies. Though I worked with some brilliant people, the actual day-to-day work at APC was far too mundane and I realized that, though I had achieved what I had set out to do—writing Java applications for a major corporation—I had not known what I was actually getting into. Realizing that I could achieve more in a small growing company, I left APC for my next position.
FMC: So after a year at APC, you left. What was your next job?
NH: My next position was at Archer Market Research/ Delphian Group which in addition to conducting market research also provided software solutions to the financial sector, servicing banks primarily. This post turned out to be the longest position I have held to date. More interestingly though, it was the only occasion that I was interviewed and hired by non-IT people for a position that they could best describe at the time as “wearing many hats”. They needed someone who could quickly learn various business-critical technologies and solve multi-system IT problems. I was pleased with the potential for professional growth through this diverse environment. On my first day, there were only two other IT people on staff: One was a veteran web developer, and the other was a part-time professor for C# and database at NYU. It was a good start and I quickly dove into learning the proprietary language that was key to their business. I thrived in this role and, within a year, the company had grown as did my role in the company. Within two years, I was the lead/senior developer. Development projects like customer portals, work flow management, and data warehousing/management/reporting became my most common assignments. I always found data-reporting projects the most interesting and challenging. Because the business fluctuated, we would bring in contractors for large jobs, which gave me useful experience managing a diverse team and planning the project.
Since our business focus was market research, I also spent a considerable amount of time doing statistical analysis, which was a bit of a departure from typical coding tasks but also a very welcome undertaking in my view. I was also required to work closely with clients, while developing and later maintaining their various projects. Being able to communicate clearly with clients has proven very beneficial and has certainly contributed to the expansion of my independent-contracting business.
FMC: Communication skills are important in many professions, but especially for computer scientists. Go on, Nate.
NH: The downturn in the economy hit the marketing industry hard, and Archer Research was a casualty along with all of its employees. There was a period of time where we operated under a skeleton crew to service existing clients and to complete some projects but even that was not sustainable. I was rather dissatisfied with this and spent the next nine months doing solely independent contract jobs. The eventual birth of my daughter made a benefits package (something that contracting work does not provide for) important to me again. I also found that I missed the close collaboration with like-minded professionals and felt that I was limited in my professional growth outside this interactive environment. These factors spurred me to once again procure a traditional position.
I interviewed with approximately half a dozen various companies and was surprised—as well as grateful—to find that there was a lot of interest in my services, even during this economic recession. After a short search, I accepted a position as a Senior Software Engineer with Ingenix. With the federal stimulus plan funding tax benefits to practices that bought and used EMR (Electronic Medical Records) software, I was part of a new hiring initiative to add features to the existing package as well as to ensure that the application was in compliance with the government’s requirements. My first project was to write code that implemented military-grade encryption, which is used application wide. It was a good early indicator that this was going to be an engaging position where I would be challenged to further develop my technological skills, and thus far, this has been the case.
As of now (Dec. 2010), I have been at Ingenix for 18 months and am happy to say that, though it has been a lot of hard work, we have hit and surpassed every goal set thus far. Our product has become more feature-rich, and we look forward to some interesting and challenging goals ahead in 2011. I am enjoying learning the ins-and-outs of the Healthcare Industry while staying sharp with prevalent web technologies, as well being encouraged to explore the latest and greatest emerging technologies.
FMC: In your experience, do software engineers typically follow a path like the one you’ve taken? Should our new graduates expect to change jobs as often?
NH: I do think that my experience was typical in many aspects. I think Engineering in general lends itself to shifting positions for many reasons. For instance, early in my career I worked in consumer-product and then marketing industries, which coincided with the strong US economy. Now the economy has recessed, but health care is flush with money and opportunity, thanks to the federal government’s stimulus investment. Consequently, I work in the healthcare industry presently. As Computer Scientists, we provide answers, but where the question comes from hardly matters. Because our profession provides solutions to virtually every industry, I believe it often becomes more of a question of demand. Of course, personal satisfaction with a position can shift over time as well. Many positions become monotonous given enough time, and this can destroy personal satisfaction. Furthermore, there is the question of how your position melds with your life. Our lives are obviously not statically scripted, so over time, your life and your job may no longer be compatible.
There are always some who fall right into a position that is a good fit right out of the gates. In my experience, they are in the minority. For those who do find a niche early, count your blessings and always be alert. There is a fine and hard-to-distinguish line between being in a position because it’s a good fit and being in a position because you are complacent.
FMC: Is there a downside to changing jobs as often as you did?
NH: There is of course the lack of seniority. Though some may discount the importance of seniority based upon their belief in their personal ability; it does in fact play a role in your professional life. There is also the issue of a potentially negative impression that changing positions frequently could make on potential employers. Many hiring companies frown upon employees who will only give them a year or two of service because of their investment in their training and the cost of filling the vacated position. In a competitive market, every factor counts and this is something that needs to be accounted for when deciding a move.
FMC: How hard to you work? Does your career leave you with enough time to enjoy life?
NH: I have a reasonable, manageable work load in my current position. I work from 8:30 - 5 and do not work weekends (with very infrequent exceptions). I am able to enjoy my life quite well and with a generous vacation package, I find plenty of opportunities to get out of the office and enjoy the fruits of my labor.
This has not always been the case. I have found smaller companies in particular tend to expect a deeper commitment in both time and availability, usually without providing commensurate compensation. There have been times in my life that I would work 90 hours in a week. It’s not fun and it is grueling, but I am of the lot who think that trial-by-fire is an honest test of one’s programming meddle.
FMC: Can you give some advice to our current students?
NH: Be sure to keep up with the language trends and emerging technologies. As a Computer Scientist, you do not have the luxury of resting on the laurels of your college education. Ours is an ever evolving discipline that does not favor those who lag behind. Also, always remember the basics of what you have learned and apply it. If I find myself with a difficult problem to solve, I always reach back for the tools I learned early on. I ask simple questions and carefully dissect the problem into its elemental parts. In college my classes were taught using Java and C++. I have worked professionally with these languages for one year out of the last ten and can list off a dozen other languages I have been asked to learn since graduating. Your Computer Science classes are not about learning a specific language or technology; these things are merely learning tools, but they are about you learning how to think like a Computer Scientist.
* Disclaimer: These are my personal views and they do not reflect those of UnitedHealth Group or its affiliates.