Matt Millican, Telerik Developer Expert for Kendo UI, talks about juggling many projects and learning along the way.
This post is the sixth in a series featuring our Telerik Developer Experts, community members who represent the best of our products. Read about our first five featured experts here and meet more TDEs here.
What’s your background, professionally?
I started doing development for fun while I was in middle school and needed something "productive" to do with my time. In high school, I started reaching out to small business owners asking if they needed a website, and InternetMill, my own small web development company was born. I had an internship in college where I did some development for them and then after graduating, I went to another small company which is when I started in the ASP.NET space.
Where are you based and why?
I live just west of Milwaukee, Wisconsin (in the US midwest for those that
are unaware). We're here because this is where my and my wife's families are and we like being close to them. Plus, let's face it, Milwaukee is pretty amazing. Especially with all the craft breweries we have going on here. The winters are bad though, so Milwaukee loses a few points on that front.
With whom are you working?
I'm currently the lead back-end developer/team captain at Graydient Creative, which is a small spin-off company of the Marcus Corporation. We started as the internal "web team" several years ago, and have since ventured out into our own world. We specialize in the hospitality and experiential spaces doing web design and development, application development, and a variety of other services.
I also have my own small development company where I work with small businesses and organizations to develop applications for them.
What project are you working on now?
Well, there's never just "one" project, at least in my world. I always have several going on, at work and at home. Currently at work, I'm mostly in the "planning" phases of projects. Though, we have been working on a few larger projects involving NOP Commerce (an open source ASP.NET shopping cart). Those have been fun, trying to bend NOP to our will without breaking it too much. At the same time, I'm also working on building and implementing a Single Sign On solution to fix that never-ending login problem, that everyone seems to have.
On the side, I'm also working on an agile project management and billing system. I've internally named it "Collab," although this is likely not what it's going to go to market as. I know it seems like a huge beast to take on, but my target niche is small-medium agencies or consultancies, because I feel there is a lot to be desired in that area. My team at work is currently beta testing it, so it's great to get some first-hand knowledge of how it's received. If you're interested in trying it out, send me a message to get in touch.
What’s the most interesting project you’ve done recently?
Not to be one of "those responses," but pretty much every project has its own interesting
parts to it. The one that sticks out most as of recently was an iPad app I made using NativeScript for one of our restaurants that was just remodeled. The restaurant, which has a spy theme, has various games and little trick type features. One of them was a "secret exit" where the iPad would "scan" your hand and then open a door. The project was interesting for a few reasons, the first of which is that it was my first mobile app and my first app using NativeScript. The other was that the app had to communicate with a relay device connected to the door over TCP. Luckily some of the other TDEs were willing and able to help me figure out how to get it done.
On another note, my "Collab" project has been quite fun and interesting because I've been able to do fun new things with Kendo UI and, in my mind, have pushed my skills on both the front-end and back-end sides. I've tinkered with displaying data in different ways that's going to be more meaningful to users than just a grid of data. There's also more "workflow" involved in this type of application and it has required me to think in a little different ways on how best to achieve this, and have it be flexible for multiple teams.
What are some challenges you are encountering now in your work
I think one of the biggest challenges for software development in general is being able to develop quality results given various requirements and restrictions. As a developer, what I want most is for people to enjoy using the software I (and my team) build for them. Where it gets difficult is when budget, time or business requirement constraints limit our ability to do that. There are many things that we, as developers, would like to be able to do behind the scenes to either improve the quality of the product itself, or to
build better tooling to make development and delivery of the product easier and better in the long run. Many clients (or even business leaders) don't see value in that and it is usually the first thing to get cut from a project.
Which of our products do you use and why
I'm a big fan of Kendo UI and have been for several years now. I love how easy it is to use and how much better of an experience it gives users, while not drastically increasing the work involved. I've also started venturing into the NativeScript world and have been enjoying that a bit. My goal is to have a "reason" to use (or at least try/play with) every Telerik product.
What’s the biggest software pain point, in your opinion, in the mind of your partners/clients
This is a tough one in my opinion, because it really seems to depend on the client. If I had to pick one, I would probably say it's the ability for them to understand the value in what they are asking for and ultimately getting out of their software projects. Most clients seem to have this idea in their head that just because of that one thing you did for them a few months ago, that "this should be super easy and shouldn't cost me X thousands of dollars." Along side of that, it's trying to convince the client (business stakeholders) that taking shortcuts now will usually lead to problems down the road and increased development effort when they want to change a feature.
Getting clients to agree to a thorough discovery process is difficult because they also often don't see the value in that, but often it is critical in vetting out their requirements so that we (as developers) can see the big picture and design the solution accordingly. It also often seems to help them (the client) think a little more about what their current processes are and how what they might be looking for could affect the scope or deliverable of the project.