Skip to main content
Loading...

About

Journey to Professional Success: My Career Path and Experiences

Over the past 25 years of my career, I have witnessed the rapid development and evolution of technology. With each passing year, new tools and advancements emerge, making it easier to create and implement innovative solutions. However, despite these improvements, technology still poses challenges that can be difficult to overcome.

One of the most significant challenges is the complexity of technology itself. As new systems and software are introduced, there is a learning curve that comes with mastering their functionality. This can be especially challenging for users who are not as technically inclined or who are not familiar with the specific technology being used.

Another challenge is the need for constant updates and maintenance to ensure that systems and software are running efficiently and effectively. Keeping up with these updates can be time-consuming and costly, but it is essential for ensuring the security and reliability of the technology being used.

Despite these challenges, I remain passionate about technology and the solutions it can offer. I am constantly seeking to learn and grow my skills to stay ahead of the curve and deliver the best possible outcomes for my clients.

Quick Glimpse Into My Experiences

The Here and Now

My latest project and career information are posted on LinkedIn. But it doesn't provide all the details and sometimes isn't fun to read given it's primarily bullet points. It's really meant for recruiters and mainly a search engine to provide enough keywords to come up in someone's search results.

I've been better at keeping it updated. But I don't go rushing there to make a chance whenever I touch a new technology or even finish a project. Not unless I want to be noticed and are looking for a change.

I'll cover my past in the next tab. However, I want to keep this website current and eventually I'll expand it to include a blog section. I already have a few related topics I want to discuss.

Last few years I have worked on multiple projects that were in different phases. Some were somewhere in the middle of the road. I helped to sunset (shut down), but was fortunate to work on its replacement thus a brand new code base and current technologies.

A few years ago I transitioned into an Architect role looking the larger scope, across multiple projects, some similiar some completely different. At times I act as a technical lead. When I onboards on the project that was in a few months going away it was with a caveat that I architect and design a replacement solution using web technologies.

It was a Windows Universal App, which I had plenty of exprience with from my days in Skype team. Our new web based solution required to be integrated with Dynamics 365 and with audio calling.

My previous experience made the perfect candidate for this new application. But it came with the caveat of maintaining and learning the old code base in order to port over half the features.

My latest project involves me investigating a GraphQL server and creating a low-risk plan to improve performance for various queries.

However, to get the best results even the React.JS UI will need to go through a facelift and cache some data.

My low-risk proposal is to create a brand new .NET Core GraphQL Service. It's a huge and complex schema and getting to feature parity will be a lot of work. That is if we get the green light to do this. But it is the least risk and wouldn't touch the existing GraphQL service that cannot go down.

At this point I'm looking at the next chapter of my career for the next few years. I've done consulting in the past and I have really enjoyed being involved in multiple parts of the project, providing guidance and technical leadership. I really enjoy taking on a new domain, having ambiguous goals and genrating all the detials around it to come up with the proper architecture, UX/UI flows, technical designs and execution plan and then seeing the whole solution come to life. And of course my client being super happy about it.

Career Summary

My latest project and career information are posted on LinkedIn. I will summarize my main projects and roles here in more detail in the near future. For now please look at my LinkedIn page.

Leadership & Management

I started as an individual contributor working on various projects and companies. That is until I started full time at Microsoft where I worked on a close knit team. After a few years and different projects I took more of a technical lead role, but still didn't manage anyone.

Trying to remember exactly but when a few senior people left a team when I was still in the Windows Networking team an opportunity was presented to me an I became a Development Lead.

A few years went by and I worked on different projects still as a lead. I really enjoyed that but looking back I didn't have the right people management experienced where I could truly be a mentor to them even after a decade in the industry.

That finished my first chapter. I ended up leaving Microsoft and moved to Europe, for family reasons. I jumped into the unknown and co-founded, and co-funded, a small consulting company. I had plenty to technical experience and confidence to be relatively successful.

However, it was a different set of skills I quickly had to learn and use. There were taks that needed to be done, but I had to focus on some of the more important ones like presenting to potential clients and looking for projects. I had one significant projects that kept us going for some time. But it was my responsibility to find new projects and keep everyone delivering.

