Featured

You Have a Voice

You have a voice. One that should be heard. This is for you. This is geared toward the tech world, especially programming where the gatekeepers, trolls, and snarks rule the kingdom of online tech writing and LinkedIn posts. I have news for you, these are not the leaders of this domain. You are.

I run into so many brilliant people who can write but don’t. Maybe they have tried or witnessed the flaming trails of an idea shot down or imploded online by “experts” who write challenging comments that belittle the idea. Gatekeepers who feel threatened that their “brand” of tech is somehow diminished a bit by a good idea from a new writer. Then there are the snarks who hide behind a monitor and do what they do best, snark at any idea.

But you have a voice. One that is growing and maturing and needs to be heard. Public discussion is a good thing when done in the voice of encouragement and an eye for a good seed that needs nurturing. Constructive observation is not destructive, but the true elders need to come beside new voices and mentor them. We all need input.

In my world from which I am writing, I know where my strengths are as a writer and voice in the tech community. I am a top-level coder and database developer. I could flash my code and methods but I don’t. Shure when I read other folk’s posts I wonder why they did something a certain way, why they indent or loop in a particular fashion. Why did they do this or that, or even if I know a better way, the point is did I catch the “main thing” from the post? Did I understand the point behind it even if I disagree with a point or method presented? Was there something to take away and maybe apply to my own work so the “collective” code base is improved?

You have a voice. Even if it is not saying or writing anything. But I hope you write. We all know lots of things. We all are opinionated. I sure know I am. The key is that we can collectively build our knowledge together in an “iron sharpens iron” fashion. Sure there may be sparks. There will also be filtering of ideas and methods that may not make it to the finish line, but the process forges better ones that will. And with your voice, you will have a part in that process.

I am a senior developer. I certainly don’t want to trump the future by bashing new ideas with my past. Honestly, the past is history, not something I would want any new developer to have to live through. The new things bring fire to the community and it’s OK if the bringer of the fire stumbles a bit here and there.

You have a voice. Use it responsibly.

Featured

Take the Time Needed

I have been working with several scenarios lately that have been quite primarily challenging in how I should work them as opposed to what work I should execute and ship. I have a mantra that is “the way work is done is as important as the work that gets done. ” Simply put, do it well, do it above the standard, and do each task to the utmost as well as meet the requirements/story, and deliver an excellent result. It is a lot harder to do than it sounds.

This is a world is where work is timed like a microwave warming up a plastic container of leftovers. Maximum energy, minimum time. The result is hot as the sun on the outside, cold on the inside, and the taste and experience of the food gone. But it was fast! Fast fast fast! The results were minimal and less than satisfying. Much like most of the work we do. Fast work, soul crushed.

This is my personal feeling, but I would prefer to do things in the right measure and in the right time window. Good work has its own timetable. I recently read an example that was comparing the work of junior developers against a senior developer with the juniors solving the problem in 200 lines of code and the senior in 20 lines. The senior developer’s work will exist with no changes until a new requirement changes it, and the junior developer’s lines will produce support tickets just as sure as the microwave warmed-up leftovers bring on an upset stomach. The senior developer took time to look over the scenarios, compared the front-to-end process, diagramed and wrote out the proposal, questioned everything, and made a strategic and calculated update. The junior developers read the request and coded what was asked and turned it in.

Good work has its right space. How you do things is just as important as the work that was completed. Often the work that is not seen such as planning, questioning, thinking, and executing makes all the difference. It is not a big design upfront effort, it is trying to solve the problem and not create anything else to have to do or repair later. This can all be agile. You can SCRUM this effort. It works with a CI/CD pipeline.

It is all about the sustainability of your work. Making a complete impact and delivering a superior result is what it is all about. I firmly believe that the rush rush rush, fast fast fast world of expectations from business units and over-achieving managers should be tamed and tempered a bit in order to just do better work. This is what Agile is all about as well. Have the story that starts the work, but the work changes and adapts based on the work and when the code actually starts, it is the lessor of the steps rather than the consumer of the entire time window.

Of course, I am preaching to the choir, but sometimes we need the encouragement to do things the best way and in a way that is sustainable, satisfying, and delivers a great result to be shipped. The work of a software developer is hard, but it should also be satisfying and sustainable. Take the time needed.

Featured

Ugly Code and Real Life

Can we be honest? The longer code lives, the uglier it gets. Seriously.

In real-life code, code that has some longevity to it, and code that has been through revisions, consultants, programmers of all types, and the mantra save all of the “if it works, don’t touch it” method of management, it is going to be ugly. Software that works makes money for the businesses who own it, make it and use it. This is true on all platforms. If it working and does the job, it stays.

