I’m a full-stack developer at LottieFiles. That essentially means I build the user interface of an app and the logic or the magic that actually makes an app functional and usable. It requires a bit of finesse juggling both design thinking as well as logic. Both different types of creativity however, require lots of practice and even guidance when first getting started. Right now at LottieFiles, I develop tools and plugins; this includes third party integrations, plugins, open-source libraries, and internal libraries.
I grew up on a small island in the middle of the Indian Ocean, and my parents sacrificed a great many things to ensure that I was given an education. They also encouraged me to get a job as soon as high school was over at 16 years old. My first ever job was at a computer store as a retail salesperson, and eventually, I went on to become an amateur computer technician repairing and building computer systems.
Once college was over, I soon applied for a student loan and took it on myself to expand my skill-set with computers, and what better field to jump into than computer programming. It’s a field where you can build something out of nothing but knowledge, a field that demands solving unique problems every day, that always keeps you on your toes as it expands ever so fast. It is by no means an easy job to be a programmer; programmers build systems and infrastructures oftentimes intangible and not visible to the eye but scaling larger than entire skyscrapers and sometimes even cities. The complexity, the scale, and partly the exposure to computers, computer games, the internet, and the fun I had as a kid exploring different apps and games have a lot to do with why I do what I do now. It’s a mixture of curiosity, a little push from the environment I grew up in, and the demand for the skill-set is what kept me on this path.
Becoming a programmer means you need to spend a lot of time in front of a computer. Like any skill, it takes practice to become really good at something; they say one needs to invest ten thousand hours to master something. Well, with that in mind, I'm going to be practical and say that proper rest and taking care of yourself is important; your body is just as important as your mind. Stand every now and then, maintain good posture when sitting, rest your eyes, and rest your mind when you feel tired. In regards to a career as a programmer, I’d say the most important thing is to keep in mind that it takes time, effort, and patience to become a programmer. And once you become one, keep in mind that it's a lifelong journey of learning and absorbing knowledge as the field constantly evolves, and staying relevant can be incredibly hard.
Going deeper into more technical advice, I'd say that proper naming conventions, abstracting out code that's reusable when you can, following engineering principles, using specific languages where necessary rather than always preferring one specific language, and having that flexibility to adapt to new technologies goes a long way.
In our society, demand for a skill-set determines how lucrative a field is, and programming is definitely a lucrative field high in demand where the prerequisite is a willingness to learn and patience. It's a good career path, one that will let you work from anywhere if you have a laptop and some wifi available. That aside, there are some other skills that I do feel are important as well. Most people think being a programmer just means taking orders and completing tasks and that the only interaction happens between you and the computer. On the contrary, programming involves a lot of communication and teamwork; these are basic skills but important ones in any field. The work you do has to be explained in layman's terms to your colleagues who don't work in tech, the value of your work must be explained to your bosses; you are just one person, and it takes an entire village to truly build something of scale, and solid teamwork requires consistent communication between you and your team members daily. So always keep in mind that these basic skills are just as important as the technical skills.
Before joining LottieFiles, I was the CTO and founding member of an ad-tech company which two friends and I started building the same day I graduated from university. Slowly I became friends with other developers, and of them was the lead web developer at LottieFiles and also the CTO at LottieFiles. LottieFiles was a seedling back then, maybe a team of just seven people.
On and off, I worked on other freelance projects together with some of the LottieFiles staff, and frequently got invited to apply to LottieFiles, but it was hard letting go of a company that I had put so much effort into. Two things convinced me to let go of my previous role and jump into LottieFiles, one was the team at LottieFiles, and the other was the legacy that LottieFiles aimed to create. The team (as I later came to know) was incredibly talented, with each person working at unprecedented speeds and delivering exceptional quality with amazing attention to detail. I was convinced that just being around most of them would help me grow my career and that was the number one reason. The second reason being that the team aims to create a legacy that lasts. Attempting to build a file format that would live on in the books of history by making a small dent in the world of ever-changing technology, touching the animation and design space across the world, and impacting the lives of millions of people was irresistible. This is an industry space that hasn't seen disruption since the age of Flash, and LottieFiles promises a new frontier for animations. There's a certain novelty to being part of such a story, and that's as noble a reason as any.