From Technician to Coder: An Interview with Sharepoint Developer Andrew DiCosmo - Technibble
Technibble
Shares

From Technician to Coder: An Interview with Sharepoint Developer Andrew DiCosmo

Shares

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?

Andrew: Currently, I specialize in developing applications for SharePoint.  In turn, I’m using a combination of web technologies, such as HTML, CSS, JavaScript, Jquery, XML, C#, VB, SQL, XSLT, etc.

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)
  • Web development (HTML5, CSS3, JavaScript, Jquery, XML, PHP, asp.net)
  • 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!

  • Alex Irigoyen says:

    Great interview done by two very smart individuals. I especially like the 5 areas mentioned that a developer should know. I think that in order to succeed within the IT industry, whether you’re a developer or not, you must have a solid understanding of those concepts and how they impact a business. Good stuff as its always interesting to hear different points of view within the IT industry!

  • pctutorials.info says:

    this interview gave a good perspective on what should I focus.nice interview.

  • Mike Tanis says:

    I recently finished an AA degree as an IT Programmer/Analyst after spending many years as a PC & Networking tech. Mr. DiCosmo’s advice and analysis are spot on.

    Let me add a tip:

    Your local community college probably offers relatively low-cost courses in many of the web programming technologies. I attended Northcentral Technical College in Wausau, Wisconsin and the entire programming track for an AA degree costs about $12,000. That’s not bad considering financial aid and a 2+ year program length. Keep in mind that most classes are offered in the evening and cater to working individuals.

    In my case I’ve found little motivation to commit to programming on a full-time basis. However I’ve a much better understanding of software problems now.

    Thanks Derrick and Andrew!

    -Mike Tanis

  • Mike Selvage says:

    Programming was fun and exciting during the first few years. You were treated as a ‘Professional’ and not a ‘Tech’, which was a BIG difference. Flex-time was wonderful – but it makes it hard to transfor backwards to a ‘be-ontime-punch-the-clock’ job. The hours get LONG after a few years and, after that, it becomes your life, not your job. Being on ‘Salary’ seemed great in the beginning – but when the long hours start comming you’ll wish you got that over time pay.

    Putting in the hours to earn your pay and trying to keep up with that which is in demand is a struggle. After 11 years — going back to being a PC Tech was WONDERFUL. In at 8am and out at 5pm and home for a warm dinner!!

    • Tony Scarpelli says:

      I think it a great skill to be a developer whether it be web sites or sharepoint, server client stuff and small or large applications for proprietary industries. And with new apps stores everywhere made it easy to be self employed as a developer of your own applications. If someone has a particular ability here it should be encouraged.

      The only thing I worry about is that we already see many sites to outsource these projects to India, Philippians, China and other low cost labor places. For example a very nice wordpress template which cost $45 are cheapest made paying $3 per day in India. The quality is great. If they can do that why not any sized development project? Its not like construction where you have to be here to pour the cement into the foundation. So what if such packages are available 100 programming hours $400 on amazon.com or ebay… much of programming can be done 15,000 miles away with only minor onsite project management.

      North Carolina was decimated by furniture companies sending their wood, springs and fabric to China to have them assemble it into furniture and ship it back to us cheaper than paying American wages. Furniture manufacturers do not pay $80-120 per hour. WE are in an industry which is infinitely easier to outsource work, no shipping costs, no import duties, no customs, no long term purchase quantities required, no long term contracts required and no large upfront investment to establish these agreements.

      So it concerns me to develop for an industry which is so easily done 100% on the web. They do not even have to get a H1 Visa to come to this country.

      I do not know the answer. I worry that overall bargaining power for wages are greatly weakened by expanding programmers in every country around the world many of which have daily wages of $1-4. Supply and demand is what establishes wages…. American companies can always justify outsourcing to lower wage countries. Many jobs might be too small to justify the coordination or to complicated or require local representation but many projects can easily be moved off site.

  • Peter says:

    Great interview! I do have a question though: What do you think about the “Ruby on Rails” development trend? I just recently learned about this development paradigm, it seems pretty “hot,” but it wasn’t in your list. I was wondering if there was a specific flaw with that which would cause you to exclude it, or what were your general thoughts on it? ^_^

  • >