Printing tool Download PDF

Daniel Wolff

Web and Mobile Developer / IT Infrastructure Specialist / IT Consultant

Summary

IT specialist with large experience in a variety of tech-related areas. Working professionally in the field since 2001, mainly in web development and IT infrastructure, specializing in free software and open source technologies, I've seen it all: the browser wars, the shift from physical to virtual machines inside corporations, the movement from desktop apps to mobile/web ones, the massive complexity increase in frontend development... you name it :)

I'm also extremely motivated in doing tasks that sit right between the development and infrastructure realms.

Let me give you an example: you have a legacy email web application, that persists data in an Oracle database, and now you need those persisted data to be available to any IMAP client, so a customer can use, let's say, Mozilla Thunderbird, to access his corporate email. Remember that the legacy application was made to be compatible with IE5.x browsers, using IFRAMEs to request information from a PHP server talking to the Oracle database, right when the web developers are starting to shift from IFRAMEs to the XMLHttpRequest calls (what is now called AJAX: Asynchronous Javascript And XML). Instead of refactoring the code of the web app, it looked like would be a more efficient transition to deliver those messages in an already established protocol (IMAP).

Well, easy peasy: Just write an API (my language of choice was Python, because of the expressiveness and the fast prototyping) that can interact with the Oracle database, and deliver the messages stored inside it (with his attachhments, subjects, headers and whatnot) on a Python-based IMAP server, listening on port 143. This was done using the excellent TwistedMatrix library. On top of that, I've just implemented the IMAP server calls that interacted directly with the Oracle database. All of that using an ancient Sun Workstation.

