The future for software architects looks positive. According to the Robert Half Technology Salary Guide, starting salaries for these IT pros will increase in the coming year. But how do you become a software architect?
Whether you’re a recent IT graduate interested in breaking into the field, or an experienced software developer who wants to make the transition to software architect, this interview is for you.
I met Jerry Clinesmith, software architect at Koen Health in Dallas, earlier in my software development career, and he’s been in the IT field for close to 20 years. I had the pleasure of working with him and owe him a great amount of gratitude for mentoring me. He’s one of the best software developers and software architects in the business.
Our interview is divided into two parts: In part one, we discuss making the transition from software developer to software architect. In part two, Jerry offers some software architecture best practices.
How did you get your start in programming?
In middle school, my parents gave me a Commodore 64 with a modem and I got really into bulletin board systems. I wanted to run my own, but I liked GBBS, which only ran on an Apple II. I was able to get a BBS package for the Commodore and decompile it back into BASIC. BASIC is straight-forward enough to teach yourself, which I did. I spent an entire summer modifying the software and put up a BBS that looked like it ran on GBBS. After this experience, I was hooked! I took the one programming class offered in high school, and majored in engineering/IT in college where I was exposed to COBOL, Java and Visual Basic.
What's the largest software team you have worked on?
Not that large – probably 15 members with project managers, business analysts, developers, QA, documentation/training and operations/support. It was a multi-year waterfall project and became a bit of a death march at the end. After this experience, I definitely favor small, coordinated teams – they can generally react to change faster and be more productive because of the lower overhead of coordinating so many people.
What are your favorite programming languages?
This changes over time, but currently:
- Ruby: It’s the most expressive language I've ever used, and a pleasure to read and write.
- Go: It has some quirky syntax, but it's great at concurrency and very quick to write and run. It’s small and compact and good fit if you're working in the cloud.
- C#: If it had been written to support other operating systems besides Windows from the start, I think it would have surpassed Java.
We can help you get your next software architect job: