Geshan has been active in the “Developer Nepal” community for many years. I’ve known Geshan since we founded YoungInnovations back in 2006 along with other friends. I know him as someone who is constantly writing, thinking, sharing and engaging in the community. The DN:Newsletter team reached out to him for our very first issue and he happily offered us his interview.
Geshan is a software engineer with more than a decade of software engineering experience. Currently, he is living in Sydney, Australia serving THE ICONIC as a lead software engineer.
Enjoy the interview.
Q. What were your first steps in programming?
Like most of us, I was fascinated by computer games. I am from the Prince of Persia era. Computers were rare then but my uncle had gotten a new 486 for work (he used to work in the IT department of a bank). That black thing (DOS) with white text, to type a command and make things happen captivated me.
Later in 1998, I got my first computer and I used to play a lot of Fifa 98 back then. Slowly in 1999, I was drawn to web development (if you can even call it that) when my cousin built a website. I created some websites back in 1999-2000 after finishing SLC on my first desktop, a Pentium 1. Having a Pentium computer used to be a thing of pride in those days.
One of these websites turned out to be Nepalilyrics.150m.com.
I had a neighborhood friend who was a Nepali music fan. He used to write Nepali lyrics in a notebook. I took some of that and put it on the website. I connected the radio (FM) to my sound card input on my second desktop (a Pentium 2 I believe) so that I could record the songs playing on FM and listen to them again to write up the lyrics. Yes, it was crazy, not sure where I got that motivation from looking at it 20 years down the line.
The first time I was paid for creating a website was for an INGO for my father’s friend probably around 2002. Then I did my internship at South Asia Partnership International, another INGO, where I was hired later. My first project was AisaCommons.org (although the site is down now). This was around 2006/07 and I was working on Drupal (a content management framework).
My second job was at CodeArts as a junior developer where I got to learn a lot. I would like to thank Brijen dai and Aman dai for betting on me. They showed tremendous belief by handing out the responsibility of a full client project to a junior developer like myself.
Q. What made you start YoungInnovations?
The YoungInnovations story is a fun one. We came together to revamp the Nepali lyrics website which I had put up online. We transformed it into HamroLyrics in 2006/07. In the meantime, we got a couple of Drupal projects, and to get the money for those projects we needed a legal entity. So then we set up a company.
In 2008, I also applied to Yomari but never heard back from them, so switching to YoungInnovations was a natural transition.
YoungInnovations has now grown to a 40+ person company (although I am not actively involved with YIPL at this time).
Q. What are some lessons from your college, internship, and career that you can share?
From college, I’d say learn from the practitioners and not just the people who only teach. We had a lecturer who had built a banking software and the way he taught C/C++ was much better than someone who hasn’t been practicing outside of academia.
When you are an intern, you have to be like a sponge, and absorb and learn as much as you can.
In my career I’ve always found that software needs to adapt to business needs, rarely the other way round (unless you are buying an ERP like SAP). Code is one of the ways to solve problems but try to think beyond that. It’s more difficult to ensure effective communication than to execute a function; you cannot do test driven development (TDD) for interpersonal communication.
Q. Many fresh graduates find it challenging to find the “right job”. Even those with jobs can often feel stagnant in their roles. What is your advice for young graduates to kick start their careers and progress consistently?
The first thing I would say is, find a place that matches your level of skill set, get the basics right and then you can gradually grow yourself.
Another important yet often overlooked aspect is soft skills. I have seen technically astute developers struggle due to their communication skills, or lack thereof. Strike a balance between being a good programmer and an effective communicator.
Making yourself and your work visible is also very important. Use social media to your advantage.
Build a brand for yourself, contribute to open source software (OSS), network with the right people, and find a mentor if you can.
I talk about this in my blog post: “5 practical steps to land your first tech job”.
Another important tip is your resume needs to be as sharp as a butcher’s knife. Recruiters spend an average of 6 seconds on a resume, so work on it. More on this here.
Career progress and success mean different things to different people. So work on yourself first and success will follow, whether it’s money or titles. Don’t be afraid to look for other opportunities if you’re not seeing any growth in the current one.
Q. You have experienced living and working in Nepal, Europe, the Middle East, and now Australia. Have these experiences helped you to grow differently than if you stayed in the same place? Can you compare it to if you had only worked in Nepal?
Leaving your country, family, friends and your support network is never easy, but the experience does help you grow personally.
The biggest thing about working abroad has been the scale of systems I’ve had the chance to work on. What works for 10 users may not work for 1000 users. These are the experiences that help you grow. Millions of users depend on the code we produce and it works pretty well, which is a sentence I probably wouldn’t have been able to say had I stayed in Nepal.
Another big part of my experience has also been the diversity of countries I have lived in. The cultural differences between Nepal, the Netherlands, UAE, and Australia have shaped my mind in different ways.
Q. You mentioned working abroad as a reason for your growth. How can developers in Nepal attain the same level of technical expertise without having to migrate?
As far as I know, software engineering is still done in a basic way by the majority of companies in Nepal.
Companies need to embrace a culture of better quality software from both technical and non-technical aspects.
Covid-19 might also help in terms of opening doors for remote opportunities for you to get that experience.
Q. How did you first get involved with the Developers Nepal (DN) community?
I first got involved with the dev community back in 2006. We had a meeting to plan Software Freedom Day and it gave me a sense of accomplishment by giving back to the community. From then onwards, I helped organize various DN meetups and also spoke at quite a few.
Here are a couple of my talks from 2014 and 2017:
Every now and then, I spam the DN Facebook groups with my new blog posts so developers there can benefit from my learnings.
Q. Are there any aspects of the DN community that you think could be improved? What differences do you see between DN and other international communities?
It all boils down to this post/announcement I made in 2017. We need attainable goals like getting more community leaders, having a cadence in meetups and things like that.
For instance, the recent CNCF Kathmandu Meetup where Raju Dawadi got Kelsey Hightower was amazing. (https://www.linkedin.com/feed/update/urn:li:activity:6708404026205114369/)
Communities also depend massively on voluntary contributions and the best people who can contribute aren’t people like us with families and work. So we need to be able to channel the energy of young people into positive contributions.
Q. Many people know you through your blog and twitter. What keeps you motivated to continue writing and how does this relate to your branding?
I have been blogging for 14 years now and what works for me is setting clear goals. I always set yearly goals for myself and one of them is writing a certain number of blog posts. Although I am lagging behind this year, I will make sure I catch up.
Twitter or any other social media is important for your branding. What you share will set up an image of you in the audience’s mind and you can use that to your advantage and accentuate yourself as a thought leader in any area.
I was once reached out for by a CTO for a role in his company. That wouldn’t have happened without personal branding.
Q. Having been in the industry for more than a decade, you must have experienced many changes in the web development field. The don'ts and bad practices of yesterday are becoming the de-facto standard of today. How do you deal with self biases and un-learning?
Everything here boils down to the basics.
Make sure to learn the things that are language and framework agnostic and don’t get married to technology.
You of course need to follow the latest trends but make sure you’re applying them with the repercussions in mind. You have to keep sharpening your skills, and keep on learning, but take what you learn with a grain of salt.
Q. What side projects are you involved in and how has it helped?
In 2019, I re-architected Nepal News English twitter app. The app aggregates news about Nepal from 14+ Nepali or international sources. It started in 2014 so I could update myself about Nepal. I put together some free services to make it work but by 2018/19 it became too restrictive. So I wrote small scrapers and used some RSS readers to get the job done. It runs for $0 a month on Google cloud and has 12.2k followers as of today.
Very recently I started AU Tech Jobs, a job aggregator and application tracking system with a special focus on companies that sponsor work visas in Australia. A lot of IT students and graduates in Australia end up working in jobs outside of the tech industry. I wanted to solve this issue. Currently 25+ people, mostly students, are contributing to this project. The app has a fair amount of usage and I am thankful to everyone for their efforts.
Q. How are you looking forward to growing as a developer in 2021 and beyond?
This is a difficult one to answer. Right now I want to break the glass ceiling of “Senior software engineer” and it is proving to be difficult. Another aspect is a Lead software engineer at a small company might not even be considered a Senior at a FAANG. There are many ways to look at it.
One more thing to add in terms of growth is to make your learnings public in the form of blog posts, talks, or some other contribution. It will help you grow in all aspects.
Q: In an alternate universe where Geshan didn’t pick computers, what profession would Geshan be involved in?
I am not good at very many things. I can’t even play a musical instrument. Maybe I would have become a banker like my parents. But even for that to happen I don’t like math and my accounting skills are surely below par.
I remember as a kid I wanted to become a pilot (as becoming a doctor was too cliche). Maybe I would have taken that aspiration seriously. I have no idea.
Q. Any last words you’d like to leave our readers with?
The best way to do it is to plan where you want to be in the next 3-5 years and backtrack. This is the same suggestion I gave to my younger cousins when they wanted to choose the tech field for their undergrad.
Remember to be humble - I have never seen an arrogant person reach greater heights in their career.
Also make sure you are setting a strong foundation. Learn the roots correctly and the branches and leaves will fall in place automatically.
Developers Nepal Newsletter is a collaborative effort to highlight technical achievements in our community. If you have any content that you would like to recommend to us, reach out to us at firstname.lastname@example.org.
Also please sign-up to receive our future posts in your email. (We promise, we won’t spam).
Want to be kept up-to-date?