Frequently Asked Questions
Are you authorized to work in the United States? Yes.
How many years of Go programming experience do you have?
tl, dr; I’ve been writing Go since 2014.
Very little of that time has been spent writing proprietary software. My first couple Go programs were not the typical first couple:
ParasiticTraceroute performs a TCP traceroute with any existing TCP connections already established on the local machine by mangling outgoing packet’s with the Linux kernels nfqueue subsystem: https://github.com/david415/ParasiticTraceroute
Honeybadger is a passive TCP protocol analyzer for detecting TCP injection attacks: https://github.com/david415/honeybadger
Later in 2015 I wrote the BSD BPF module for Google’s gopacket as you can see here:
- bsdbpf module for gopacket allows you to perform BSD style ethernet sniffing on BSD based operating systems such as SmartOS (ahem, Solaris), FreeBSD, HardenedBSD and so forth:
What are you looking for?
I want to build distributed and decentralized systems in Go and/or Rust with a team of badass engineers and I’m fine if I have to be the leader or the one doing most of the hard work.
I am looking for a senior software developer role and software architect role. In other words, I’d like to do the research, design and modeling work before writing the implementations. Ideally design and implementations stages of creation would be collaborative, creative, structured, unstructured, systematic, contemplative, productive etc.
I’d like to be a part of a team which does these things:
- performs code reviews
- writes unit tests and integration tests
- holds frequent status report meetings aka daily scrum
- implements complex components after writing design documents
- maintains synchronization between implementations and design documents
- makes use of a CI system
- makes use of multiple environments such as testing, staging, production environments
- organizes work into a ticketing system
- writes engineering documentation systematically as part of the development process
- dispatches work to team members in one or two week increments aka sprints