At that time it wasn't easy and I had to adapt. It became clear that I can't scale and must delegate. That meant hiring a team. In the end or at the peak of it all we had 3 full time sales people and 4 software programmers. It's very different when your own money is on the line. The techanical part was no problem. One big learning moment I had was that things can be much more flexible in a tiny company that even a small team at a Fortune 500.

I was too process oriented and rigorous and even shortly after I realized things could have been done without so much email and process. Eventually we weren't able to find enough large projects to have a fulltime team. There was huge amount of time on running a small business with employees.

It really kept me away from the techincal aspects that I truly enjoyed. Eventually I worked with just 2 programmers and found more long-term and on-site projects.

And for year and a half I was the Development Manager for a small start up and managed 14 people ranging from designers, testers and developers. Here is where I got into SCRUM and Agile Development. It was great learning and practical experience.

Eventually I moved to a new startup as a technical lead. I screened candidates and did all the technical hiring and technical strategy for another startup. I also worked on onboarding and technical customer presentations.

Then we decided to move back to the US. I landed as a Lead Software Engineering working on Lync for iOS again at Microsoft. New technology, new team and more Scrum. At that point is when Microsoft decided to eliminate all Test roles. I had to lead and support that transition and incorporate process changes, which weren't too popular at that time.

I stayed a manager for a number of years, but changing projects although kept some of my team and hired new ones. After re-starting with Microsoft I was in a lead/people manger role for six years. At that point Skype was in a bit of turmoils and most of my days were spent in meetings and sending emails.

That's when I decided to switch teams and even roles and became an individual contributer in an Architect role overseeing the standards and providing guideance.

Leading without direct reports requires a different approach, and effective communication is essential. It's about influencing others without relying on formal authority, and I've been constantly improving this skill. With my strong technical background, I have the ability to persuade and impact others through my ideas and expertise. Rather than relying on authority or rewards, I focus on interpersonal skills to lead and influence others.

I've had the opportunity to demonstrate these skills both before and during my time as a manager. However, I've noticed differences in the dynamics when dealing with direct reports compared to those who report to my peers. Regardless, my confidence and reliance on my technical experience remain key factors in my ability to lead and influence others. Ultimately, it's my technical knowledge and hands-on experience that form the foundation of my leadership approach.

I find that I thrive when working independently and can immerse myself in a task to ensure it's done correctly. However, to achieve more significant goals, collaboration with others is essential. When there is mutual trust and shared objectives, working together can result in even greater accomplishments. I particularly enjoy leading teams, and my motto has always been "All for one and one for all." I prioritize the needs of the team over individual goals. While many people claim to hold this value, I have seen many instances where it hasn't been put into practice. As a manager, I relish the opportunity to work on larger-scale projects and use my experience and expertise to guide the team towards success. Bringing together all the necessary pieces to deliver complex solutions is particularly satisfying to me.

Notable Projects

As always, my latest project and career information are posted on LinkedIn. Below I'll provide some more insights, challenges and learnings on some of my memorable projects.

Trading Accounts Portfolio Management

Technologies used: ASP.NET MVC, C#, Azure SQL

Deployed: Azure App Service

Designed and implemented for a client over 10 years ago. The first version was successful I implemented a similar but different portfolio managements application two years after the first one. Both are still running and serving clients, without issues. No downtimes, errors. Every transaction and request is logged. To me these are great examples how applications should be architected and developed. Based on today's technology it doesn't use the latest UI frameworks, but it doesn't need to be upgraded, because it does exactly what it needs to. 2-Step Verification is required and integrated with SMS through Twilio.

Telephony Integration in Dynamics 365

Technologies used: ASP.NET WebAPI, C#, Azure SQL, Azure Blob Storage, Azure Table Storage, Dynamics 365 API, CIF SDK, React.JS

Deployed: Azure App Service

Designed and implemented ability to make phone calls, record phone converstations and integrate with Dynamics entities to automate record creation for outgoing and incoming phone calls. Supported Skype for Business (obsolete), Teams/ACS, Gensys, Avaya Telephony service providers. I created and design initial UX based on my telephony and calling knowledge.