Jordan Hourani
Software Engineer
About me
I am finishing a B.S. in Computer Science from the University of Massachusetts, Boston in the Fall of 2013, and currently working as a software engineer/intern at a bio-tech company in Cambridge, MA called Selventa. I have worked at Selventa since the summer of 2012, and truly enjoy all of the things I have had the opportunity to experience here thus far. I have not only become more proficient in the languages I knew already, but have been able to add several more technologies to my tool belt as well. In addition to being a motivated and upbeat programmer, I am also a veteran of the U.S. Marine Corps and the U.S. Army. These experiences played a large role in becoming the person I am today, and the skills I learned while in the military certainly work to compliment those that I have developed during my academic career.
Projects
Work - I have taken up several projects throughout the course of my internship. Most of my work is open source, and can be viewed from my Github repository.
- Designed and constructed the homepage for the OpenBel wiki, which acts as a gateway for new customers learning about the OpenBel language and the underlying framework. Also, migrated all of our existing data surrounding the OpenBel platform from standard Microsoft Word documents to our current OpenBel wiki page.
- Researched, implemented, and did some standard benchmarking on NO-SQL database solutions, particularly graph-based databases like Neo4J and OrientDB. This allowed me to become more familiar with different types of databases, outside of the MYSQL world, and also to research and implement some of the latest technology in the database world.
- Contributed bug fixes and code enhancements to the current OpenBel Framework
- I also helped write a Python package to automate the building and updating of the BEL Namespace, which includes parsing, storing, and finding equivalences among the various datasets.
School - I have had the opportunity to work on several projects throughout my academic career as well.
-
Embedded systems programming. Some of this involved accessing the computers Serial port through a device called the UART. We were able to push bits through the input, do some logic on them, and verify that we received the same data back in the output. This is where I was introduced to polling and event-driven interrupts.
-
OS programming. I was able to add several features to a small operating system much like Unix/Linux. Some of the things involved in this project were memory mapping, splitting jobs up between various processes (and keeping track of those processes), and making explicit system calls through the use of both polling and event-driven interrupts.
-
Java compiler. Actually, it was a subset of Java called J--. I made modifications to the context-free grammar, and then implemented those changes in code. Not only did I learn a lot of the ins and outs of Java, but getting the hands-on opportunity to turn a context-free grammar into actual working code was a great learning experience.
- Developed a Ruby-on-Rails application. Perhaps the "coolest" project that I participated in during college was a Ruby-on-Rails application called Approximation Calculator. This was such a fun project to work on! I was able to learn Ruby-on-Rails pretty well, and to develop an actual working product for a real client (it is not in use by the client currently, but remains hosted at Heroku). The idea of the application was to give elementary school children a tool to aid them in estimating arithmetic problems. We have recently made the repository public, and you can check out the wiki and source code on Bitbucket.
Languages and Skills
My favorite, and also my strongest, languages to code in are Java, Python, and C.
I have also done some work in Ruby, LISP, Haskell, Javascript, HTML, XML...and there are probably a couple more that I am forgetting. Learning new languages and technologies is something I enjoy, and ideally anywhere I work for a long period of time should be a place that encourages and supports this kind of professional development.
I also am familiar with some MVC and CMS frameworks. Mainly Ruby-on-Rails, but I have also done a little in ExtJS and Drupal.
Professional Areas of Interest
There are many things in the field of Computer Science that interest me. I feel as though there are far too many things to learn, and I am too new in the field to limit myself as to what specifically I would like to work on. I do have some specific interests however. Artificial Intelligence, mobile development, and video game software are all very appealing to me. These areas often draw upon the latest technologies in Computer Science to remain competitive, and I feel like these areas would not only be enjoyable to work in, but they would allow me to grow as a developer.
Personal Areas of Interest
I am a big sports fan, a veteran, and truly enjoy travel and the outdoors. I like to be involved with events and communities surrounding these things, and someday I would like to take up some work that could combine both my professional and personal interests.