My question has received several helpful responses, thanks!
On 09/28/2017 01:01 PM, Dennis Lee Bieber wrote:
On Wed, 27 Sep 2017 12:41:24 -0400, leam hall <leamh...@gmail.com>
declaimed the following:
"Programmer"... or "Software Engineer"?
I haven't kept up on "job titles" but for my history, "programmer" is
an entry level position, just a few steps up from "data entry operator"
(aka "keypunch operator" -- to show my age)
"Person who automates routine tasks".
I used to get asked for MAC addresses. I was playing with TCL at the
time and it had a built in webserver sort of thing. The boxes were
Solaris. Made a cron job to run Explorer on the servers and another to
collate them to a node with the TCL webserver. Gave the Network team the
URL.
I'll show my age; 5 bit ASCII punched tape and actual ferrite core
memory. :P
As a "programmer" (in my archaic world): be fluent in the language and
core of the runtime (though perhaps not a master -- I still don't get
Python's decorators and meta-class concepts; my uses haven't needed them).
Be able to read language agnostic requirement/design documentation and
translate to the language in question. At this level, knowledge of the
problem domain is probably not needed. At the higher levels, the language
begins to be irrelevant, but more knowledge of the problem domain becomes
important -- the difference between designing/coding a web-based
store-front (HTTP/HTML, database, security) vs number-crunching image
streams from space probes...
Afraid I've likely just tossed it back to you -- what really is your
goal?
As an introvert with a speech impediment I live by "Don't call me, I
won't call you."
Well, okay, yes. I did to Toastmasters and can shine at an interview.
Still, day to day I prefer to create solutions that solve problems and
answer questions before they are asked so no one asks me. I know a
little Networking, Database, Systems Engineering, Project Management,
Security, large datacenter, and other cool buzzwords to easily find a
job doing Linux system admin. What I want to move away from is doing now
what I was doing 10-15 years ago.
A couple years ago I was back into C. A RHEL bug came up and management
needed to understand the severity of the issue. I was able to read the
reports, dig through the kernel code, and explain the issues and risks
to MBA and PM types. I'm not about to represent myself as a C programmer
but I can follow #include files.
One place brought on Unix people and your first day was split between
the Eng team lead and the Ops team lead. They would decide which you
were more suited for. The Eng team lead wrote Perl and asked me to
explain some of their code. I did and also pointed out a bug. Seems I
was a better fit for the Ops team. :P
My short term goals are to use Python to get better at OOP coding and to
automate in Python stuff that might work in shell/awk but are more fun
in python. To that end I'm reading Booch, just ordered an old copy of
the Python Cookbook, and am coding a game/fiction tool to help me keep
track of characters.
It is often said to learn a language you grab the basics and then join a
project. I'm happy to contribute to open source projects but the
learning curve to "useful" has always been steep for me. There's gap
between reading "Learning {language}" and contributing code.
Python is very useful because all my RHEL boxes have it installed. If I
build a tool I know it will be able to run. While I enjoy Ruby more,
it's not on the servers and it ain't going on the servers. I need to be
useful to keep getting paid. Due to developer count the ability to
instigate a python project is easier than a non-rails ruby project so I
can build my "software engineering team" skills as well.
I appreciate your guidance and feedback; keep it coming!
Leam
--
https://mail.python.org/mailman/listinfo/python-list