Well, this is somewhat true. In the last several years coding and the art of software development have come a long way in most software development technologies. Clean code, standards of all sorts, DevOps practices, and the need to build incremental and growing services that work, can be deployed quickly, and are manageable have brought an increasing need for better methods, code writing, and developmental precision.

There are many ways to build that application. Microsoft .net, PHP/MySQL, JavaScript/nodeJS, Python, and a thousand more ways to Sunday. In my world which does include the above, is also the IBM i development that right now is on fire with awesome coding technologies. The core language of RPG is no longer that archaic and column-based green on black telnet code but is a powerful and modern language for those who choose to embrace it.

But with that said, systems with working software age and so have many of the systems I have worked on over multiple platforms and the ideas of the times. There is some really ugly but working code running on big iron (big systems working doing big things), that has not been developed in the last 8 years or so.

So the point of this is that there is some really ugly code out there. Working, yes. Ugly, absolutely. In real life, ugly code exists. I probably even wrote some of it. Software development is a constantly changing and evolving landscape. It pays (literally) to keep up and stay current.

All of this is most likely obvious to you if you are reading tech and coding blogs like this one. It is hard to get into old code and not want to rewrite it all. You can’t. Ugly code turns into technical debt and that turns into many other things in real life. The end users honestly don’t know or don’t care how much the code behind the scenes is a spaghetti mess.

No matter how ugly the code is a makeover won’t help. Sometimes in old code, the logic is so fixed into the methods used at the time it was written that it can’t go forward. At least not without a big effort to discover, analyze, and understand how it is used at all levels in the wild. Don’t forget to include QA and user testing, and a solid migration and change control operation. It can be done, but count the cost.

In all actuality, ugly code is running the world and everything in it. That is real life. That is why it counts to write excellent clean and forward-moving sustainable code and to deprecate methods and techniques that the coding industry has moved on from. Stay current, do good work, and don’t be afraid to be a leader and be wrong a few times.

Your code of tomorrow might be ugly someday, but honestly, that is the game we play. It is the code that you write today that counts.

Featured

What Was The Last Thing…

It is easy to get into a slump professionally, and even easier to not notice that you are in a slump. Being a professional in any trade at any level is critically important because that is how you put food on your table, cars in the garage, and a roof overhead. Your income gives you options and it is nice to have those options.

Back to the slump. If you are working hard, work gets hard. It gets tiring, it gets repetitive, it comes with more headaches, and it continues to reward you for the effort. The better position you are in the better the rewards. Remember that. But the slump occurs when you are too busy producing than looking to be better at being productive.

Productivity includes many things. First, it is how effective you are at necessary things. And following that in no particular order are things like how you keep up with the day-to-day, the projects, the assignments, requests, and producing what it is that you produce.

But no matter how productive you may be, you can be better. Better at methods of working, better at time management, better at sustainability, better at communicating, better at new ideas, and better at being better.

So what was the last thing you did to improve yourself?

I being honest asked myself that last night and this question quickly sheds light on a possible slumping in my professional life. This is a great question to ask yourself often. When I am doing my best and feeling very physically and mentally well it is because I am working well and improving. Getting a sense of really being good and making a difference is an exceptional key to professional well-being.

So what was the last thing you did to improve yourself?

No methods or tips here, just that question. Now go for it and do some improvements.

Featured

Be the JOAT

Be the JOAT

In American football and in sports in general we call certain players the GOAT. Greatest of all time. I am a follower of football (US), and quarterback Tom Brady is most often called the GOAT. The greatest quarterback of all time. I personally have a twist to that in I feel Peyton Manning is the best quarterback of all time, but Tom Brady is the GOAT.

Let me explain. I am a big fan of Peyton Manning.  Peyton was what I feel the best quarterback of all time. The position. Flawless execution of each down. He was the most complete field commander and could analyze an entire field of players in a few seconds, draw from the playbook, and make a play happen. His technique, impeccable. His competitive drive, nearly unmatchable. His use of teamwork, leadership, knowledge, off-the-field work, and technique, better than anyone ever who has played that position.

But he is not the GOAT.

Tom Brady is the GOAT in most football fans eyes. Love him or hate him he has the stats, the wins, the super bowl rings, the miracles in the last few minutes, the big plays, and the legacy of what a GOAT should have. He is still playing in his forties and is at top form and a worthy opponent to every team he plays. Whatever records Payton Manning does not have, Tom Brady has.

