Senior Software Developer
Wednesday January 16, 2013
625 Mount Auburn Street
The Senior Software Developer at Medullan is responsible for leading small teams to design and deliver cutting-edge software solutions combining the latest web, mobile, cloud, and enterprise technologies for our clients in the US healthcare sector.
Role and Responsibilities:
- We use Scrum. You will use (and are passionate about) Scrum methodology to deliver working software frequently
- You are agile and are committed to deliver what you promise. To do so, you are “heads-down, eyes up” looking out for unknowns and risks that can affect you and your team’s plan. You prototype things quickly, spike out new things, and can quickly educate your team.
- Quality is paramount at Medullan. You know and understand the importance of automated testing and continuous deployment. You evangelize quality to your teams and demand excellence.
- You have no problem speaking your mind, and you have no fear of sharing in challenges, failure, and success. You welcome your colleagues in need of aid, and understand that everytime something goes wrong it represents and learning and growth opportunity for everyone.
- You are a curious technologist at heart. You not only get excited about learning new technologies and innovations, but also enjoy engaging others and driving innovation in our (or your) future products. After all, Medullan wants to invest in your next startup, when you learn the ropes!
- 4+ years in software development as part of a development team
- Experience developing software in all tiers of a web or mobile stack, including technologies like Spring Framework, Grails, Ruby on Rails, Django, ASP.NET MVC, Backbone.js, Knockout.js, Dojo, JQuery, GWT, HTML5, iOS, Android, PhoneGap, etc.
- Extensive experience programming and modeling for traditional database systems, including Java or .NET for programming experience and SQL Server, MySQL, PostgreSQL for RDBMS experience
- A religious commitment to test-driven development and continuous integration - you should be able to clearly explain the difference between TDD and unit testing!
- A solid understanding of software design principles including knowledge of UML tools and common design patterns
- Excellent written and verbal communication skills
- Understanding of Agile development methods like Scrum and the implications on the management of software teams
- Ability to reliably estimate development tasks and deliver to those estimates, as well as manage the estimation of junior team members
- Hands-on experience developing mobile applications for all platforms in native, web, or a hybrid approach
- Familiarity with big data problems in data warehousing, elastic computing and storage
- Familiarity with common cloud implementations in SaaS, PaaS, and IaaS including tools like Twilio, MailChimp, Heroku, CloudFoundry, Rackspace, Amazon Web Services, Microsoft Azure, etc.
- Experience with non-traditional data persistence mechanisms and/or polyglot persistence with MongoDB, CouchDB, Cassandra, ElasticSearch, etc.
- Experience with software development in a healthcare setting, including knowledge of Continuing Care Record (CCR) and HL7 protocols