Applications Developers: The Artists of Technology
To the uninitiated, information technology might seem to be a tedious enterprise, virtually devoid of any artistry. While this view might not be too far off for certain sectors of IT, it’s certainly unjustified where applications developers are concerned. These innovative individuals have produced some enduring masterpieces over the years (the Web browser, for example), and when it comes to being ahead of their time, apps developers are as avant garde as any artist could ever hope to be.
“As opposed to the rest of IT, in applications development there’s a lot of creativity involved, having to think outside the box, so to speak,” said Steve Loper, director of software development at Amadeus Consulting, which builds custom applications for corporate clients based on .NET technology. “It’s an overused term, but it’s true. A lot of the rest of IT is focused on operational concerns: keeping things stable, making hardware and software transitions that don’t adversely affect anything. There are more creative processes in apps development.”
In fact, the name of Loper’s organization, a reference to the ingenious 18th century composer Wolfgang Amadeus Mozart, was selected as a tribute of sorts to the artistic component of applications development. “It was a conscious decision when we founded the company that software development was at least 50 percent art, in addition to science and engineering,” he explained. “The best developers have that creative side to them, mixed with engineering and rolled into one.”
So You Want to Be an Apps Developer
What types of people are attracted to this discipline? Obviously, most of them are very creative, but they also possess a predilection for logic. They are neither fully left- or right-brained thinkers, but rather have a nice blend of the two sides. Apps developers also are frequently socially conscious individuals, who are initially attracted to the work as an outlet for helping others.
“I wanted to apply my programming skills in the medical device and pharmaceutical industry to help people get better,” said Sunil Gupta, principal consultant for Gupta Programming, who has more than 14 years of experience as an SAS developer. “Writing applications basically is a way to enable non-technical people to take advantage of computers for data access, management, analysis and presentation. I’d always had a strong interest in programming and logic, and I saw what types of roles and positions there were in the industry. I started out as an employee for a medical device manufacturer. After about seven years of being in the corporate world, I became a contractor. I enjoyed what I was doing. I could anticipate what the users wanted, and I knew I could deliver that.”
For Loper, an early enticement to the applications development profession was an opportunity to help out in education environments. “At a very early age, I got involved with programming BASIC on Apple II computers they had at school,” he said. “As I went through high school, I got some chances to take some programming classes and have stuck with it from then on. I actually got a summer job in high school one year doing educational games programming on the Apple II. That was something early on that kept me moving in this direction.”
There are no typical education paths for applications developers per se, but many pursue bachelor’s degrees in technical, hard-science subjects, and some even go beyond that, Gupta said. “The traditional path is going with more technical degrees and possibly getting a master’s. I took the road that I assume most everybody in this industry would, which is having a B.S. or master’s in statistics, math or computer science, but I’ve also come across people who have their degrees in non-technical fields like English or political science. They still end up being good programmers because they have a strong interest and good analytical minds.”
Loper, who holds a bachelor’s degree in computer science, said education did not stop for him once he finished college. He has since attended many seminars, which, along with substantial on-the-job experience, have greatly enhanced his comprehension of his area of expertise. “I’d say the best non-academic training I’ve had has been a combination of on-the-job experience and events like professional developers conferences, where there is a lot of available information and people to talk to,” he said.
To develop comprehension of applications development through practical experience, it’s imperative to start out with an organization that has many skilled veterans on staff who are willing to share their knowledge, Loper said. “It’s somewhat critical in your first position to try to find a place where there are many skilled developers to work with. They don’t have to have the best software development process in the world, but at least have a decent, identified software process. That environment will give you two things: You’ll gain some good habits, and you’ll have people to learn from. One of the biggest complaints I hear from people who are not looking to change careers but just find a different employer is that the place where they’re at doesn’t have anybody to learn from. They’re basically having to figure things out for themselves, which is fine to a point, but you can only grow so much if you’re not in an environment with other people you can learn from.”
IT credentials are another potential source of education and training for applications developers. As someone who both develops applications and hires employees for his organization, Loper sees plenty of certifications on job applications. He had some skepticism about certifications in the applications development sector, but also said he understood they were valuable on some level. “I kind of have mixed feelings with certifications,” he said. “Certification only does so much. It doesn’t necessarily tell me how solid a developer is. There are always people who can get certifications who aren’t really that good. On the flipside, it’s kind of an indicator-the average person with the MCSD (Microsoft Certified Solution Developer) is much more highly skilled than the average person without. When I’m looking at resum’s, it at least tells me that this person has focused in on this technology and has at least gone to the trouble of studying for and taking the test.”
Applications Development Career Keys
Aside from a solid foundation of education and experience, there are a few common characteristics found in successful applications developers. One is communication, which is to be expected as regular contact with clients comes with the territory, Gupta said. “It also helps to not take things personally,” he explained. “You may feel certain things will be helpful for the user and may make some efforts in developing something, then find out that the user doesn’t care about it or want to use it. You have to put your personal priorities aside and not take it personally if they decide to go a different route. You have to be able to plan ahead, and expect changes and updates to the requirements. They may start out with something, and it could end up quite differently.”
Another important quality is the ability to find solutions to complex challenges, Loper said. “The best developers have very good problem-solving skills. They like to be presented with a problem, figure out what that problem is and figure out how to solve it. I also think communications skills can be very important. Most developers have times when they’re speaking directly with a client. Also, they need to be a little bit stubborn. Computers won’t always do what you want them to do the first time. You have to have a little bit of stubbornness to keep going at a problem until you have dealt with it.”
One of the main ways developers can help prepare themselves for any obstacle