<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:#0b5394"><div>Just getting back to having time to respond.</div><div> </div><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(34,34,34);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">Given the current environment
can a 12 year old or a small business<br></span><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(34,34,34)"><span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">owner take PHP and create a business web
app?  It was possible 15 years<br></span></span><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(34,34,34)"><span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">ago but not today.</span></span></blockquote>

<p class="MsoNormal" style="margin:0in;line-height:normal;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(34,34,34);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"> </span></p>

<p class="MsoNormal" style="margin:0in;line-height:normal;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">The stack
has gotten deeper and more extensive.  But
that is why the industry has moved to microservices. Most PHP frameworks implement
a MVC architecture.  Even though they are
OOP using inheritance (out of fashion these days) They were easy to use to
build a website, connect it to a MySQL database and most of the internal
plumbing was abstracted away. While this is maybe a little above the 12-year
old’s conform level it is not unlearnable in short enough time. </span></p>

<p class="MsoNormal" style="margin:0in;line-height:normal;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"> </span></p>

<p class="MsoNormal" style="margin:0in;line-height:normal;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">Microservices
are nothing more than a way to break apart each piece of a bigger framework that
is tightly coupled (dependent on each other), create an agreed to interface
between the services freeing you up to write each piece however you need to and
in whatever language works for the needed scale of that piece.  </span></p>

<p class="MsoNormal" style="margin:0in;line-height:normal;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"> </span></p>

<p class="MsoNormal" style="margin:0in;line-height:normal;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">Again,
not unlearnable.  Many ivory tower approaches
with OOP have made things difficult. And some engineers excel at taking a technical
idea and making it still more complex. I work for a company that is still in the
`withdrawals` of Microsoft dependency.  Every
week someone tries to lecture me on the virtues of PowerShell over Bash to which
I reaffirm my moto of keep it simple by saying – if I need more than Bash I’ll
use a general purpose language like Python or Go rather than a Frankenstein Shell
program<br><br></span></p><p class="MsoNormal" style="margin:0in;line-height:normal;font-size:11pt;font-family:Calibri,sans-serif"></p><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(34,34,34);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">And the problem is the top
tier programmers and engineers are winning<br></span><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(34,34,34)"><span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">out making entry much more difficult.</span></span></blockquote><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(80,0,80);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">
<br>
</span><p></p><p class="MsoNormal" style="margin:0in;line-height:normal;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">Capabilities
in applications always move down the stack. As programming features are added
and popularized, they will be re-implemented in lower levels in the system,
abstracted away with an interface for easier implementation by higher systems/apps. To use a simplistic example, </span><span style="color:rgb(68,114,196);font-family:Arial,sans-serif;font-size:12pt">JavaScript
and typescript components in React, Angular, Vue will be moved into built-in web
components written in C++ and compiled as part of browsers base code.</span><span style="color:rgb(68,114,196);font-family:Arial,sans-serif;font-size:12pt">  </span><span style="color:rgb(68,114,196);font-family:Arial,sans-serif;font-size:12pt">Model and controller components are implemented
as middleware with an endpoint so that the view components can consume them.</span></p><p class="MsoNormal" style="margin:0in;line-height:normal;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"> </span></p><p class="MsoNormal" style="margin:0in;line-height:normal;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">







<span style="font-size:12pt;line-height:107%;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">Again, this is driven by enterprise corporations that need a new way to
scale. They are the biggest contributors to open source and pay engineers to
contribute.  This is good and bad.  Good because we all get the benefits of the
features added, bad because they can set the level of engineering standards and
the direction of the overall project. Less experienced engineers (there are a
lot) mostly only implement what others have written.  And when there is a need to extend the codebase
for a project it can be more difficult to do so.</span><br><br></span></p><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(34,34,34);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">Sounds very enterprise.  What percentage of the web is
this?  Less than<br></span><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(34,34,34)"><span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">1%?</span></span></blockquote><div> </div><p class="MsoNormal" style="margin:0in;line-height:normal;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">

