Beginners and experts (Batchelder blog post)

Leam Hall leamhall at gmail.com
Thu Sep 28 14:56:43 EDT 2017


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 <leamhall at 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







More information about the Python-list mailing list