DEV Community

Patrick Powell
Patrick Powell

Posted on

A Developer Story: Patrick Powell


I've tried to write a post similar to this about 1,387,923,465 times, but it's about time I actually hit send

I've Been "Coding" Since August 2017

I'm using quotes here because I didn't really consider writing VBA to be coding until fairly recently.

My journey started when I accepted a position as a Purchasing Analyst at a FoodService Wholesaler. I had been in the Financial Services industry as a CSR in the call center of a Mutual Fund Company before moving on to a Mutual Fund Accountant at a separate bank. While working at this bank we used Excel Macros extensively. I wasn't really concerned about how they worked as long as they did work. My focus was on improving my core Excel skills, and I did that very well.

Beginning My Journey

The reason I was hired by this FoodService company was to improve their reporting processes and to document my analysis. Basically, I was being paid to live in Excel and I chose to use OneNote for documentation. I spent the first few weeks getting acclimated to the new industry, observing processes and manually creating each daily and weekly report.

It didn't take long for me to get sick of manually creating these reports, so I bought a book on Amazon and started learning VBA by as recommended - fire up the macro recorder, do some things, check the resulting code.

Down the Rabbit-hole

The more I used this technique, the more I found myself on Excel Forums trying to find answers for problems I'd run into. Over time I built quite the library of helpful Excel resources, forums and tutorials, which I kept in my OneNote Notebook for easy access (seriously - the search capabilities in OneNote are fantastic).

As I got deeper into VBA and Excel, I learned about Power Queries and added that to my arsenal. This transitioned into finding Power BI and creating Dashboards to measure anything that management deemed interesting. I had become the division's Excel-Expert and touched basically every spreadsheet that flowed in or out of the division.

Getting Noticed

Within a few weeks I had automated several daily reports, saving coworkers between 30 - 45 minutes each day. Most notably, I wrote a macro with several modules that manipulated a .csv file and created several pivot tables to measure our performance. My branch hadn't been utilizing this file with any depth until it was assigned to me.

It didn't take long before we were consistently one of the highest performing divisions in the company. This led to weekly discussions with employees across our region and to me sharing my macro and documentation... which is why I started documenting things in the first place. Since this was a weekly report used by each division, this macro saved hours of time and created consistency between divisions.

The company was in the process of transitioning to a new system for the first time in about 20 years (or so I'd been told). A weekly task force was created to share best practices for the new system and I was at the forefront of the conversation. Eventually I was asked to travel to another division to train them on my processes and introduce them to Power BI. Within four months my "coding" transformed the division's reporting process and we ended the year in the black for the first time in 5+ years.

A Series of Unfortunate Events

This transformation did not come without a price. Since I had to learn all these technologies from scratch I was spending a good majority of my waking hours in Excel or researching Excel. On two occasions these late nights resulted in me sleeping through my alarm and being late to work. The company had a 3-strike policy, and I happened to strike out the day after I had traveled to train the other divisions.

That Friday I was called into my manager's office, and when I saw the HR Manager in there with him, I knew how this meeting was going to end.

The Aftermath

Ironically, I discovered GitHub 3 days after being let go and found this repo which would have helped tremendously as I developed the aforementioned reports. I started looking though the website and decided that I would make a website to put my skills on display. I cloned a Jekyll-starter repo and got to work replacing the default information with my own.

Git-ting Frustrated

After struggling with the nuances of Jekyll I was told to check out Gatsbyjs from another user with a background in VBA. Overall, I found the documentation to be much better than Jekyll's and I liked the idea of learning both ReactJS and GraphQL while being able to write posts in Markdown.

That isn't to say everything with Gatsby has gone as planned. At the moment, I am in the process of restructuring my site's CSS after realizing that writing it all inline is generally frowned upon. Luckily, Netlify allows me to lock a deployment to a build that looks decent.

Moving Forward

I have a few projects that I started only to find out that what I have imagined is far beyond my skill-level. I did, however, deploy the first version of a financial website yesterday that is basically a recreation of or I may be reinventing the wheel as far as finance websites go, but the feeling of seeing my page update with real-time data for the first time was incredible.

So What's the Point?

As I said in the first sentence, this is something that I've tried writing about since being let go. My confidence had been shattered which has made it difficult for me to post anything on any social media. I guess this post is more about regaining my confidence and sharing my story than giving advice or posting a tutorial, but as far as I'm concerned it's a step in the right direction.

If you made it this far, thank you for reading and keep an eye out for those advice / tutorial posts in the near future 😉

Top comments (5)

peter profile image
Peter Kim Frank

Thanks for sharing your story, and welcome!

The 3-strike policy sounds ridiculously arbitrary in the context of your overall contributions, but I'm sure there will be long-term upside as you continue building your skills and projects. Look forward to seeing those advice/tutorial posts in the future.

prp1277 profile image
Patrick Powell

Thanks, I appreciate the kind words. I actually have quite a few Excel tutorials written / on YouTube already, I just haven't posted them yet. I wasn't sure how many people on here would benefit from Excel instead of code tutorials.

I agree about the 3 strike policy, working from home was also strictly prohibited even though they made sure I was given a laptop instead of a desktop for mobility. Oh well.

What it came down to is that my report was exposing / assigning blame for the previous week's invoice errors (Out of Stocks, Wrong Product Delivered etc.).

So if Janice forgot to place an order for bananas and 120 customers ordered bananas that week & didn't get them she would get hit with 120 errors, which doesn't reflect well on her.

eyecrack profile image
habeeb adewale hassan

Awesome post

Pretty learnt something new from your rigorous learning scheme, which i cannot really tell exactly what it is, but i noticed the awakening of my dopamine whilst reading your post.

All the best in your future endeavors.

niorad profile image
Antonio Radovcic

Great Post! Sounds like you'd be better off in a smaller/non-huge company with somewhat looser attendance-policies.
My wife works in accounting and when I showed her a bit of JS and she did the Swift-Playgrounds she was like "thats really similar to what I do in Excel all day"! And it is! She'd be a much better coder than me if she would start practising (she totally beat my ass in the "human resource machine")
Anywayses good luck in future and looking forward to future posts!

updatesforme profile image

Thank you for sharing your insights and experience with us, Patrick.

Your story is inspiring.