At the heart of any organization is its databases. By far, the most important task in development is designing the core data model, in such a way that it mirrors the business and is easy to understand as well as to change and grow with the business. In my career, I have designed many databases, some small and some large. Each was well understood by the developers and business alike, and reflected the needs of the company.
Designing databases is a bit of an art form. Frequently, companies will hire a DBA to perform these tasks, but what is needed is not an administrator. It is an architect. Talented database architects are extremely difficult to find, but it is a skill that I possess. This has served me well in many roles, from developer to team lead to manager to director. Having access to this ability frequently eliminates roadblocks that my team is facing it its development tasks, and essentially provides a two-for-one value for my company.
As a seasoned developer, I have the ability to relate to other developers within my group. Frequently, a technical manager will have little or no technical expertise. With my extensive (and current) skill set, I not only can provide leadership to my team, but it’s far easier to earn the respect of other developers.
Other benefits include having someone to bounce ideas off of, people to work with when solving complex problems, and even someone to lend a helping hand when there is a complicated piece of code to write. These are all things that I am comfortable doing, and provides many added benefits to my company.
While my first passion is leading a technical organization, I will always have a desire to maintain my technical capabilities, and enjoy continuing to learn new things about software development.
I have exposure to many languages, but my strengths lie in back-end development with databases, Microsoft .NET technologies, interfacing with CRM and finance software, and developing and consuming interfaces to third-party vendors and customers.
To discuss cloud technologies these days is quite fashionable. However, this trend is more than just a fad. Cloud technology is the next evolution of the Internet, and opens up many doors that previously were closed.
Take a small start-up company for example. In the past, the company would have to buy or build their own server, install the operating system, set up the network, buy an Internet connection (or find a collocation facility), and maintain this server. Believe me – I know – I’ve done it. Today, setting up a server is as simple as a few mouse clicks. With Azure and Amazon (both of which I have experience on), servers can be deployed quickly and securely. Now, a startup can quickly develop without spending time on tedious tasks such as operating system install or network configuration.
For large companies, the benefits are even greater. Cloud computing allows them to scale solutions to meet customer needs. It allows them to utilize off-peak computing power to solve complex problems. Storage needs as the customer base grows are no longer an issue.
I have managed cloud migration tasks for my organization in the past, and there are many complex things to consider. With my skills in networking as well as development and database, I can see where the issues will crop up, and can help to architect a migration plan that will keep the organization running efficiently. With the wide variety of technical skills that I have, this gives me an advantage over other non-technical leaders and helps me to better perform my job and serve my organizational needs.