<span style="font-size:12pt;line-height:107%;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">While the percentage is small these other stacks have become very popular.
Single page applications (SPA) are probably the go to stack if your client wants
something other than a WordPress or Drupal CMS-based app.  Think about it, every web stack must include JavaScript/Typescript.  If you have to learn a language and a framework,
why not choose one that is ALL in the same language base (MEAN/MERN) rather than
(LAMP) which is more languages. Linux aside for LAMP you need to know XML based
DSL structure of Apache, SQL for the DB, PHP as well as JavaScript.  Whereas in a MEAN or MERN stack MongoDB no-SQL
is declarative JSON, Nginx is declarative JSON, Express, Node, Angular and
React are all Typescript/JavaScript. 
When an enterprise needs a web application it will most likely be closer to
these stacks consuming microservices.</span><span style="font-size:12pt;line-height:107%;color:rgb(80,0,80);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><br>
<br></span></span></p><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(34,34,34);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">To who?  Enterprise or the DIY'ers?</span></blockquote><div> </div><p class="MsoNormal" style="margin:0in 0in 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">I would say both. Albeit more on
the enterprise side. But if a custom site is needed and you can leverage the
cloud you can spin up a hosted MongoDB database that you will never have to
service, write a DB schema in JSON and populate the DB with data in 15
minutes.  It would probably take a
PHP/MySQL dev a couple of hours first to figure out how MongoDB works then
start building CRUD functions to consume/ingest data from/to it. </span></p><p class="MsoNormal" style="margin:0in 0in 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">And with any PHP/MVC experience again
that same developer probably within in a couple of weeks could be comfortable
with the basics of Vue or React (maybe not Angular) </span></p><p class="MsoNormal" style="margin:0in;line-height:normal;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-size:12pt;line-height:107%;color:rgb(80,0,80);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">





<span style="font-size:12pt;line-height:107%;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">The other thing is that knowledge in these stacks pays more. <br></span><br></span></span></p><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(34,34,34);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">I ran into a guy at a car show who was showing his 1960's
Vette.  He<br></span><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(34,34,34)"><span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">told me he was a Cobol programmer.  From
our conversation I think he did<br></span></span><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(34,34,34)"><span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">very well.</span></span></blockquote><div> </div><p class="MsoNormal" style="margin:0in;line-height:normal;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-size:12pt;line-height:107%;color:rgb(80,0,80);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">

<span style="font-size:12pt;line-height:107%;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">The former lead engineer I worked with was called up about 10 years ago by
a prominent appliance company he used to work for who asked for help on their 30-year-old
mainframe they were still running.  They
told him he was the only one still alive that had worked on it. =\</span><span style="font-size:12pt;line-height:107%;color:rgb(34,34,34)"><br>
<br></span></span></span></p><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(34,34,34);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">I'm guessing enterprise class tuff will continue to outpace
the rest of<br></span><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(34,34,34)"><span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">us, and maybe the rest of us will get Internet
development back as it<br></span></span><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(34,34,34)"><span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">should be.<br></span></span><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(34,34,34);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"> </span></blockquote><p class="MsoNormal" style="margin:0in 0in 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">It will be interesting to see where
things go.  It is possible now to build a
highly scalable website in AWS using nothing but html and CSS without you
directly spinning up a single server.  It
should even be possible to make it dynamic and do CRUD functions using AWS Lambdas
again without directly spinning up a database.</span></p><p class="MsoNormal" style="margin:0in;line-height:normal;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-size:12pt;line-height:107%;color:rgb(80,0,80);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial"><span style="font-size:12pt;line-height:107%;color:rgb(34,34,34)">