In our trades, work, careers, and teams that get stuff done are you a Peyton Manning or a Tom Brady? The best in the trade or the GOAT because of your list of wins and a long list of accomplishments?  This is an interesting question in my mind. For my teams, I would take one of each although I know it is like combining matter and anti-mater, and soon my team would explode.

These two remarkable individuals are two out of hundreds or thousands of individuals who have played the position of quarterback to some level beyond high school. They excelled and rose to the top and take the positions of the highest honors because of what they do and what they have done.

Like many in the workforce, there are those players who simply do the best work, the most work, the most important things, with quality, completeness, reliability, and precision. These are the players leaders want on their team. The darlings of project managers, and the go-to individuals when it’s crunch time and a win is needed.

But I have another idea.

In my work and in the teams, I work with I find another worthy title to be crowned with.  You can be the best of all time in what you do. You can also be the greatest of all time in what you do, and your track record shows it.  But you can also be the JOAT. Jack of all trades. JOAT.

Be the JOAT.

In the USA there is an expression going like “Jack of all trades, master of none.”  What that means is someone who dabbles a bit on many things across many areas, but never becomes proficient enough to do anything reasonable with any of it. That is not what I am talking about. What I am getting at is a person who has taken the time to learn and perfect the areas of work around them to have strong enablement and knowledge in the trades around them to bring a more complete individual and team player to the table each day.  Jack of all trades and let’s strike the master of none.

My trade is as a software and data developer. I do not wear many badges like .Net, Java, RPG, or PHP on my sleeve like some. I am also deep into data and data development across multiple database platforms. I am not trying to brag or bolster my image, over 20 years that has become what I do. The software and data development world takes on many changes and locking oneself into a niche is the kiss of death in the long run. You go from growing and climbing to hanging on and waiting out retirement quickly.

So be the JOAT.

Early on in my career, I worked at manufacturing companies as a programmer. Because of the size of the companies and the platforms at the time, it often meant wearing many hats based on the needs of the day or the projects in the queue. I started in IT like many in technical support and began working in system administration as I grew in the trade. Over time I found that programming was my shining star to follow and that became my mantra forward.  Because of the many hats to wear I keep a hand on system administration and had to balance both roles often.

Later, I worked for a wonderful manager who brought in a project management methodology to get the teams organized, working together, managing time, and ultimately get stuff done with a plan.  Awesome. I found project management. The idea was to develop out the skills of a project manager into a developer to help enable them to understand the areas of a project, get good plans, develop requirements, and work to that plan. Impressive skills for a programmer with an open mind.

Why the JOAT?

The best way to bring this thought to a conclusive point is to quickly explore the aspect of this:

While learning the work that you do and becoming both excellent and versatile, you pay attention to the areas, skills, and necessity of the work happening around you to build excellence, knowledge, working strength, and abilities to eventually be equal in those areas.

While learning the methods to professionally manage my projects based on the training I was receiving from my manager at the time and then later on working with PMP project managers who were dedicated to their craft I began to see that if I pursue project management as a skill then I will be able to work better with project managers, understand how to work to the plans and conditions better, plan my own work as micro-projects to balance my schedule better, and eventually lead projects with both the mindset of a PM and a resource (developer). 

So, what are the trades around you?

Realizing that this blog entry will fall into those in development, project management, and leadership, this may speak louder to some than others. But the case for the JOAT remains the same.  Learn the trades around you so the first result is that you work the best with the other members in the teams, but also can pitch in and help and make the other folks look like winners every time. That is what Peyton Manning and Tom Brady did and for Tom, still do. You would never see Peyton Manning take a snap or run a wide receiver route, but he knew their position and what was involved, so he worked his role to make the other players excellent. Tom Brady has put more rings on fingers than anyone ever in the NFL. That is teamwork.

Being the JOAT.

One thing about being the JOAT is that resume writing along with creating a LinkedIn profile becomes difficult. What do you do? What is your role? How do you come across? There becomes no way to blurb what you bring to the table.

The JOAT improves everything, fixes things, enables the best in others, adapts to the technologies in place, gets up to speed quickly, and knows what is important and what is not. If you are a hiring manager, hire that JOAT.

The most important JOAT quality, the one that makes them a JOAT is the work they do, how they do it, what gets done, how the teams work, the humility and sincerity of the atmosphere they bring, and at the end of the day the results turned over to the organization or customer. This is how you know them.

Be the JOAT. But don’t tell everyone.  Just do it.

Featured

Why Is Everything Broken

Broke:

Broken: The art of broke in action

Productivity tools: The new meeting

