I’m an IT professional, I’ve been working in the IT industry for more than 10 years, I’m a (soon-to-be) Information Systems Engineer (ten courses left), and I’m also an Electronic Technician (technical high school). I have several Microsoft Certifications and I also completed all four semesters of Cisco’s CCNA courses.
I started my professional career at the bottom of the OSI Model, so-to-speak, mostly oriented to hardware, electronics and networking, then moved my way up to the intermediate layers, if you want, (IT Infrastructure Administrator, SysAdmin) and currently aim to move to the upper layer (a.k.a. Application Layer, Software).
In this regard, in the past few years, I’ve been learning and doing many fun things @ UTN.BA, and on my own:
-A simple, proof of concept, Cryptographic RSA Key Pair generator with a message encryption/decryption system. (C#, Math) (2015)
–A full fledged simulation of an operating system (C, Linux, TCP Sockets, 2017): 5 different processes, CPU (multiple instances), RAM (with a cache), DISK (single instance), CONSOLE (multiple instances) and the KERNEL (single instance), each one of them would run on a different computer, they would communicate using a custom TCP/IP protocol, and run simple scripts written in an invented language that allows you to allocate ram, write to disk, perform operations, etc (resembling C). You can open a new console, connect to the system and run scripts, get the output, add or remove cpus on the fly, etc.
Hardest of all of the projects, mostly because of sync issues, race conditions, lots of code in a very short amount of time.
-A “Market Stock Analysis” Website (Velocity, Google API, Jackson, Java, MySQL, Hibernate, Spark, Heroku, Memcache, Quartz, MongoDB, Maven) (2017)
Mostly oriented to teach us to take software design and architectural decisions (for instance, the APIs, the way we store the data, the model we use and so on), and be able to understand the pros and cons of each design, code smells, design patterns, also to work with changing requirements, incremental changes and many different technologies, like migrating desktop apps to web apps, and then to the cloud.
-A Hotel Management System including a database migration from a legacy system (C#, SQL) (2018)
–A discrete simulation of a software development team (C#, Statistics, 2018), the software simulates the arrival of easy, medium and hard Jira tickets (bugs or features), for them to be solved by a certain amount of Jr., SSr, and Sr. developers.
Each ticket arrives and each developer solves each ticket according to a probability distribution.
Then the software, simulates the system and calculates the performance of each different team configuration.
Paper (spanish only): https://drive.google.com/file/d/1sNVkKaCVLK74qJMZduDaDyl9Yvldm_l0/view?usp=sharing
-A demo of a video game. Underwater theme. (C#, HLSL, BulletSharp physics engine, 2019)
-A Musical Notation Parser using Monadic Parser Combinators (Scala, 2019)
Basically functional-object programming paradigm combination and monads.
-A framework to provide Invariants (Cross cutting concerns), Pre and Post Conditions to methods using Meta programming. (Ruby, 2019)
So just using a simple web form our team can deploy virtual machines to our different environments (geographical locations, virtualization clusters, domains), saving us lots of manual work.
So… What’s next for me?
AZ-400 Azure DevOps Exam (to get the Azure DevOps Expert Engineer certification) (mission complete)
-AI-100 Azure AI Associate Exam
-Some of the remaining courses to get my Systems Engineering degree:
Artificial Intelligence I and II, Concurrent Software Architecture, Mobile Apps Development, Advanced Technics for Building Software, Embedded Robotics Systems, NoSQL DBs, and the Degree Final Project.
See you around!