Experience
They say in order to succeed, you must fail.
That's the exciting part about coding – it gives you that
exhilirating adrenaline rush to push you further.
It's not about the number of languages or tools that you know. It's important to learn
how programming languages work, so you can pick up new ones when you need them.
Tools I use regularly:
OS: Arch Linux, Ubuntu (Server), Debian (Server), LineageOS, Raspbian
Utilities: bash, zsh, nano, LaTeX, nginx, Docker, systemd
Backend/Servers:
Node.js, PostgreSQL, MariaDB/MySQL, CouchDB, Nginx, Apache2, Ruby, AJAX, REST, PHP, Linux
DevOps, CI/CD:
Jenkins (Groovy), Kubernetes, Docker
Frontend Web Development:
JavaScript, JQuery, CSS, Node.js, Bootstrap
General:
Python, Java, C++, C, C#, Visual Basic, .NET Framework
Mobile:
Objective-C (iOS), Pebble Apps (JS/C)
Hardware:
Hardware Engineering (firmware, assembly, etc.)
PC Maintenance, Repair, Custom Builds
Arduino & Electronics
Network Setup (Router, Home Server)
Design:
Graphic Design (GIMP, Krita, Inkscape, Photoshop, Illustrator)
2D/3D Animation (Adobe Animate, Maya)
Video Editing (Kdenlive, Adobe Premiere, Final Cut Pro)
Research / Other Interests:
Science: Biodiversity, Cartography, Neuroscience, Chemistry, Psychology
Mathematics: Theory of Computation, Algorithms, Statistics
Computers/Electronics: Software Engineering, Machine Learning, Open Source Hardware/Software, Cryptography, Operating Systems, Computer Architecture, Neural Networks