</span>
</span></span></p><p class="MsoNormal" style="margin:0in 0in 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">Most of the communication,
transactions, interactions that once were dominated within the www domain are
now handled by mobile.  Add on the
internet of things (IOT) there is an explosion of small microservice based
needs that will dominate any network. 
Add in AI and there will not be any shortage of needs for programmers,
engineers, etc.<br><br></span></p><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(34,34,34);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">Another point I'd like to make is that technology is like
baseball. <br></span><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(34,34,34)"><span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">There is 4 levels:</span></span><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(34,34,34)"><br></span><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(34,34,34)"><span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">1) The guy or gal who really excels at the high
school level.<br></span></span><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(34,34,34)"><span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">2) The person who makes into college base ball.<br></span></span><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(34,34,34)"><span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">3) Then there is the Farm Team.<br></span></span><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(34,34,34)"><span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">4) And finally the pros.</span></span><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(34,34,34)"><br></span><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(34,34,34)"><span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">Less people progress to each level.</span></span></blockquote><div> </div><p class="MsoNormal" style="margin:0in 0in 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">While that feels similar there are
some striking differences. Having played sports in Jr. high and high school teams,
and though we were good (state champions) I knew that physically I would not
make the cut in college.  I simply couldn’t
grow a different body to be at that higher level.  But I could better my mind.</span></p><p class="MsoNormal" style="margin:0in 0in 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">I don’t really believe in geniuses.  I believe in masters of subjects.  The first assumes that a brain is already
wired in a certain way – or not.  The second
assumes hard work, study, trial and error and learning to fail fast – in essence
rewiring our own brain. Most of those I know in this industry that colleges
have called geniuses would argue they have just been doing it longer, more
often, and more intensely than the others. Much of the time, I believe that
abilities are a function of effort and circumstance.  Do you have access to the tools to learn and are
you willing to put in the time to learn it?</span></p><p class="MsoNormal" style="margin:0in 0in 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">





</span></p><p class="MsoNormal" style="margin:0in 0in 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">At no other time in history has it been
possible to have the access, help, guidance, examples, instruction on how to
learn something – for free - then right now. 
I know for sure that the road to a 6-figure job in software engineering
or even systems or cloud engineering is literally just a few more self-help videos,
virtual labs, free programming projects away.<br><br></span></p><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(34,34,34);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">AND the whole system is being driven by the people who make
it into the<br></span><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(34,34,34)"><span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">pros.</span></span></blockquote><div> </div><p class="MsoNormal" style="margin:0in 0in 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">Web developers and software engineers solve
different problems. And the business models that make each successful are
different.  The reality is that the
software engineer by solving his or her problem potentially disrupts the web
developer’s tool chain.  But each purpose
cannot exist without the other.  </span></p><p class="MsoNormal" style="margin:0in 0in 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">The web developer needs a repetitive process
to crank out enough sites to make money – volume business.  They rely on mostly repeatable installments
of prebuilt frameworks to quickly implement and move to the next site. They are
the assembly line model.  There cannot be
much variation, or they won’t maintain the volume needed to succeed.</span></p><p class="MsoNormal" style="margin:0in 0in 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">By contrast software engineers are building
the next frameworks or process that will increase the ability to achieve more out
of each implementation of a process thereby creating the next newest framework,
which when applied by web developers will create the constraints that will determine
from where the future engineering improvements should come.</span></p><p class="MsoNormal" style="margin:0in 0in 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">I use the analogy of the farmer vs the
engineer.  The farmers domain knowledge is
- agricultural engineering – aka they plant and harvest crops.  And to do this they buy expensive tractors
that can plow 5-acres per hour. As long as every other farmer’s tractor can plow
5-acres per hour – the farmer has a chance of being successful in the farming
business.  </span></p><p class="MsoNormal" style="margin:0in 0in 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">The engineer’s job is to design better
tractors and as soon as he/she has designed one that can plow 10-acres per hour
and farmers start using it the market has changed.  The standard has changed and any farmer who
wants to continue to farm must buy the new tractor or be forced out of the
market.  All free markets work this way.</span></p><p class="MsoNormal" style="margin:0in 0in 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">











