It was a scorching April afternoon, and I could already tell it was going to be a long day at the office. It may continue into the late hours. We were in the process of delivering one of our new products when we discovered that a problem with the browser cookie that I had neglected when designing had returned stronger than ever to bite us. Nonetheless, after several iterations and extensive brainstorming with my technical architect Rajith, I was able to identify and eliminate the bug.
And that’s exactly what I did. As the day came to a close, I discovered something new (yet again).
To return to the present, we must first acknowledge that the summer months are over and that rains have been falling virtually every day since then. In the midst of all of this, the world witnessed the release of SignEasy for Zoho Writer, which was developed by the Zoho team utilizing the SignEasy API platform. That scorching afternoon four months ago had been occupied with the release of the beta version of the API platform, which I had been working on
Here’s some more information about the story’s backstory. During that period, I had only recently begun working on server-side apps, which was something I had never done before. I work as an Android developer and have been creating Android applications for more than four years, including SignEasy. (And, yes, I did write a blog post on Android code cleanup during my first few months at SignEasy.)
I am pleased with my accomplishments as an Android developer. This area appeals to me because of the sense of belonging, the simplicity of entry, and the opportunities it provides. It’s undeniably true that love is here to stay. Earlier this year, the marketing team expressed a desire to develop a webhook service to develop a lead generation process. As it turned out, the backend team was completely overwhelmed. I learned about the requirement sometime in the middle of everything. I’d finished my sprints and thought it would be interesting to get my hands dirty with PHP for a change.
And, I feel, this is the point at which everything began. That was most likely the first time I had written backend code in my life. My colleagues on the backend team were a little annoyed when I struck a snag, but I eventually got the job done.
I had no idea that a greater task was on the horizon for me!
The deployment of the webhook had strengthened my confidence in backend programming, as well as, to a certain extent, the confidence of my management. I was offered the opportunity to work on another backend programming project very immediately. It entailed working on the backend with Flask (Python) and the frontend with AngularJS. To begin, I needed to choose a codename for the project (something we do for all projects at SignEasy). Because of the enormity of the undertaking, there was nothing better for me to title it Project Himalaya than what it turned out to be. All of this while ensuring that the Android development process remains on schedule.
Instantaneously, I noticed myself shifting from “create a new fragment” and “add Gradle dependent” to “log into that server” and “mount a volume in docker.” We concentrate on getting data, processing it, and displaying it to users in a meaningful way when developing Android applications. The majority of our efforts are focused on the display and on making interaction as fluid as possible – things like offline caching, network handling, and memory management. Even though I found Android development to be difficult first, after a few years of battling with it, I had grown accustomed to the platform. Rather than being comfy, it is almost overly so.
Going into server application programming took me out of my comfort zone and sent me sliding down a rabbit hole of exponential learning and discovery. Every day, I was learning new things, and this has continued to this day.
The convoluted road to success
Exciting things happen when you go above and beyond your job responsibilities to learn and do something new at work. The journey to get there, on the other hand, is anything but straightforward. As I was taking on another backend project, I recognized that the Android sprints were also in full swing and that it was going to be a difficult journey. There were several occasions when I found myself working on both projects at the same time and feeling tugged in multiple ways. “This, too, shall pass!” became a familiar refrain for myself at that point.
Finally, we’re going forward with Android and backend development in conjunction.
After successfully scaling Himalaya, I was charged with the responsibility of putting up a micro-service that would be integrated with the rest of our infrastructure. Yes, it was a little intimidating at first, but I truly enjoyed myself. Forward to the present, when I am working on optimizing our infrastructure by utilizing cutting-edge technologies from AWS to achieve more scalability. Meanwhile, did I mention that we also issued an Android upgrade just a couple of weeks ago?
The shift in the weather and the movement of the tracks
Taking a deep dive into backend development has allowed me to broaden my horizons. I was able to look at a problem and imagine a complete solution from start to finish. This education has provided me with the capacity to comprehend systems and how small moving pieces may come together to build an environment of their own.
Also, I would like to encourage every programmer who reads this to learn a programming language that is fundamentally different from their primary language. This may require you to venture outside of your comfort zone and take on new duties, but it is a very exciting prospect. Python is a significantly different language from Java in my experience. Because Java is a strongly typed language and because of the way the language is constructed, it is required that you follow certain rules for it to compile. Python, on the other hand, is an interpreted programming language. You are under no obligation to adhere to any rules. Although you may not require classes, your application will still execute and be delivered to the server. (Unless, of course, it crashes in the middle of the night because you made a clerical error somewhere.)
Because of my experience with Java and Python, I have gained a greater appreciation for the value of structure and code quality. It also had a profound impact on my thinking as a coder when I imagined a particular object or scenario.
To summarise: yep, from scorching summers to refreshing rain, a great deal has changed.:)
One for the team, I suppose.
I was fortunate in that my team, particularly Rajith, my technical architect, was extremely understanding and willing to assist me and coach me throughout the process. The management team, on the other hand, was willing to take a chance by introducing me to the broad world of backend development while maintaining the belief that I would remain dedicated to my primary function of Android development. I believe that the environment you are in has a significant impact on how far you can go, and in my situation, my fortune was definitely on an upward trajectory. To put it mildly, this has been both a humbling and a thrilling experience – with both being there in equal measure.
After then, it’s on to the next beast in line.
It’s been both a wonderful and hectic voyage thus far. When I realized I could fit in my learning and implementation inside the deadline, I was overjoyed. Now, I’m even more thrilled to see my goods being used by our customers.
The adventure is still ongoing.
In the meanwhile, I would be delighted to assist anyone interested in learning more about backend development. I’d be happy to share my technical knowledge and provide some tips on what to look out for in the future. Please connect with me on Twitter! Or even better, stop by our office for a chat or a game of ping-pong whenever you have the chance.