Developer Spotlight: James Thompson @ MAVENLINK
James is a software engineer who has worked with web technologies since 2003. He got started programming in elementary school in the early 90’s. He also serves as a lay pastor, overseeing educational ministries, for the First Baptist Church of Provo. He completed a BA in Christian Ministry from the New Orleans Baptist Theological Seminary in 2006, the same year he started specializing in Ruby and Rails development.
Mavenlink is a Software-as-a-Service company aiming to change the way professional service organizations run their business. We are building a new class of project management, business intelligence, and resource planning tools specifically tailored to the needs of the professional services industry. Our solutions help the companies we serve better understand, grow, and otherwise improve their businesses.
What is your role at Mavenlink and what are your primary responsibilities?
I started at Mavenlink in October of 2015 as a Software Engineering Team Lead. In that role I helped establish our Salt Lake City engineering office with just myself and one other engineer by providing local insight and initial community engagement to help grow our team to nearly a dozen team members; including hires in the areas of Quality Assurance, Product Management, and User Experience. I also provided leadership for our first fully local SLC engineering team to establish sound agile practices within the company’s existing process goals and expectations.
Today I have moved into the a role as a Principal Software Engineer. My focus is more purely technical, although as a senior team member I’m responsible to lead by example when it comes to the practices and processes that make our teams more effective. This means I spend my days engaged in pair programming, and normal development work. But, I also invest time identifying ways to teach other team members how to improve their effectiveness, and provide higher level technical leadership around architectural decision-making.
What was your background before you joined Mavenlink?
Before coming to Mavenlink I worked with smaller teams, and sometimes on my own, developing back office and other business utility software for small and medium sized companies. I have a lot of experience with content management and ecommerce software systems, as well as IT systems automation and service providing. I spent several years working as an independent contractor for companies like the New Orleans Jazz & Heritage Foundation and Ligonier Ministries. Given my educational background all my development skills have been self-taught, and all of my professional growth and development has come through consistent investment in myself and my own skill development.
As a software developer, what did you first think about coding bootcamps and what stood out about DevPoint Labs?
I only became aware of developer bootcamps about three years ago when I started working at a company who had previously hired a DevPoint graduate. In the years since, I’ve had the opportunity to work with several others from bootcamp backgrounds; including numerous at Mavenlink. I think bootcamps meet a current market need for software developers, but the real value of a team member for any company is defined by an individual's personal ambition, love of learning, and commitment to on-going growth and development. DevPoint does a good job getting talented individuals started in a good direction, but no education can give someone the right attitude, focus, and drive they need to be successful in the long-term.
How does Mavenlinks’ culture differ from other tech companies culture?
One of our most distinctive cultural features is we are highly collaborative. Lots of companies will say the very same thing, but we take things to a totally different level because of our commitment to the principles and practices of Extreme Programming. Pair programming is the normal way we develop our software, and I can tell you from over a decade of experience that makes us very different. Most companies might let their teams dabble in pair programming, but we do it every day both in person, and remotely. And, we also rotate engineers between pairs on a frequent basis, and between teams regularly to help break down knowledge silos and encourage everyone to be constantly and consistently learning.
What makes you excited about programming?
It is an industry cliche, but I like solving problems. Scott Adams, the creator of the Dilbert comic, once stated that “[e]ngineers like to solve problems. If there are no problems handily available, they will create their own problems.” I tend to get excited about two things as a software engineer: exploring hard problems and finding interesting solutions. Ask some of my coworkers about me and metaprogramming with Ruby and you will likely get at least a few amused smirks, chuckles, or interesting stories. I’m somewhat known by colleagues for being able to do things with Ruby that are at the same times clever and insanely bad in practice. I will, at times, offer convoluted, but entirely effective, programming solutions for the sheer amusement of seeing my pair fumble through understanding code that works but has no business ever being committed for production use.
What do you like to do on your free time and not coding?
I spend a good bit of my free time programming, not as much as I used to; but still a good deal. When I’m not programming I will often read about programming, or programming-related topics. I collect books and have first editions of a number of classic programming works like “Compilers: Principles, Techniques, and Tools;” “The Art of Prolog;” and “Programming Systems and Languages.” I also collect and read comics and books on numerous other topics; including christian history and theology. I also enjoy cooking a lot and always enjoy when the weather gets above fifty degrees and allows me to reliably use my wood-fired smoker to prepare pork, brisket, sausage, lamb, and the occasional prime rib roast.
Come meet James & hear him as the keynote speaker at our upcoming Launch Day. RSVP Here.