It’s safe to assume that a clear majority of the technicians on Technibble are devoted to computer repair and networking. But I’m also certain that some of you may have growing interest in other segments of technology consulting, such as software development. For those of you out there that have either dabbled in coding or are actively considering jumping feet first into software development, I had the chance recently to speak with industry colleague and Sharepoint Development specialist Andrew DiCosmo.
I like to refer to Andrew as someone who I’ve known for a few years now. We happened to cross paths at a CompTIA exam development workshop, and have been exchanging ideas and thoughts about the computer repair field ever since. Before Andrew got into developing for Sharepoint, he was running a full time computer repair business in the Chicago, IL (USA) suburbs. But he’s always had a knack for software development, which is why he made a calculated decision to make a life change: from computer repair expert to software development maven.
I sat down to pick Andy’s brain on a few different topics, such as what his background looks like and what tips he has for aspiring developers trying to cross over from computer repair to software development. This interview shouldn’t be taken as a PSA to get out of the computer repair field, but more-so to give some exposure to another side of IT that doesn’t get much limelight on Technibble.
Since I am as far from a coding genius as one could be, here’s Andy’s insight on his new-found passion for development consulting. While he happens to specialize in Sharepoint, his opinions and recommendations can be broadly applicable to most software development paths and endeavors.
Derrick Wlodarz: You started an IT consulting company 5 years ago that you recently left to work for another consulting firm. What led you to make that decision?
Andrew DiCosmo: It was a combination of a slow economy, customers not making payments on time, and IT recruiters that kept calling with opportunity after opportunity.
Derrick: If you had to do it over again, would you still have started your own company?
Andrew: Absolutely. It wasn’t always enjoyable, but it was a tremendous learning experience that you can’t get from any book or classroom.
Derrick: Tell us a little about your education path. How did that help you get to where you are today?
Andrew: My education route has always been a struggle. I moved out to live on my own during my senior year of high school, and I have been working full time since then. I didn’t have much time or advice on planning my education path.
I ended up attending a Technical Institute just before I graduated from high school. I started focusing on a degree in computer science that specialized in Networking. I was fortunate enough at the time to be working for a company that acknowledged my background and happened to be in need of a Technology Specialist. After a few successful computer repairs, I was their new “IT guy.” After that, I went on to get several technical certifications in my field, took more classes, and got more hands-on experience.
Derrick: When did you decide that software engineering was the right choice for your career path?
Andrew: In my first year working as a help desk technician I was asked to build a simple data entry application. I enjoyed the entire design and implementation process of creating that program. Since then I knew software engineering was the right choice for me.
Derrick: What technologies (coding languages) do you specialize in developing for, and which is your favorite to work in?
I would have to say my favorite languages to work in are C#, VB.net, Ajax, and PHP. At the moment I prefer to build web-based applications over desktop-based programs.
Derrick: What technologies do you feel are going to be hottest for up and coming computer science professionals over the next 5 years and why?
Andrew: When I look at technologies that are gaining popularity, I don’t look at the product specifically as much as I look into the concept itself. For example, let’s imagine that a new product was invented and offered by “Company X” and it was the hottest product on the market.
I wouldn’t devote all of my time learning everything I can about this piece of software because a similar product would eventually be released by other companies. Instead, I would focus a bit more time on knowing the features and functionality as a whole. This way I am more agile in the event that “Company X” is no longer offering that product. This allows me to learn a very similar offering because I have an understanding of how it works instead of just knowing the interface and making it work.
With that said, here are 5 areas I fully believe any budding developer should know based on industry trends, regulation requirements and compliance needs:
- Network Security (User polices, compliance, Security appliances, human security)
- Cloud based solutions ( VoIP, Remote Storage, Databases, VPNs, collaboration suites)
- Databases (SQL, Oracle, MySQL)
- Networking (Virtualization, Mobile devices, network appliances)
Derrick: For those looking to get their foot in the door with software engineering, what kind of approach would you recommend (both professionally and education-wise?)
Andrew: The best approach would be to focus on learning core languages in the area you would like to develop in. Right now the demand for web developers is high and will be for at least the next 5-7 years.
If you want to get your foot in the door as a web developer, you will need to be able to know the following languages at basic level. CSS, HTML, Jquery, ASP.net, PHP, MySQL, and SQL. Also, it is important to know the basics of networking as well and be able to speak at a high level about something you developed using these languages.
If you haven’t developed anything using these languages, I suggest that you find something you want to work on and build it. It may not be a successful project, but it will help you speak more intelligently about the languages you worked with.
Derrick: What’s the hardest part about being a software engineer in the position you work for today?
Andrew: For me the hardest part of being a software engineer is trying to stay in the forefront of the software engineering field. There are so many new concepts, trends, software updates, and obsolete ideas, that it makes it very challenging to keep up.
Derrick: What do you see yourself doing ten years from now in the IT field?
Andrew: If I stay in the IT field I can see myself working on designing new concepts or improving existing applications. I would work as an innovator and not as the developer responsible for writing the code.
Derrick: Is it logical to say that techs can start their own businesses around software development? Why or why not?
Andrew: The simple answer to this is “yes” because the demand for talented software developers is very high right now. Companies are actively looking to outsource talent to help build applications for mobile, web, and database driven applications. The startup cost for a software development company is very low. So, if you have a portfolio of past projects, references, and are willing to put in hard work, then you are in a good position to start a business around software development.
The interview with Andrew was edited for grammar and brevity. If you have any comments about software development as a computer repair technician, feel free to let us know in the comments area below!