>At least two years of experience with Python I've been in love with this language since about 2013. To the point that I've found everything to hate about it - I'm still amazed dicts have no "update or add" function; building a dict of lists is a reasonably common task and it's tedious to do with a try/except or if/else. Anyway the dynamic portion of my website (currently just http://rakka.au/md.rss) is using my own 50-line file socket webserver. >Understanding of network communication protocols like TCP/IP, HTTP, UDP Mostly. I still haven't figured out if ports are an IP concept or if TCP and UDP both decided to have ports and have 2^16 of them. But I have learned that telnet sends Windows-style line endings (\r\n), whereas netcat sends linux-style (\n). >Hands-on experience with network tools like ping/traceroute/dig I still haven't figured out how dig decides which server to default to. On most of my computers (including my pocket computer), it doesn't seem to follow what should be the system-wide DNS list. I also don't really understand traceroute; I've had endless amounts of trouble with my VPS in Florida, specifically on ipv4, and traceroute hasn't really revealed why. I think they're just blocking ssh, regardless of which port I put it on... I don't actually remember if I've contacted them about it. I should do that. >Knowledge and understanding of network configuration of Linux-based systems I've been trying to figure out how to make openwrt be a dhcp client for ipv4 and dhcp server for ipv6 on the same interface. >Hands-on experience with Docker and docker-compose tools I've never seen a justification for docker that didn't boil down to "I think chroots need more overhead". (I lie, I did once, it was bitching about chroots lacking security, but they couldn't back it up.) >Experience with using RabbiMQ message broker Never heard of it. I'm sure I'll find out soon enough. >Experience with Python modules like such as multiprocessing, multithreading The concept of threads is relatively straightforward, so I taught myself how to use them in python one night on my pocket computer while waiting for an event to start. To be honest, I've forgotten most of it, except that lists are mutable objects, so it can do what a global bool can't. >Hands-on experience with Linux-based operating systems I use arch btw. I have yet to INSTALL GENTOO. (And these days I'm hearing a lot of good things about nixos so I'll probably go that way next instead.) >Ability to browse and understand system logs I'm aware that awk is godlike here, but I don't deal with enough volume of logs to justify staying in practice with it. >Experience in using git workflows yun-wuxin:[wisknort]:~$ grep update .bashrc function update { scp -r * root@jasmine:"$(cat .update)"; } ... Though I think "git workflows" actually refers to some specific thing? Maybe CI-related stuff? As far as I can tell, CI is another one of those "modern web people colonised an already perfectly functional process with their modern web rubbish" things though. >Understanding of threads and processes synchronization methods Not something I stay in practice with, but the theory's straightforward enough. Of course, threads are never really straightforward in practice. >A focus on pragmatic outcomes, and the ability to prioritise effectively I frequently claim to be extremely pragmatic, but I won't compromise quality if it makes my job harder later. I'm ok with my matrix library being completely rubbish because I'm already halfway through a rewrite of it; any cludge in the current one won't cause me any trouble later. But also I don't like doing anything to the current one because I could be spending that time finishing the rewrite and getting it live (and *published*). >Problem-solving capabilities and attention to detail This is my excuse for working slowly; as above, I intend to get things right the first time. Possibly of note, I can intuitively tell which problems are solvable and which aren't, and I try to avoid creating problems that are unsolvable. >Ability to adapt to new problems and learn quickly I'm still looking for more games like SWAT: Aftermath, that can actually push this sort of feeling of needing to quickly process the current situation and not just react to enemies, but also prioritise objectives in response. Specifically because I want to learn a new suite of objectives, reactions, and information to process. So clearly I should make my own. >Scientific and critical thinking skills I like to think that "if A then B. A, therefore B" is pretty obvious, and that "if A then B does not imply if not A then not B" is not that much harder. I did get duped by the goats and doors problem though. >Outstanding communication skills. Able to coordinate with multiple stakeholder groups. Define "stakeholders". I answer only to the people who will actually use the software I'm writing. >Degree/Tertiary qualifications in Computer Science or equivalent (preferable) Mostly.