</span></p><p class="MsoNormal" style="margin:0in 0in 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">Engineering requires the concept of continuing
education. Which means that it is expected that their domain knowledge stays
relevant for them to practice in their field. <br><br></span></p><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote"><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(34,34,34);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">How can this be pared down or made simpler?  I am not
sure that is<br></span><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(34,34,34)"><span style="background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">possible.</span></span></blockquote><div> </div><p class="MsoNormal" style="margin:0in 0in 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">Perhaps there is a more realistic way
to look at it. While some things get easier there are a new set of challenges
on the cutting edge that demand higher knowledge and experience.  That said like everything else it can be
looked at statistically in a normalized bell curve that is moving in time.  The sweet spot (50 percent interval) will be where
most of the demand is and the need for work to be done.  This level is defined as best practice/standardized
implementation.  These are known frameworks,
and stacks 10 years ago the LAMP stack was smack center of the 50 percent
interval.  As newer frameworks and
processes are engineered and start to gain traction in the 90 percent interval
the bell curve slides right pushing the LAMP stack to the 40, then the 30 percent
interval and so on diminishing in both popularity and use. Unfortunately, as a
developer or engineer you have to move with the curve or get left behind.</span></p><p class="MsoNormal" style="margin:0in 0in 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">With the above as a reality – the caveat
or silver lining here is that the fundamentals really haven’t changed.  The principles that form the core of computer
science are still the same.  We haven’t
added new layers to the OSI model, computers still use ports, IP addresses, we still
bind sockets, Turing completeness requires that languages will continue to have
similar structural primitives even if one is more referential, than another.  Explicit is still better than implicit. All
languages in the end are procedural.  The
concepts of virtualization, containerization, OOP, design patterns, where all
discussed, and a part of the discovery that is CS within the first 20 years in
the industry. Most of what has happened since then is implementation and
re-implementation as capability has grown and we have tried to abstract our way
to simplicity.  </span></p><p class="MsoNormal" style="margin:0in 0in 8pt;line-height:107%;font-size:11pt;font-family:Calibri,sans-serif"><span style="font-size:12pt;line-height:107%;font-family:Arial,sans-serif;color:rgb(68,114,196);background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">