I have been thinking about this for some time. Why is everything broken? Not everything is exactly broken but in tech, not everything is working as it should or as originally designed. The number of hiccups, roadblocks, stopping work to solve a problem with the app or system I am working with, and popups everywhere telling me there is an updated version of something available is on the rise and is becoming an anchor to the forward motion of what technology is trying to do here in our world. The world we live in is very tech-driven and sold as smart. For most of the technology that is available today, it works. As designed, delivered, and sold to us. There is power, convenience, and agility in the massive stack of code and hardware we call a smartphone. It is an amazing time to be alive and see the outstanding work that is being done.

But what about things that for a lack of a better word broke? They work, but the little things do not, or become difficult, stop us from the action we are taking, change a workflow abruptly, add a few more steps to a simple process, look better but work poorly, or just cease to function or disappear entirely. 

Just a little background. I am a senior software developer and work heavily in the manufacturing arena where the stakes are high, competition is on fire, and data is king. The business requests and 24/7 high availability environment demands that things work, can be automated, have no errors, and are delivered on time with support and backup. Precision work teamed with getting the right fit on the first attempt is the goal I shoot for and I have a demand and requirement on the tools that I use to do my job and execute my work to make things work.

But you can be anyone in any situation with any technology to notice the following things. When the pressure is off, and time can be spent, the “broken” things are like a speedbump in a parking lot. You see it, slow down, cross them front tires first, then the back ones, and then move forward. If the situation is different, say like on an expressway at the upper-speed limit, where a speedbump is unwelcomed and could provide a negative set of scenarios and actions to follow.

And Here is Another Message:

It is easy to find some examples as things are obvious once you see them. Messages, messages, messages everywhere. Remember pop-up ads on the internet? They were so much of a problem that the entire browser industry re-tooled to put in pop-up blockers and every anti-virus package had “pop-up blocker” protection. And they are back, but in a kinder and friendlier format, popping up after you have been on the site for just a short while asking if you would like to take a survey, give away your email address, or ask how your experience was. They are like mosquitos on a balmy summer night and just do not quit.

Messages pop up on my computer and phone like a toddler starved for attention. Sure, I can change the settings, but with the next update, my settings get reset somehow and I either get everything or nothing.

What I think is happening are the results of a few things while individually are outstanding achievements in software and systems development combined with the agility skills of super-effective deployment organizations. How can that be bad or a problem? It is not either. But in multi-verse of the end-user screens and experience, the cocktail of technology is starting to slow us down in micro-steps.

Applications used to be easy to know what their purpose was and what they were supposed to do. The best ones even with a hundred options allowed an individual to execute either a single or several well-defined actions that got a user from point A to point B each and every time. Once learned by the user, the interface would only change slightly along with new features that came packed into each update or upgrade. Even with each change, point A was always point A and point B was always there waiting to be reached.

The Development Engine:

That sounds simple, but it is quite complex. In the big ecosystem of applications and using computing devices to do things, we have survived quite well with only a few bumps and flat tires along the way. In software the law of natural selection is true. The winners win and the losers lose.

At no other time in application development has there been such advancement in how applications are built. This includes many practices, methods, environments, systems, platforms, frameworks, and a hundred other things. Aside from the technical stuff are project managers, program managers, managers (I use that term loosely), programmers, salespeople, marketing folks, and decision-makers.

Writing this blog post has left me with more questions than answers and it is difficult to wrap this up like a perfectly crafted article or post. At some point I need to stop writing because you will stop reading, so here are a few things to discuss, converse, and toss around. If you are not in the software business bear with me for a moment because it is at this level the break happens.

Think along with me here:

Can an application become too big to work well?

Does adding more features to address the competition actually bring more value?

In some cases, does updating something break more things and remove more value than what was just added?

Does faster and seamless delivery of code cause more issues?

Conclusion:

As a professional developer and one that is very serious about the craft, I have to wonder if all the things we have done to improve the work, the code, the data, and how it gets from point A to point B and then shipped is actually cracking the foundations of more things than we realize.  Right now, I am just thinking aloud here as I write this blog post. I will keep thinking and digging in to find out why everything is broken.  Maybe I can fix a few things along the way.

Featured

Why Free?

One of the things that I have found over the many years of coding and building applications is the use of free stuff. Lots of tools are free. Some are not. Do you get what you pay for? Sometimes. It just takes some time and experimenting to find the things that help you build your stuff.

One of the things I do besides programming is building and fixing things. I like wood and mechanical things. I am fortunate to have the space for two workshops right now. One in my basement for smaller things, home projects, and making things out of wood. The other workshop is a never ending effort to work in my barn on old tractors, maintaining things, building outdoor stuff, gardening, and some mad scientist stuff that keeps me going.

