Spotlight: What I Do As a Software Architect
With thousands of factors to consider when developing and coding software, someone needs to point the general direction when teams are working on multiple applications for multiple clients. This code developer is a software architect who guides projects from concepts to work products.
To find out what it means to be a software architect, we spoke with Harrison Ambs, a lead software architect at a small Florida company:
Tell us a little about yourself and your experience.
I’m Harrison Ambs, Lead Software Architect at Stickboy Creative . I’ve been doing this job for a couple of years now, before that I was the creative director at Stickboy for several years. My job as a “software architect” is essentially meeting new clients, understanding their business goals, identifying needs, and developing solutions to meet those software needs within the business goals. After the basic discovery and architecture (what are we doing and how are we doing it?) Is made, I lead the team to develop and build the application that we designed. This means that I have to combine my knowledge of current coding practices and trends with an understanding of any existing software that we will need to integrate with and what they have made available to third-party vendors. And since I’m in the app design, I have to keep up with current design trends and best user experience practices.
Most of our clients are companies that want to partially simplify their work. It usually happens that they have boxed software that they have been using for years, which in the beginning did about 95% of what they needed, and as they grew, the number got smaller. We meet with them to understand their current situation and needs. We then discuss their overall business plan and what areas can be improved with this project to make a business or software development process easier or to make someone’s day easier. After fully understanding the project and company, we come up with a plan to develop an application platform that is best suited to each company’s unique situation and that can grow and adapt with them.
Other companies come to us with a completely new idea for an app that they want to sell and want us to create. So in this case we are building everything from scratch. This is a different scenario than the one described above, but the general process is the same, only adapted to something that does not already exist. This is when I am most like a traditional app developer. Well, can you call something “traditional” that has only been around for a few years?
What prompted you to choose your career path?
I originally wanted to become an aerospace engineer. I went to college with the hopes of getting a PhD and getting a job at Lockheed’s Skunk Works. In one of my classes, we were given a project to launch a toilet into geosynchronous orbit (on paper). We had to do all the math, research fuel, launch sites, materials, etc. In the hopes that my group would get some bonus points, I looked for a free 3D modeling program and built a rocket in 3D to demonstrate how it was installed. … up and how it looked. At the end of this project, I realized that design is what I really want to do.
I dropped out, got a job in a coffee shop and tried to find a job as some kind of 3D designer. A good friend of mine took me to work at his company, from there I went into motion design for television, and then became the art director of a local news agency. After that I got a job in a motion design studio, and then I was offered a job as a designer, where I now work at Stickboy.
Like most small businesses, we wear a variety of hats and are constantly evolving. Stickboy started out as a small website design studio. We constantly had more and more clients who needed more complex web development needs. This leads to attraction of referrals, which lead to even more complex projects that force us to adapt to the direction in which our business is going. This meant that I went from being a designer to a creative director and now a software architect as our business continued (and continues) to adapt. The business is really good as much as the people who work in it are good, and if I’m not trying to get ahead of us, I’m doing everyone here a disservice – our CEO is good at it, he is always two steps ahead of where we are now. …
How did you get a job? What kind of education and experience did you need?
Received by default. We decided to lead the company in this direction and I found that I really like this part. I have always been drawn to solving complex problems and finding solutions that fit those problems. I also love the creative process and coming up with things that no one else has ever seen. The more education you get, the better, because it is never “enough”. A business degree can help because while software development is developing rapidly, standard business practices and processes are developing more slowly. Thus, the ability to understand almost any business and its goals can go a long way in developing the software that will help it function.
In terms of experience, this is almost always on-the-job training. I love following the blogs and newsletters of as many individual app developers as possible because these people are honed like a samurai blade when it comes to software development. They are on the brink of what is possible, so I am always waiting for them to see what lies ahead in order to better serve my clients and help our team.
What are you doing besides what most people see? What do you actually spend most of your time on?
I’ve heard somewhere that to answer this question you need to keep track of money – for example, the Rolling Stones actually sell T-shirts. If so, I am working in a file storage and sorting system. For most of my day, I facilitate the transfer of information between clients and the team. Clients will ask for a feature update, a new technology comes out that can work in one of our applications, one of our developers creates a little PHP widget that will make it easier to load images, and then it all goes through me and I to evaluate, prioritize, documenting and including them in the project. Each project has its own scope and scheduling of scrapes, and a feature that can work on all of our projects could be added to one app next week and another one three months later.
What misconceptions do people often have about your job?
Basically that it exists. Most people think that I am building my own software and they ask me if they buy what I helped create. Not many people realize that there is a whole bunch of people who sometimes work very late to make sure that the accounting software your boss suggests we develop will make it easier for you to get your job done. They also forget about all the work we put into our user interface and our app design. People tend to think that business software is a sea of gray boxes, but we pride ourselves on doing what people want and enjoy using them during their workday. Business apps can be pretty, too.
What’s your average uptime?
On a good week, I’m about 45 years old, but since I help run a small business, it’s often longer. It’s 7:40 now and I’ve just put my daughter to bed. I have a small bunch of things that I need to check and sign for my team for tomorrow morning because I don’t want them to wait. I work long days and usually do some part-time jobs on vacation. This is a small business – there is always something to do. But this is useful. I’m helping start a company that hopefully outlasts me, which is pretty cool.
What personal tips and shortcuts have made your job easier?
First, always be ready to try a new tool if you think it will make your job a little easier, even if it costs money. We switched to Slack last year and never plan to look back. This one change saved us an insane amount of time and hassle, which is well worth the investment. Invest in your tools. Second, if you are managing people, give your team a little nudge by giving them a little more responsibility than they can periodically do. Leaving the meeting and seeing them team up to solve a problem without you is a wonderful feeling. Third, never avoid a bad situation with a client or boss. When everything is on fire, “not knowing” is the worst thing you can think of. If you drown them in phone calls and emails letting them know what’s going on and what is being done to solve the problem, people will love you for it. I work with someone who is mostly passionate about it and our clients adore her for that – our strongest client relationships are born out of these situations.
What are you doing differently from your colleagues or colleagues in the same profession?
I document how I do almost every aspect of my job (I even have a meeting template that I use all the time – it’s amazing). I have a folder in Google Drive filled with only working papers. I call it the bus hit folder. I firmly believe that how you do something is as important as what you do, and it also allows me to completely outsource it from my brain and free it up to work. I can see where we are in the project by looking at the process documentation, and I immediately understand where we are in development and what comes next. The fewer decisions and things I need to think about during the day, the better.
What’s the worst part of a job and how do you deal with it?
“Hi Harrison, X is broken.” You prepare and work your best to make it as complete as possible, you test, test and test, but in the end, when something doesn’t work, it costs money. Every minute that passes without work X simply slips away for our clients.
What is the most enjoyable part of the job?
When we do autopsies, employees and they tell me how they enjoy working with our software. Unfortunately, for most people, work is not fun. But can I help make your job a little easier / faster / easier, and it will make your day a little better? What makes you more productive, a better asset for your company, and therefore more successful? I will gladly work late on Friday for this.