The case described above, isn't fiction: it really happened inside one company that I was working for, in 2002/2003, and, besides being my first contact with Python, and also the intricacies of the IMAP protocol, was one of the most fun jobs I've ever did. Because of that, I always use it as an example of this strange "corner" between Dev and Infrastructure that I like to be in (I guess that now, it's what the new guys are calling "DevOps") :)


Core Competencies

  • DevOps
  • Virtualization
  • Network Infrastructure
  • Software development
  • Web development (backend: strong, frontend: not so strong)
  • IT Training (programming)
  • GNU/Linux
  • Agile development
  • IT Project specification and implementation

Work History

20012006

Web developer

IWorks/Defferrari/Morphe Design/Plan MKT/MDT Estudio (Novo Hamburgo/RS/Brazil)

Basic web development, ranging from classic ASP (Active Server Pages) to Python, having worked with multiple technologies between them: HTML, Javascript, PHP, Access, Firebird, MySQL and Oracle databases, and many other acronyms and names that I don't care to remember anymore :)

  • Delivered backend and frontend solutions (I wasn't responsible for the design, just for the implementation) with tight schedule constraints
  • Helped with the design team to improve the user experience (to the best of my knowledge) of the developed artifacts
  • Worked with small (5+ people) and big (20+ people) teams
  • Proposed the use of new technologies (PHP was one of the languages that I've suggested, back in 2001, in favor of crappy, slow, and proprietary Visual Basic Script (ASP))
  • I was also responsible for the data modeling of the persistence, in most of those companies
  • Created a small "pet project" that helped me a lot in future works, for learning the language: a PHP framework for basic CRUD operations. As time goes by, I was doing small improvements, based on client demands (generation of PDF reports, automated query filters, and so on)
20062009

Infrastructure and IT basic services consultant

Help Tecnologia (co-owner) (Osório/RS/Brazil)

Working with level 1 and level 2 support for IT clients, I was able to learn more about network and computers infrastructure, doing a wide range of services:

  • Computer repair for companies and government (Windows, GNU/Linux and Mac computers)
  • Software and hardware installations (small and medium scale)
  • Setup of servers (Windows and GNU/Linux, also FreeBSD) and network infrastructure
  • Development of small websites and system scripts for database maintenance and automated backups, respectively
  • Maintenance and last-mile installation for a small WiFi provider, delivering internet to over 400 contracts
20102014

Software (web and mobile) developer

(independent, freelancer) (Osório/RS/Brazil)

  • Worked in many small/medium sized projects, mainly with PHP and Python, and studied a lot about user experience (basically, because I was on my own, so I had to learn at least the basics)
  • Worked on a local university, where I was responsible for creating projects to control and manage the production of content and questions for a Distance Learning initiative, countrywide. Did some trainings on other cities outside my local state. At the time, the main tools used were:
    • MySQL
    • PHP
    • Javascript
    • Moodle (the de facto standard for distance learning (at least in Brazil)
    • BigBlueButton (a system for distance learning, that uses realtime communication over voice/video)
    • a huge amount of patience, because bureaucracy :)
  • Created small hybrid apps for some clients, using Cordova/PhoneGap technology. Basically, it's a small web app (with Javascript and HTML creating the interface) being shown in a WebView inside the device (iPhone/Android/Windows Phone/Blackberry compatible)
  • Created an improved version of a CRUD framework in PHP (now using CodeIgniter as the foundation, and working with the codebase that I've developed earlier)
  • Started a full-stack web application, using Python and Flask (my first contact with the library on a business product), and PostgreSQL for persistence. First contacts with code versioning using Git (it was basically a one-man operation, but versioning helped me a lot, anyways)
  • Started do dwelve into the free software and opensource movement, participating for the first time in FISL (Fórum Internacional de Software Livre - "International Free Software Forum"), the largest (in number of attendants) event of FOSS in Latin America at the time. Eventually, I've won (my team won, actually) a competition of programming (called "Programming Arena") in 2010, where the main task was to create a log analyzer for the Postfix software (I had the chance - and the pleasure - to meet Wietse Venema, its creator and mantainer). I became member of the NGO ASL (Associação Software Livre.org - "Free Software Association") right away, and started working voluntarily for the FOSS community, helping in the event in any way I could. In 2014 I've started working (with a partner) on a project to redesign the system that was used to make the attendants and speakers registration of the event itself. It was a two year contract, were I've deepened my knowledge of Python and GNU/Linux infrastructure, and started working in a more structured way with: code versioning (Git), Continuous Integration (CI), Agile development, Gulp, Vagrant, Ansible and Angular (main kudos to my partner, that was way better developer than me, and had the patience to taught me all of this!)
2014present day

Infrastructure and virtualization specialist

Vous (Porto Alegre/RS/Brazil)
  • Here, I've found the "sweet spot": I was responsible for the development of small systems, tightly integrated with the maintenance of a medium-sized infrastructure of virtualized servers, of all types, shapes and colors: Windows, SQL Server, GNU/Linux, FreeBSD.
  • Started getting to know the core network and virtualization structure, and after that, I've begun to control and upgrade/secure/improve it.
  • Gained extended knowledge of VMware and KVM technologies. Also "had fun" with Kubernetes, OpenStack and other server technologies. Had a small test-drive with Docker also (working on improving this specific knowledge now)
  • Improved knowledge of email/database/application/filesharing servers, using many different softwares and technologies: 
    • Postfix
    • cPanel
    • Centova (audio straming)
    • Zimbra
    • MySQL
    • PostgreSQL
    • Apache
    • Nginx
    • Redis
    • Java (Tomcat)
    • Bash scripting
    • Python (for systems administration)
    • REST APIs (of all sizes, shapes and colors)
    • Authentication services (LDAP, Active Directory, etc)
    • Network security (firewalls, honeypots, IP banning of suspect network abusers)
    • BGP (Border Gateway Protocol)
    • AS (Autonomous Systems)
    • DNS
    • Scaling and Designing of large storage solutions (30+TB)
    • Cloud backup and consolidation
    • Windows and GNU/Linux integration (SAMBA, AD, etc)
    • Remote Access of all shapes and kinds (RDP, VNC in both Windows and GNU/Linux)

Education

20022005

Bachelor in Computer Science

FEEVALE / Novo Hamburgo / RS / Brazil

Started studying, and stopped in 2005. Didn't complete.

20102011

Teaching degree in Computer Science

FACOS / Osório / RS / Brazil

Started, and stopped, because I've lost the discount (I was an employee at the time). Didn't complete.

2014????

System Analysis and Development

IFRS - Osório / Osório / RS / Brazil

Started studying, not sure when I will get the degree (no, I don't have a degree - yet) :)