Coding, programming, developing, or what ever term you use is a lot like this. Years ago I found a paperback called “The Java Garage”. This was an excellent book that concentrated on the nuts and bolts of Java programming and essentially laid out the key things I feel you need for much of the coding in any language today. His take was to take your project into the “garage” and work on it.

Years ago I found a paperback called “The Java Garage”. This was an excellent book that concentrated on the nuts and bolts of Java programming and essentially laid out the key things I feel you need for much of the coding in any language today.

Well to work on things you need tools. In each of my workshops I have tools that I have collected over the last 30+ years in all sorts of conditions. Some I have bought, some came from auctions, some came for free, and some I have made myself. In programming, your tools will come the same way. Some you buy, some you get somehow or someplace at random costs, some are free, and some you will build.

But why free?

While I use a good amount of software that is purchased by me or for me, I want to really get there and help others get into this great career world using free tools that work, make things, and will serve the user well. This stuff is out there and it works.

Why free?

Software development tools build things. Without the building of things software companies can’t eventually sell the things do cost money. Back in the wet behind the ears days at Microsoft, they built tools to build software for the simple reason of that costly operating system was nothing without applications that could run on it. More applications gave Microsoft the clout to push to become the leader and provider of DOS first and then Windows on just about every type of PC hardware for a really long time.

Starting with a good set of tools and knowledge of how these tools work, when to use them, how to handle problems with the arise, and finally how to test your stuff is part of the adventure. And what an adventure you will have.

So if you want to build stuff, you need an inside path to getting it done as well as help in knowing what to do to get started. So that is why free stuff matters. Starting with a good set of tools and knowledge of how these tools work, when to use them, how to handle problems with the arise, and finally how to test your stuff is part of the adventure. And what an adventure you will have.

So over time work on building your tool box, your garage, your shop, and your world of making things with code. You got this.

-Mike

Why You?

I nave been talking a good bit to folks (yes actual folks) about their careers or challenges they are facing due to the COVID-19 pandemic or an industry that was once their passion, but has changed due to circumstances beyond all control. Many of the folks that I talked to were adults in their late 20’s or up to their mid 40’s. I really wanted to hear their thoughts, ideas, and what they see from their perspective in life. Also, I wanted to challenge them and question them about a career change to Information Technology.

I really wanted to hear their thoughts, ideas, and what they see from their perspective in life.

I will be honest, knowing that this would evoke a cold blank stare in return proved my theory was not false. IMHO Information Technology is the largest and most diverse career path that holds no limits, boundaries, or glass ceilings. If you can do it right, a career in Information Technology can be the same as writing your own ticket in life and career satisfaction. True, some leave technology, but it is often for reasons that are personal to them and not because of the field.

One of the things that I find is that most folks have no idea what is in the big wide open field of information technology (IT). Most of the time what people think is they work in a help desk call center, or write code, or fix computers. Yes these jobs are part of the picture, but the field is so vast and open that I really feel there is something for everyone. Like you.

But why you?

Honestly I am a big prejudiced here. In my late thirties I was able to shift from working in a manufacturing role at a company to a start in the IT department as the help desk guy who did some programming when he could. Twenty plus years later this change plus a ton of hard work has paid off greatly. Life is too short to work all day or night in a job that does not pay your bills, gives you no satisfaction, or does not help you grow as a person and contributor to the better good.

Most of the time what people think is they work in a help desk call center, or write code, or fix computers. Yes these jobs are part of the picture, but the field is so vast and open that I really feel there is something for everyone

Think about yourself and your work. If you are happy and satisfied, good for you. But if you know you need something different, or need to resurrect your career asperations because of all the fun that was 2020, let’s talk.

Why You?

Because you can and I believe in you. Follow me here and I will keep on writing about why you can succeed in IT and what I think are fabulous opportunities and how you can work your way into them.

-Mike

IPO = Initial Posting Opinion

This is my IPO of my web home.  Long time coming, and really its about time since I have have my web footprint all over the place.

I am Mike Moegling and if you don’t know me I am a software developer and design visionary living in a project manager/business analysts life.  When I was young I wanted to be a rock star and play the drums and guitar before millions of screaming fans.  To be honest that did not work out although I am a killer player.  Today I am trying to be a software and systems rock start playing to a crowd of millions and also to the few hundred that I write software and design systems for.

Opinionated, you bet!  But in this neck of the internet woods, I would say you are too.  Sit back and lets figure this thing out while I ramble on.

– Mike