Category: Soft Skills

  • A Lesson in Content Creation and Visibility

    As I approach the five year anniversary of this blog, I got to wondering just what my post frequency is and how it might affect my overall readership. In my examination of that data, I learned an important lesson about content and traffic: if you build it, they will come.

    My Posting Habits

    Posts per Month, 2018-2022

    As you can tell from the above graph, for the first, oh, three years, my posting was sporadic at best. In the first 36 months of existence, I posted a total of 16 times, averaging about 0.4 posts per month. Even worse, 9 of those posts occurred in 3 months. That means, a little over half of my posts were generated in what amounts to 8% of the total time period.

    With some inspiration from my former CTO, Raghu Chakravarthi, I committed to both steady and increase my writing in June of 2021. And the numbers show that initiative: in the 19 months from June 2021 to December of 2022, I posted 54 times, increasing my average to 2.8 posts per month. In addition to more posts, I started creating LinkedIn posts to go along with my blog posts, in the hopes of generating some traffic to the site.

    People!!

    I have the free version of Google Site Analytics hooked up to get an idea of traffic month of month. While I do not get a lot of history, I can say that, in recent months, my site traffic continues to grow, even if it’s only by 40-50 unique users per month.

    Most of this traffic, though, has been generated not through my LinkedIn posts, but through Google searches. My top channels in the last two months are, far and away, organic search:

    Top Channels for mattgerega.com

    This tells me that most people find my site through a Google search, not my LinkedIn posts.

    Increasing Visibility

    My experience with my home blog has inspired a change in approach to the visibility of my architects at work. I manage a handful of architects, and there have been several asks by the team to create conduits for informing people about our current research and design work. In the past, we have tossed around ideas such as a blog post or a newsletter to get people interested. However, we never focused on the content.

    If my home blogging has taught me nothing else, it is that, sometimes, content creation is a matter of quantity, not quality. Not everything I do is a Pulitzer prize-winning piece of journalism… Ok, NOTHING I write is of that level, but you get the idea: Sometimes it is simply about putting the content out there and then identifying what people interests people. When I switched my blogging over to focus less on perfection and more on information sharing, I was able to increase the amount of content I create. This, subsequently, allowed me to reach different people.

    So, if it worked at home, why not try it at work? My team is in the middle of creating content based on their work. It does not have to be perfect, but we all have a goal to post a blog post in our Confluence instance at least once in a two week period. Hopefully, through this content generation, and some promotion by yours truly, we can start to increase the visibility of the work our team does to those outside of the team.

  • A blast from the past and a new path forward

    Over the last few years, the pandemic has thrown my eldest son’s college search for a bit of a loop. It’s difficult to talk about visiting college campuses when colleges are just trying to figure out how to keep there current students in the classroom. With that in mind, much of his search has been virtual.

    As campuses open up and graduation looms, though, we have had the opportunity to set up some visits with his top choice schools. One of them, to my great pride, is my alma mater, Allegheny College. So I spent my President’s Day, an unseasonably warm and sunny February day, walking the paths and hallways of Allegheny.

    It was a weird experience.

    There is no way that I can say that my experience at Allegheny defined who I am today. I am a product of 40+ years experience across a variety of schools, companies, organizations, and relationships, and to categorize the four years of my college experience as the defining years of my life would be unfair to those other experiences. But, my four years at Allegheny were a unique chapter of in my life, one that encouraged a level of self-awareness and helped me learn to interact with the world around me.

    For me, the college experience was less about the education and more about the life experience. That’s not to say I did not learn anything at Allegheny, far from it. But the situations and experiences that I was in forced me to learn more than just what was in my textbooks.

    What kinds of experiences? Carrying a job in residence life for two years as an advisor and director taught me a lot about team work, leadership, and dealing with people on a day to day basis. Fraternity life and Panhellenic/Interfraternity Council taught me a good deal about small group politics and the power of persuasion. Campus life, in general, gave me the opportunity to learn to be an adult in a much safer environment than the real world tends to offer an 18 year old high school graduate.

    College is not for everyone. Considering that news stories like this one pop up in my LinkedIn feed pretty regular is a testament to the change in perspective on a four year degree. What caught my eye from that article, however, is that there is some research to suggest that some schools are, in fact, better than others. It begs the question, is college right for my son, a prospective computer science student?

    Being back on campus with a prospective Computer Science student allowed me to get a look at what Allegheny’s CS department is doing to prepare its students for the outside world. I was impressed. While the requisite knowledge of a CS degree remains, they have augmented the curriculum to include more group work, assisted (paired) programming, and branched into new areas such as data analytics and software innovation. Additionally, they encourage responsible computer science practices with some assistance through the Mozilla Foundation’s Responsible Computer Science Challenge. This focus will certainly give students an advantage over more theory-heavy programs.

    As I got an overview of the CS curriculum, it occurred to me that I can, and should, be doing more to help guide the future of our industry. At work, I can do that through mentoring and knowledge sharing, but, as an alumnus, I can provide similar mentoring and knowledge sharing, as well as some much needed networking to young students. Why? I never want to be the smartest one in the room.

    I was never the smartest guy in the room. From the first person I hired, I was never the smartest guy in the room. And that’s a big deal. And if you’re going to be a leader – if you’re a leader and you’re the smartest guy in the world – in the room, you’ve got real problems.

    Jack Welch
  • Teaching in a Professional Setting

    Those who can, do; those who can’t, teach.”

    George Bernard Shaw

    As you can imagine, in a family heavy in educators, this phrase lands anywhere from irksome to derogatory. As I have worked to define my own expectations in my new role, it occurs to me that Shaw got this wrong, and we have to go back a few thousand years to correct it.

    Do we hate teaching?

    As you may have noticed via my LinkedIn, I have stepped into a new role as Chief Architect. The role has been vacant here for some time, which means I have some flexibility to refine the position and how it will assist the broader engineering staff moving forward.

    My current team is comprised strictly of highly experienced software architects who have, combined, spent at least fifty years working on software. As a leader, how can I best utilize this group to move our company forward? As I pondered this question, the Shaw quote stuck in my head: why such a disdain for teaching, and does that attitude prevent us from becoming better?

    Teaching makes us better

    Our current group of software architects spends a lot of time understanding the business problems and technical limitations of our current platforms and then working out solutions that allow us to deliver customer value quickly. In this cycle, however, we leave ourselves little time to fully understand some of the work that we are doing in order to educate others.

    I can say, with no known exceptions, that I my level of understanding of a topic is directly related to how many times I have had to educate someone on said topic. If I have never had to teach someone how my algorithm works, chances are I am not fully aware of what it is doing. I simply got it to work.

    For topics that I have presented to others, written blog posts about, or even just had to document in an outside medium, my level of understanding increases significantly.

    Teaching is a skill

    Strontium sums up The ‘Those who Can’t Do, Teach’ Fallacy very well. The ability to teach someone else a particular task or skill requires so more than simple knowledge of the task. Teachers must have an understanding of the task at hand. They must be able to answer challenging questions from students with more than “that’s just how it is.” And, perhaps most importantly, a teacher must learn to educate without indoctrinating.

    As technical leaders in software engineering, architects must be not only be able to know and put into practice patterns and practices that make the software better, but they must be able to educate others on the use of those patterns and practices. Additionally, they must have the understanding and ability to answer challenging questions.

    What is our return?

    In a professional environment, we often look at teaching as a sunk cost. When high level engineers and architects spend the additional time to understand and teach complex topics, they are not producing code that leads to better sales numbers and a healthier bottom line. At least not directly.

    Meanwhile, there is always mandatory training on HR compliance, security, and privacy. Why? If there is a breach in one of those areas, the company could be liable for millions in damages.

    How much would it cost the company if a well-designed system suffered from poor implementation due to lack of education on the design?

    Teach it!

    Part of the reason I wanted to restart my blog was to give me an outlet to document and explain some of the work that I have been doing. This blog gives me an outlet to have to explain what I have done, not just “make it work.”

    As you progress through your professional journey, in software or not, I encourage you to find a way to teach what you know. In the end, you will learn much more than you might think, and you will be better for it.

    As I mentioned above, I prefer Aristotle’s views on this matter over Shaw’s:

    Those who know do, those that understand teach.”

    Aristotle
  • Inducing Panic in a Software Architect

    There are many, many ways to induce panic in people, and, by no means will I be cluing you in to all the different ways you can succeed in sending me into a tail spin. However, if there is one thing that anyone can do that immediately has me at a loss for words and looking for the exit, it is to ask this one question: “What do you do for a living?”

    It seems a fairly straight-forward question, and one that should have a relatively straight forward answer. If I said “I am a pilot,” then it can be assumed that I fly airplanes in one form or another. It might lead to a conversation about the different types of planes I fly, whether it’s cargo or people, etc. However, answering “I am a software architect” usually leads to one of two responses:

    1. “Oh..”, followed by a blank stare from the asker and an immediate topic change.
    2. “What’s that?”, followed by a blank stare from me as I try to encapsulate my various functions in a way that does not involve twelve Powerpoint slides and a scheduled break.

    In social situations, or, at the very least, the social situations in which I am involved, being asked what I do is usually an immediate buzz kill. While I am sure people are interested in what I do, there is no generic answer. And the specific answers are typically so dull and boring that people lose interest quickly.

    Every so often, though, I run across someone in the field, and the conversation turns more technical. Questions around favorite technology stacks, innovate work in CI/CD pipelines, or some sexy new machine learning algorithms are discussed. But for most, describing the types of IT Architects out there is confusing because, well, even we have trouble with it.

    IT Architect Types

    Redhat has a great post on the different types of IT architects. They outline different endpoints of the software spectrum and how different roles can be assigned based on these endpoints. From those endpoints they illustrate the different roles an architect can play, color-coordinated to the different orientations along the software spectrum.

    However, only the largest of companies can afford to confine their architects to a single circle in this diagram, and many of us where one or more “role hats” as we progress through our daily work.

    My architecture work to this point has been primarily developer-oriented. While I have experimented in some of operations-oriented areas, my knowledge and understanding lies primarily in the application realm. Prior to my transfer to an architecture role, I was an engineering manager. This previous role exposed me to much more of the business side of things, and my typical frustrations today are more about what we as architects can and should be doing to support the business side of things.

    So what do I do?

    In all honesty, I used to just say “software developer” or “software engineer.” Those titles are usually more generally understood, and I can be very generic about it. But as I work to progress in my own career, the need for me to be able to articulate my current position (and desired future positions) becomes critical.

    Today, I try to phrase my answers around being a leader in delivering software that helps customers do their job better. It is usually not as technical, and therefore not as boring, but does drive home the responsibilities of my position as a leader.

    How that answer translates to a cookout, well, that always remains to be seen.

  • Work / Life Balance: A long-time remote worker’s perspective

    Summertime brings with it some time off for travel and relaxation, coupled with meeting my standard role expectations. As I struggle with balancing my desire to perform the work I “normally” do with the desire to jump in the pool when it’s nice out, it occurs to me that “work / life balance” has received a lot of attention in the past year or so.

    Work / Life Balance?

    A quick Google search of “work life balance working from home” yields approximately 1.5 million results. If you’re looking to me to consolidate these articles into a David Lettermen-esque Top Ten List, well, then I would simply be adding to the stack. Most, if not all of these articles, suggest various rules to help you compartmentalize your world into “work” and “life,” and to help achieve balance. However, I’ll let you in on a little secret:

    It’s all work!

    I have held a number roles in the last twenty years. Professionally, I have ascended from a support technician to application architect, with a lengthy stent in engineering management somewhere in between. Personally, I am a husband, father, friend, neighbor, volunteer, etc. And as I look at this list, I came to a very startling realization: all of my roles require physical or mental effort to complete. In other words, by the definition of the word, it’s all work!

    Role Balancing

    Since everything is work, what does it mean to “balance” your life? In my case, when I choose my roles, both personal and professional, I make a conscious effort to ensure two things:

    1. I will (mostly) enjoy the new role. No role is perfect.
    2. The new role can be integrated with my current roles.

    I will admit that these rules have caused me to turn down more financially lucrative roles in favor of maintaining a balance between my life roles. However, these rules have also allowed me to enjoy success in all of the roles I choose AND simply enjoy the roles themselves.

    Just manage yourself

    In my move from engineer to manager, my manager at the time gave me a great piece of advise: Get your management tasks done first, otherwise your team will falter because they are waiting on you, and the team will fail.

    My personal management tasks boil down to one overall goal: stay healthy, physically and mentally. The tasks to accomplish this goal can vary greatly depending on who you are. After this, do the work! Organize yourself and your roles the best way you know how, execute your tasks, evaluate the results, lather, rinse, repeat…

    I realize that last paragraph boils decades of time and task management methodologies into a single sentence, but the point is, however you get your work done, do it. More importantly, pick roles that you enjoy, minimize the roles you do not enjoy, and you will be worried less about your work-life balance.

    Find a job you enjoy doing, and you will never have to work a day in your life.

    Mark Twain

  • Getting organized with myAgile

    Organization, prioritization, and execution are the keys to success.  Many of us work in positions where projects can run over extended periods, interruptions and distractions are frequent, and we are asked to juggle a variety of responsibilities and tasks.  However, no matter where you work, if you can get things done, you will be viewed as successful.

    There are more books about organization and task management than I care to list here, and I am pretty sure that if you have spent any time in a company which puts some effort into employee training, you have been asked to read one or more of these books in order to improve your efficiency and throughput.  Each author’s method has its own strengths and weaknesses, but reading any of them and implementing at least one aspect of the method can often put you in a better place than you are now.

    The process you use to organize yourself, however, works best if it is personalized.  Yes, it can be based on other people’s ideas, but the most organized people I know have taken parts of other people’s processes and forged them into a unique process that works with their style and situation.  Additionally, their processes evolve over time.  Nothing is stagnant, and new methodologies or technologies will certainly appear that will add a new dimension to your process.

    Recently, I began a bit of a personal journey to get organized again.  The stress of work and family have taken their toll on my desire to organize, and things just were not getting done.  With some prodding from a former colleague, I melded some of the organizational techniques I have picked up over the years with the concepts of Agile software development to come up with an Agile process for organizing my life.  I have dubbed it myAgile.

    Like all good Agile processes, the idea is not just to get things done, but to also identify ways to get better.  So if you are looking for a new way to get organized, give it a shot:  the worst that can happen is you put to paper all the things that you want to do in the next few months.