First of all, let me introduce myself. Alex/AT, or Alexey Asemov.
Currently living in Russia, Saint-Petersburg, employed at the edpnet NV Belgian ISP as NOC Engineer (Linux, networking, VoIP, running and operating different services for customers, maintaining backends and stuff, I will elaborate more of it below). Do have expired CCNA certificate, but now pay no attention/don't assign any importance to it.
I'm also trying to become a drivernow, and hope to be a good one with time, but that goes a bit too hard on me. Hopefully I won't crash into someone in the process :)
- Linux and open source systems engineer specializing on (latest) CentOS/RHEL Linux distribution. Much experience with integrating systems up. A decent Windows administration experience is present as well.
- Networking engineer, specializing on ISP switching, routing and troubleshooting. Have a certain bit of MPLS knowledge, a good BGP and OSPF knowledge, and full protocol stack understanding.
- For networking hardware it's full Cisco stack (from 800 and C2950 to 7200, 7600, ASR1K and ASR9K) plus D-Link switches, also I have experience with Huawei switches and some experience with GPON products.
- VoIP engineer, specializing on SIP, Asterisk software and (optionally) FreePBX management system. Have enough experience to troubleshoot things up, have experience with lot of CPE hardware and also AudioCodes and other switches.
- Avid PHP backend developer, handling both object-oriented and procedural style, with most accent put onto version 7.0, but with knowledge of versions 4 and 5. Optimization and size of code base is a thing in PHP (many tend to forget that until things finally break down), that's why 'no framework' is the primary target for me while using frameworks is just supplementary (on as needed basis).
- My primary motto in IT is: no overengineering, no wheel reinvention. Yeah, these two usually conflict and so we have to be somewhere in the middle. This is not only PHP related, that touches any other area as well.
- Alas, I'm totally not a Web designer, have some bears walked over my eyes probably and so don't wonder if this site design sometimes looks like crap :)
- I have enough knowledge to develop own PHP framework if needed. Have an experience of frontend development as well. Have enough experience with Blitz templater, ZeroMQ communication, APCu, memcache and so on.
- Avid database administrator/developer/designer, with accent on MySQL (MariaDB branch), with knowledge of InnoDB and TokuDB specifics.
- I have enough experience with both Galera and NDB clusters, specific and non-specific database design, query optimization, index optimization and so on.
- A more or less experienced Delphi developer, including GUI buildup, heavy WinAPI usage, DB support and networking. I know the pointer arithmetic, where memleaks come from and many other internals.
- An oldschool assembly programmer. Alas, my education in that area stopped long ago, but I'm still verse in 8080/Z80 assembly, x86 family assembly (with some manual at hand) and a bit of ARM7/9, both thumb and full.
- I know a good bit of C/C++. At least I can read existing code, devise a fix/patch to Linux kernel part or usermode app, develop some small routines. Basically I know how things work in C/C++ (not the latest language modifications, though).
- Being algorithmist inside, I can devise a good solutions to some technical problem, write and integrate things up, optimize code and stuff and see implementation to the end. May also do it leading some assigned programmers as well.
- For CentOS/RHEL distribution stack, I'm full-fledged at building RPMs and making repositories. Wish anyone stopped doing configure/make on live servers really, RPMs and their specs are just at a palm distance to grasp.
- For software and hardware knowledge (for full stack integration, from scratch to working public or private service), it's a very huge list. I'll list some things I'm experienced with below, by some common category.
- Platform: XenServer. Yes, I know many of its caveats and am able to manage a large installation (with shared SAN storage of course). Also have experience with OpenVZ, but heavily doubt anyone use that nowadays.
- Monitoring: Zabbix. More than that, Zabbix from scratch. I know how to design templates properly, how to optimize monitoring at large scale (my current installation has 130K+ items), how to write my own discovery and agent scripts and so on. Integration with Zabbix API included.
- Full stack: Apache, PHP (FPM/module/CGI/FastCGI), MySQL (TokuDB, Galera/garbd, NDB, master-master replication and stuff included), haproxy, nginx, squid, vsftpd+, ftp-proxy, mpm-itk, mod_evasive, mod_xsendfile, mod_ssl, memcached. I know how to build and balance either a full-stack shared hosting or production platform for a single application, or an application itself. Know about backups as well, of course.
- Full stack: dovecot (including MySQL integration), postfix + pigeonhole (same here), RoundCube (including plugin development), opendkim, also have a good experience with Barracuda and Ironport appliances. I know how to build and run a production service (farm of servers) with 30K+ active mailboxes.
- Full stack: FreeRADIUS (including MySQL and h/w integration), bind, dhcpd, ntpd, OpenVPN, vtund, iptables, iproute2, cgroups, samba, nfs, sysvinit, systemd and other ISP and OS-related stuff.
And probably more... You see that there's already a whole lot. Not boasting, but... Yes, it's all production-grade experience, I can build and maintain a working solution using something from this list.
Now I'll go into a bit of history. Feel free to skip it down if not interested, it's a long read.
Born in 1983, I was growing bit a bit in a rural region and got studying at the humanitary school (with most attention paid to languages linguistics). At some point (7 years or so) I was highly attached to computers and shifted my childish vision of world to digital, starting learning Basic (along with playing games and so on). Later on in middle school, we together with my old pal Scorp took a lot of time programming ZX Spectrum (a local variant of it with 256KB RAM) in Z80 assembly. So basically I dived into programming world as an assembler programmer (a bit of Basic in childhood doesn't really matter). That exactly decided the future for me, I've got a good understanding of bitwise computing, computer internals, programming basics, optimization and such from it.
When studying in the local university, I paid less attention to math and more to algorithms, logic, programming and systems maintenance. Few things we with different guys and girls collaboratively developed in the university were software to automatically control the class time, logging users off and registering student IDs, faculty site, Internet proxy and some other things. Coding things to log on / off users was requiring tight Windows integration, along with GUI for reports / data entry and some DB for data collection, so Delphi was chosen as primary language to code it. That's how I came to learn Delphi. You'll find my Windows-based projects are written in Delphi, they are all non-commercial and free for anyone to use.
The time we still did stuff in Windows (somewhere around 2001), the world was heavily changing for Web, HTML and Web interactivity (alas, still on ASP and Perl mostly). Perl had too weird syntax to bother (from my point of view) and ASP was too Windows-oriented. So both sucked in terms of global usability (and I already guessed Linux is the future, indeed). Around the same time, PHP version 4.0 was released and some good books for it came out. That shifted me into the Web direction, and I started to learn PHP at that time. This was a heavenly language for Web interactivity at the moment, so I quickly adopted it into my brain. As things went, I found that PHP can be easily used outside scope of Web to perform system maintenance, configuration generation and so on. It took the best of two worlds: C and Perl, and combined it into universal but easily understandable scripting language, very useful even if slow a bit.
Somewhere at the end of 2003 I finally got my first Fedora Yarrow installation to provide web caching and firewall services for faculty. This predetermined my shift to Linux ecosystem from Windows one, so my Windows administration experience growth started to lower its speed, quickly being replaced with its Linux counterpart. By the middle of 2005, I was able to put up a self-built home server with Fedora 4 installation and used it as personal Web server with some forums and things at the local ISP network.
... to be continued, it's a lot of writing, sorry ...
No feedback yet
Form is loading...