Lesson: Be on the hiring side of the
table. That is, be an entrepreneur.<p>As someone with some high value, tough
to get paid that value as an employee;
that's a very old lesson.<p>E.g., I've been programming for decades
and am doing so now in my startup, but
my programming background doesn't meet
the criteria in the job ads. So, I
have little or no experience with
Python, Java, JavaScript,
C++, Linux, Unix, Haskell, Scheme,
Lisp, C#, functional programming,
etc.<p>Instead for my <i>platform</i> I selected
Windows instead of Linux. On Windows
I selected Visual Basic .NET (VB) instead
of C#. Why? Because for my work both
VB and C# are essentially equivalent
ways to build on the <i>common language
runtime</i> (CLR) and .NET Framework,
ASP.NET, ADO.NET, SQL Server, etc.
And for my work, C# and VB differ mostly
just in the flavor of <i>syntactic sugar</i>.<p>I prefer the flavor of VB because:
C# borrows much of the deliberately
"idiosyncratic" syntax of C. Sure,
way back in the DEC PDP-8 with 8 KB
of main memory, some of the sparse C syntax
may have seemed good to have.
While there are still some good uses for C,
now for my work
C is like digging a Panama Canal with
a teaspoon and VB and C# are
far ahead. No C
for me, thank you. Much the same for
C++ (e.g., tough to avoid memory leaks --
tough to be really clear on just what
the heck Stroustrup wrote).<p>So, I like
the more verbose, traditional (Algol,
Fortran, PL/I, Pascal, etc.) syntax
of VB instead of the more sparse,
idiosyncratic syntax of C#.<p>So, to me,
VB is easier to write and read and,
when I start to hire, teach and learn.
So, it's VB.<p>The .NET Framework? It's a major
hunk of software, one of the most
important in computing. Microsoft
is solidly behind it, and they
have several tens of billions of
dollars in cash to back what they want.
Microsoft has long seen their business
as that of supplying a <i>platform</i> for
others to build on, and their .NET
Framework is one of their most important
<i>planks</i> in their <i>platform</i>.<p>For my work, .NET has a <i>class</i> for
nearly everything of any general
purpose utility. So, often my code
becomes mostly just <i>mortar</i>
to join .NET <i>bricks</i>.<p>For more, ASP.NET has a <i>way</i>
to write Web pages, and so far
it seems mostly from okay up
to fine with me.<p>ADO.NET has a way to get to
relational data base and, again,
seems mostly from okay up to
fine with me.<p>For Python, maybe I will use it for
some of its good packages, if
doing so becomes worthwhile for my work.<p>For Java, don't need it. If I
had already used it, then
I wouldn't use it now and would
forget it.<p>For JavaScript, so far for my Web
pages ASP.NET has written a little JavaScript
for me, but I have yet to write a
single line. If I need it, then I
will use it -- so far I don't need it.<p>For Lisp, too many parentheses, and I'd
have no idea how to get to the .NET
Framework.<p>For <i>algorithms and data structures</i>,
been there, done that, learned it,
used it, taught it in college
and graduate school, done original
work in it.<p>For the <i>engineering</i>, I've got
a Ph.D. in engineering from
a world famous research university.
Some of that background is crucial
for my startup. It appears that the
jobs with the job ads would make no
use of that background -- a big
advantage for my startup.
Besides, nearly no one hiring would
be able to evaluate my Ph.D. work.
And nearly anyone hiring would
be afraid to have a Ph.D. subordinate.<p>So, the job ads and I agree to disagree:
They don't want me, and I don't want them.<p>If my startup works and I need to hire
for software development, then
I will. Main qualifications:
(A) Some okay basic computer usage
and familiarity and interest.
(B) Good at reading and writing
technical material. (C) A good
record in a college STEM major.
(D) Otherwise looks like
potentially a good employee.
Having programmed a little would
be a plus. That's what I'll
hire for. It's not so strange:
It's how I got hired in
a Watson lab AI group, and they
hired for the right stuff.<p>The job ads for software developers
are sick-o. That others are making
such mistakes is good for my
startup.