I am a Software Engineer, specialized in installation and development of the Microsoft SharePoint platform. I develop custom solutions for clients such as the State Department of Health Services, various school districts and several private enterprises. My experience as a software engineer has spanned over about 10 years with 7 years dedicated to working with SharePoint.
My job is to go into a client organization, assess their SharePoint needs and produce a custom product according to their specifications. SharePoint is a very unique product. With every project, there are several misconceptions that the client has regarding what the platform will do and how to use it. A large part of my job as a software engineer is to educate the client. Though many development feats may be applied to the SharePoint environment, many do not support a great deal of data or a large number of users. Clients may have attended a Microsoft SharePoint demonstration or some other form of educational session, so they usually have an idea of what they want to do with the platform. However, in many cases, the infrastructure just simply will not support the complexities of the client’s design. This is the most common misconception that I have to dispel going into a new project. In addition, the SharePoint platform appears deceptively simple to the untrained eye. When staff developers witness the use of development tools, many just assume that they can apply their programming knowledge to the product, and many attempt to just “run with it.” In many cases, this strategy brings disastrous results.
On a scale of 1 to 10, I would rate my job satisfaction at about a 9 when I first started. However, I would evaluate job satisfaction at about a 6 now, toward the end of my tenure as a SharePoint software engineer. This is mainly due to the constant challenges that surround the SharePoint platform. Convincing the client that the platform will not support their design often entails literally building out the design of the specifications, and then showing them how and why the platform does not support the design. After a while, this process becomes tiresome.
There is really nothing unique about my movement into SharePoint software engineering. My position as a SharePoint software engineer grew from my experience as a computer programmer. I had already learned several programming languages. However, I did not know SharePoint. One company hired me on a contract based on my programming skills, though they knew I did not have SharePoint experience. They allowed me to learn the platform while on the job. It was a great experience. From that contract, I decided that I wanted to know more about the platform and make development for the SharePoint environment my specialty.
By moving from computer programming into software design for SharePoint, I was very happy with the situation for a long time. As SharePoint grew and became more popular, Microsoft began offering certifications for the platform. This attracted more and more programmers into the niche field. The once sparse field was becoming crowded with very knowledgeable technical minds when I made my exit. However, I don’t regret one single day of it. Software engineering for SharePoint is a great experience.
The hardest lesson I learned from being a SharePoint software engineer is the problem with not properly managing client expectations. With any software development project, managing the expectations of the client is perhaps the most important factor regarding whether the project will be a success or failure. With SharePoint’s unique challenges, the most difficult lesson to learn was how to effectively manage client expectations. This problem is always present.
The most important lesson I learned outside of school in the working world was just how hard you have to work on a real job! School, even though it was challenging, was a breeze when I look back. Going to classes that I enjoyed and having information spoon-fed to me was a dream come true. In the working world, life is a bit harder. You are expected to produce results and no one spoon-feeds you anything, unless you find yourself in a very desirable position with a company that seeks to groom you for a future position.
The strangest thing that ever happened to me as a software engineer was having those few projects where every single thing went exactly as expected and predicted. These occurrences are rare and priceless, and very strange!
Creating a great product is what gets me out of bed every day as a software engineer. Knowing I have a problem to solve, and I could solve it, is what really motivates me on this job.
The challenges with the position are mainly client-related - either managing client expectations, or managing staff developers, both of which are challenging. However, both aspects are simply part of the job as a SharePoint software engineer.
The SharePoint job was not stressful at first. I worked for some great companies that gave me plenty of room to learn. My team created great SharePoint applications that worked just as expected and I really enjoyed the day-to-day activities on these early jobs. Only when newer versions of the platform were released, and my clientèle began to consist of larger companies and organizations, did the job become stressful.
The salary is great for a SharePoint software engineer. A good engineer can make well over 100k per year. However, be prepared to work LONG hours for the money, and you will also be expected to meet deadlines, even if that means giving up weekends and holidays.
Depending on the company you work for or the contracts you take as a SharePoint engineer, you may be able to take vacations. However, in many cases, if you work for a company, you may be the only person able to solve complex problems. In these cases, a vacation may not be possible.
To get hired as a software engineer, a degree in Computer Science with a specialization in Software Engineering or Design is most likely required. However, if you have a solid technical background, such as that of a programmer, you could attain Microsoft certifications instead of seeking a degree. These certifications are more highly prized in SharePoint than an actual degree. If the software engineering position is not as specialized, a degree would probably be your best bet.
If I had a friend considering the software engineering field with a specialization in SharePoint, I would tell them exactly what I have stated in this interview – be ready for some very challenging situations. The most challenging part of the job is not creating great software, it is managing client expectations about the product.
This is a true story as told to JustJobs Academy which houses career interviews and job search advice for professionals in any industry. Visit to read about how to search for the perfect job and get promoted once you’ve found it.