<span style="font-size:12pt;line-height:107%;background-image:initial;background-position:initial;background-size:initial;background-repeat:initial;background-origin:initial;background-clip:initial">And yes all we have really done is pushed the complexity bubble somewhere
else for someone else to deal with.</span><span style="font-size:12pt;line-height:107%;color:rgb(34,34,34)"><br>
<br>
</span></span></p></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Sep 28, 2022 at 9:34 AM <<a href="mailto:techlists@phpcoderusa.com">techlists@phpcoderusa.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
Thank you James for taking so much time to write this interesting <br>
article.<br>
<br>
<scroll><br>
<br>
On 2022-09-28 03:48, James Dugger wrote:<br>
> I know that I am late to the party by a month, and haven’t spent<br>
> much time in the PLUG discussion groups over the past few years.<br>
> Regardless I thought I would weigh in on this conversation.<br>
<br>
It was worth the wait.<br>
<br>
> <br>
> PHP is a real language and is “Turing complete”.  PHP 7 when<br>
> introduced, could be as much as 2 times faster than Python 3 when it<br>
> came out.  Not sure where they both stand now with speed improvements<br>
> in Python 3.8 through 3.10.  And I have not kept up with PHP in recent<br>
> years.<br>
<br>
While I think software speed is important to some extent, we have come <br>
to a point where hardware performance is out pacing software <br>
requirements.  I make this statement as someone whos has never worked in <br>
the "enterprise" space.<br>
<br>
I'm trying to think back and I think all of my projects came to me from <br>
DIY business people who hit the wall and needed a developer to move the <br>
project forward.<br>
<br>
> <br>
> Facts – It accounts for as much as 80 percent of the web<br>
> applications hosted on the internet.  It is by far bigger than any<br>
> other language used on the backend of the web stack.  60 percent of<br>
> that domain usage is WordPress with Drupal and Joomla being the next<br>
> dominant PHP based framework used in that stack.<br>
<br>
The WordPress ecosystem comes with a learning curve and Drupal, while <br>
amazing, has an overwhelming learning curve.<br>
<br>
> <br>
> Most of this implementation is non enterprise level, small business,<br>
> and personal usages.<br>
<br>
In my head, I have been evaluating PHP and the web. I would agree that <br>
most websites or web apps are for small businesses and enterprise makes <br>
up a small portion.<br>
<br>
HOWEVER, the web community has moved in a direction that leaves the DIY <br>
and very junior programmers out in the cold.<br>
<br>
The PHP stack is overwhelming compared to 15 years ago.<br>
<br>
15 years ago one could download CodeIgniter version 1.x and in a weekend <br>
could be developing a web app for a business.<br>
<br>
Today we have composer, GIT, Dependency Injection... ect, ect...  These <br>
create a barrier to entry.<br>
<br>
I know I opened a bag of worms and some maybe more will want to throw <br>
rocks at me.  I think we have left a ton of DIY and very junior folks <br>
behind.<br>
<br>
Given the current environment can a 12 year old or a small business <br>
owner take PHP and create a business web app?  It was possible 15 years <br>
ago but not today.<br>
<br>
<br>
> But there are PHP-based enterprise<br>
> implementations. The world’s largest real estate company’s<br>
> extranet that controlled thousands of brokerages across 76 countries<br>
> was written in the PHP Yii framework and operated in that code state<br>
> for more than 15 years - I extended it and managed it for 2 years.<br>
> Much of the state and federal government’s intranets are enterprise<br>
> level implementations based on Drupal, and the symphony PHP framework<br>
> is an enterprise level PHP system with a vast library that rivals<br>
> those of Java or .Net<br>
> <br>
> Language preference in programming and software engineering is colored<br>
> by so many different and competing ideas and dynamics, that it can be<br>
> hard to differentiate between confirmation bias and real-world<br>
> experience.<br>
<br>
And the problem is the top tier programmers and engineers are winning <br>
out making entry much more difficult.<br>
<br>
<br>
> I recall a meeting once at a previous employer about<br>
> managing multithreading in an orchestrator we were writing.  We were<br>
> discussing whether to use Python or Java, and the Java “camp” were<br>
> claiming that multithreading would be much faster and cleaner in Java.<br>
>  But the Python “camp” was opposed because they could implement<br>
> the rest of the code requirements in much less time.  The VP of<br>
> software of the firm weighed in (to the disappointment of the Java<br>
> camp) by saying that both teams could and would most likely implement<br>
> the multithreading using the C libraries anyway so the Java use claim<br>
> was really a moot point.  My point is that in the enterprise space it<br>
> is rare for a stack anymore to be implemented or even written in a<br>
> single language or framework.<br>
> <br>
<br>
That is enterprise, which I suspect is a sliver of what is going on, on <br>
the web.<br>
<br>
<br>
> PHP – Victim of the Java influenced fanaticism towards OOP<br>
> <br>
> Many languages have fallen victim to the ivory tower approach to OOP<br>
> programming that was institutionalized by Java.  PHP’s obvious<br>
> limitations in OOP pre version 5.3 was a crutch for the language and<br>
> during the 2013 timeframe is when C# out positioned PHP in new<br>
> implementations for the first time as referenced on the Tiobe Index.<br>
> It is my opinion that with PHP version 5.3 it was finally seen as a<br>
> fully viable (all-be-it still limited) OOP platform and quelled C#<br>
> rise in the index for a little longer.  I feel that it was this focus<br>
> and the dream to bring PHP up to the stricter levels of implementation<br>
> found in Java OOP et ell, where in version 7 we have the required<br>
> adherence to declare class method visibility.  Add type hinting into<br>
> the mix and it almost looks like Java or C#.<br>
> <br>
> The perception that PHP was somehow slow to adopt more strict OOP<br>
> standards is in my view an oversimplification and a misunderstanding<br>
> of PHP’s position in the industry.  As pervasive the boast is that<br>
> Java is ubiquitous and “everywhere” its footprint in comparison to<br>
> PHP on the web is miniscule.  A breaking change caused by a change in<br>
> PHP version on the web has at least one order of magnitude more effect<br>
> than that in Java.  Couple that with the fact that the change in<br>
> capabilities between 5.2 to 7 are monumental compared to the changes<br>
> in Java during that same time, then the scope of changes in PHP are<br>
> nothing short of “mountain moving” without breaking the web.<br>
> <br>
> Microservices have changed the game.<br>
> <br>
> If there is a downside it is that PHP has positioned itself as the<br>
> king of web-based monolithic frameworks in an age where, at least on<br>
> the enterprise side microservices are the name of the game.  Scale is<br>
> the key and the ability to break up the monolithic nature of<br>
> applications into smaller pieces that can scale independent of each<br>
> other is vital in order to leverage the cost of cloud computing.  In<br>
> my view this is at odds with the PHP based frameworks that are popular<br>
> now.  While they are all scrambling to provide “headless”<br>
> implementations to allow for more flexibility and to look more<br>
> “microservice like” it is hard to break up WordPress which is more<br>
> than half a million lines of code or Drupal which is over a million.<br>
> Add in containerization (Docker and Kubernetes) and PHP is just not<br>
> the go to language for quick Implementation in these situations.  Go,<br>
> Python, or Node are going to be the first choice.<br>
> <br>
<br>
I had to lookup Microservices.  Sounds like something I will never use.  <br>
I can see it's value however I am a PHP developer who is oriented <br>
towards small business.<br>
<br>
<br>
> The dynamic behind this is that more and more the PHP-based CMS<br>
> frameworks will be limited to single person and small business web<br>
> apps.<br>
<br>
I am ok with that.  There is a need that needs to be met.  I understand <br>
WordPress makes up 30% of the web and scratches and itch.<br>
<br>
And there is a niche for developers who can create web apps using <br>
PHP/MySQL.<br>
<br>
> Even the original LAMP stack now has to contend with the MEAN<br>
> and MERN stacks that can be spun up in the cloud in minutes.  In the<br>
> enterprise space where a firm is literally funneling half a million<br>
> dollars or more per day into their IT department to build new<br>
> applications and manage cloud systems PHP is simply not a choice.<br>
<br>
Sounds very enterprise.  What percentage of the web is this?  Less than <br>
1%?<br>
<br>
<br>
<br>
> Despite it being a state-of-the-art OOP language at this point, it is<br>
> simply not chosen in my view because it positioned itself to be<br>
> another Java like implementation (interpreter and runtime differences<br>
> aside), and right now lighter weight - limited single generation<br>
> inheritance or composition based OOP mixed with functional programming<br>
> are becoming the standard.  And while like Python, PHP’s functions<br>
> are first class citizens and could be written functionally, languages<br>
> like Go or Python’s ease of use and structure are more appealing.<br>
> <br>
<br>
To who?  Enterprise or the DIY'ers?<br>
<br>
<br>
> That said, PHP is not going anywhere.  While it has fallen in 7 years<br>
> from the 5th most popular language to the 10th, most of the backend of<br>
> the web still runs on it, and it is fully supported and even<br>
> contributed to by most of the leading hosting companies.  It is their<br>
> bread and butter. And really do languages ever really go away? The<br>
> first computer I had in the 80's ran Cobol and we still have systems<br>
> today that run Cobol and need programmers to maintain them.<br>
> <br>
<br>
I ran into a guy at a car show who was showing his 1960's Vette.  He <br>
told me he was a Cobol programmer.  From our conversation I think he did <br>
very well.<br>
<br>
I'll bet PHP/MySQL will continue to be dominate on the web for at least <br>
10 more years.  I think I have 6 to 10 years left in me  to do tech <br>
stuff and then it will be on to something else.<br>
<br>
I'm guessing enterprise class tuff will continue to outpace the rest of <br>
us, and maybe the rest of us will get Internet development back as it <br>
should be.<br>
<br>
As I mentioned I have been thinking a lot about my travels through <br>
technology.<br>
<br>
My  first computer was a Commodore 64.  The next year I bought a garage <br>
clone with an 8088 and 640K of RAM, 2 360k floppies, and no hard drive.  <br>
The next year I bought a Seagate st-225 HD that was 20M.<br>
<br>
In 1986 a manager gave the only computer in the place and told me I was <br>
the only one who knew anything about computers.<br>
<br>
In 1986 I went into a factory that was being managed using a Commodore <br>
64.  And around that same time I had a conversation with a businessman <br>
who told me he had created a computer program using Basic that ran his <br>
company.<br>
<br>
These experiences have shaped my view of things.  I think technology <br>
will continue to move forward and will leave a bunch of people behind.<br>
<br>
We have lost a lot over the past 10+ years.  20 years ago we lost the <br>
xBase language and all the xBase systems.  We have no replacement.<br>
<br>
For PHP I see the final frontier as custom web apps.  There is a need <br>
and there is a need for tools in this area.<br>
<br>
I read and hear the economy is going to crash and inflation is going to <br>
last 10 years.  If this is true I think there will be a real push to <br>
replace people with machines.  Some will fall by the wayside and others <br>
will figure how to take advantage of all the chaos.  There will be <br>
opportunity. The challenge will be figuring out how to harness it.<br>
<br>
Another point I'd like to make is that technology is like baseball.  <br>
There is 4 levels:<br>
<br>
1) The guy or gal who really excels at the high school level.<br>
2) The person who makes into college base ball.<br>
3) Then there is the Farm Team.<br>
4) And finally the pros.<br>
<br>
Less people progress to each level.<br>
<br>
AND the whole system is being driven by the people who make it into the <br>
pros.<br>
<br>
For you aged folks you might recall that in the 80's and 90's Personal <br>
Computers where oriented towards the end user.  There was a lot of <br>
software for someone with limited knowledge could create a business <br>
solution. My favorite was the xBase applications.  I first use dBaseII <br>
in 1986 and then dBase III.<br>
<br>
What do we have today?  Nothing like dBase or the other dBase clones.  I <br>
road that wave for maybe 15 years until I jumped to the web in 2000.  I <br>
do not see any rapid application development tools for the web.<br>
<br>
Compare dBase to an Intranet.  Yikes that is a big gap.  dBase was easy <br>
to learn, while creating an intranet application requires a ton of <br>
knowledge because the stack is very large.  LAMP plus HTML, CSS, AJAX.  <br>
That is a lot.<br>
<br>
How can this be pared down or made simpler?  I am not sure that is <br>
possible.<br>
<br>
I am interesting in your feedback.<br>
<br>
<br>
<br>
<br>
> On Sun, Aug 28, 2022 at 5:08 PM Keith Smith via PLUG-discuss<br>
> <<a href="mailto:plug-discuss@lists.phxlinux.org" target="_blank">plug-discuss@lists.phxlinux.org</a>> wrote:<br>
> <br>
>> On 2022-08-28 04:55, Steve Litt via PLUG-discuss wrote:<br>
>>> On Sun, 2022-08-28 at 02:23 -0700, Andrew McRobb via PLUG-discuss<br>
>>> wrote:<br>
>>>> <br>
>>>> It has its place in the ecosystem, there is no way around it, but<br>
>> it's<br>
>>>> always going to be that language for engineering websites, that's<br>
>> it.<br>
>>> <br>
>>> What's wrong with that? I remember LAMP, and having to make all<br>
>> sorts<br>
>>> of web<br>
>>> primatives in Perl that PHP just automatically gives you.<br>
>>> <br>
>>> SteveT<br>
>> <br>
>> I did some Perl in 2000.  Seems PHP started to dominate somewhere<br>
>> between 2002 and 2004.  Seems a lot of other people liked PHP for<br>
>> some<br>
>> reason.  I know I liked it when I first saw it in 2002.<br>
>> <br>
>>> <br>
>>> <br>
>>> ---------------------------------------------------<br>
>>> PLUG-discuss mailing list - <a href="mailto:PLUG-discuss@lists.phxlinux.org" target="_blank">PLUG-discuss@lists.phxlinux.org</a><br>
>>> To subscribe, unsubscribe, or to change your mail settings:<br>
>>> <a href="https://lists.phxlinux.org/mailman/listinfo/plug-discuss" rel="noreferrer" target="_blank">https://lists.phxlinux.org/mailman/listinfo/plug-discuss</a><br>
>> ---------------------------------------------------<br>
>> PLUG-discuss mailing list - <a href="mailto:PLUG-discuss@lists.phxlinux.org" target="_blank">PLUG-discuss@lists.phxlinux.org</a><br>
>> To subscribe, unsubscribe, or to change your mail settings:<br>
>> <a href="https://lists.phxlinux.org/mailman/listinfo/plug-discuss" rel="noreferrer" target="_blank">https://lists.phxlinux.org/mailman/listinfo/plug-discuss</a><br>
> <br>
> --<br>
> <br>
> James<br>
> <br>
> Linkedin [1]<br>
> <br>
> <br>
> Links:<br>
> ------<br>
> [1] <a href="http://www.linkedin.com/pub/james-h-dugger/15/64b/74a/" rel="noreferrer" target="_blank">http://www.linkedin.com/pub/james-h-dugger/15/64b/74a/</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><font color="#0b5394">James</font><div><br><span style="color:rgb(255,255,255)"><span style="background-color:rgb(11,83,148)"><b><a href="http://www.linkedin.com/pub/james-h-dugger/15/64b/74a/" target="_blank"><span style="background-color:rgb(255,255,255)"><span></span><span style="color:rgb(11,83,148)">Linkedin<span></span></span></span></a></b></span></span><br></div></div></div>