One of the core values of the Medalogix development team is ensuring that our developers have a great experience. We believe this allows our developers to spend more time being creative and focused on solving our most challenging problems. It also helps the company recruit the best talent and allows the Medalogix software platform to scale with the company’s growth.
There is no single way to make the developer experience great. It takes a combination of efforts coming together to result in a happy and healthy team. In this blog entry we’ll share a few of the ways we work to achieve this.
1. Celebrate Wins Often
Our technology team does amazing things. From data center migrations to rapidly building new products the team isn’t afraid to challenge themselves. We believe it’s important to take a break and congratulate ourselves any chance we have (and it’s better to err on the side of celebrating too much!).
We celebrated the release of our new Touch product with steak and bourbon at Morton’s steakhouse.
Having our corporate headquarters located in the Germantown neighborhood makes it easy to unwind after a hard day's work. We put the company’s season tickets to the Nashville Sounds to good use.
Architecture and Technology Initiatives
Medalogix carves out time every quarter for work toward technology and architecture initiatives. This work is prioritized by our engineer teams based on their unique perspective of our platform’s current and future needs.
Incorporating these ideas on a regular basis is a key factor in why our platform has been able to scale with the company’s rapid client growth while allowing our team size to remain small and efficient.
Some of this work includes:
- Enhancing our database platform to scale infinitely
- Migrating to a new data center with superior hardware resources
- Building automated test data creation tools to allow for easier development
- Building an internal support portal to automate manual support processes and improve visibility to the platform’s state
What’s coming up soon?
- Centralizing logging for all our applications to improve the support experience
- Implementing caching servers to reuse common data
- Using query notifications to prevent unnecessary data refreshes
- Continuing to add to our documentation repository to better share information among the team
2. Upgrade our Technology and Platform
The development and infrastructure teams maintain roadmaps that bring visibility to our schedule for upgrading our database, framework, tools and infrastructure systems on a regular basis. Committing to making these upgrades on our roadmap keeps us accountable for this work and prevents us from pushing it into the future like many have experienced at other companies.
Staying on the most up-to-date software allows our developers to take advantage of the latest improvements and prevents our platform from falling behind to a point where upgrading is a major effort with more risk than normal.
3. Create Push Button Release Processes
Our push button releases allow our developers to release our product by simply kicking off our automated deployment processes. This means our developers spend less effort on releasing our application and allows us to deploy more frequently. An unexpected result of reducing the complexity of our release processes is that more engineers can take turns leading the release effort.
4. Build Automation Tools
Nobody likes to work through a set of manual steps. It’s error prone and frustrating. That’s why we use Powershell to automate our tasks whenever possible. From new developer software installation to automating development processes we try to keep our developers from having to work hard on repetitive tasks.
5. Build Using Proven Technology
Our team has decades of experience in building software. We come from different backgrounds (e.g., startups, large companies, consulting), but there’s one principle we all share. We use proven technology in the Medalogix platform. We have found this principle allows us to spend more time developing products and less time supporting software integration problems, dealing with software defects, and having to refactor/rewrite parts of the application when software becomes obsolete.
6. Work with the Top Talent
Our original technology team was hand-picked from the best people we know. This helps to keep the bar high and allows us to achieve great things with a small team that worked together well.
With the growth of the company we’ve had to expand our hiring to people outside our network, but our our team’s principles have remain unchanged. The members of our technology team are not afraid of a challenge. They learn new concepts quickly and think of great technical solutions to hard technical and product problems that nobody has seen before. They’re hungry to seek out problems and find solutions to them. They work well with our product team and take pride in the platform they help to build. They communicate well and are focused on continuous improvement.
Our team is made up of people from all experiences from seasoned technology veterans to mid-level engineers and entry-level PC technicians, but the one thing we have in common is everyone brings the right attitude and aptitude to the team.
If you’re interested in learning more about what it’s like to work on the Medalogix development team, contact Wes Kennedy at [email protected]. We're actually currently looking for a talented software engineer. Could it be you?