Note: When you read technology or tech: read it as software development, programming or app development in general. This post is my second attempt to look at the four years of computer science/engineering education in Nepal. The first one was more about “education and the course itself” and this one is more about thinking of college education as career building opportunity from day one.
Split that into blocks of four. Let’s discuss the 5th and the 6th block. Yes, the pre and early twenties. Did you choose a career or at least made up your mind about what you’ll do as a professional in life on your 5th block? Or on 6th one? Or still, are undecided about your future in late twenties?
I am. Running out of my twenties too quickly and still feeling short of long-term thoughts about what am I supposed to do in the coming days. But I realized somehow during my school years that I am going to dig into technology as far as I can, as deep as I can, and until I can.
Is it that bad ? Not really. No one ever could tell about the future. The best thing one could do now prepares. Think. Plan. Execute hope. I’m doing the same. But it would have been a lot easier with the knowledge of how the “technology business” works in real life while I was starting. No one taught that aspect really. It’s a very tough experience that you learn yourself through repeated failures, extensive research, and dedicated learning on the subject.
A decade and a half went through since school struggling with ideas, rises and falls and I have built a small habit of caring less about nontech stuff in my life. That’s because nobody from family to local newspapers ever cared about tech, but it’s what I care about most. Allow me to write about what I would have done differently in my early twenties to build a career in tech not considering those and their views who never cared. Here follows some of my observations running a software company for a few years after college. Some experiences. Some lessons learned from attending and observing Silicon Valley’s startup ecosystem:
I studied what’s known as Computer Engineering. I had thought they will teach me how to write software that I can sell to Nepalese and earn money. I had thought they will teach me to write awesome software and web applications. Instead, they taught about heat, molecules, and the science of electrochemical reactions. And how uncertain the universe is. I only remember the lecture about that uncertain thing, it’s damn true. I had set the wrong expectations of a college education. It changed everything and I now understand why I bunked classes to research how to build a website or how to run a robot from a computer.
The computer Science course doesn’t teach about writing software for enterprise or for a bank but it exposes you infinitesimally to the beginning and theoretical aspects of how to write software, focusing more on mathematical and fundamental aspects of computers and how they work together in a computer system. I wanted to look upwards to the world of real-life software development, but the college course wanted me to look down and go deep inside the computer, its microprocessor, RAM, ROM, and silicon chips. I did. But I couldn’t bear the thermonuclear reactions!
That knowledge didn’t hurt. The course did its job. It is always wrong expectations out of the course that will put you under pressure. I have a feeling that I could have turned better professional or a business guy if I’d have joined a year or two-long software development or professional programming certification course. Followed by a business development study. What I wanted to learn was to build beautiful websites and mobile applications. Or maybe I should have joined an art and design course, I envy a career of a professional designer. They are the real creators.
To engineering students, I’d suggest talking with seniors, trusted teachers, and mentors to have a clear picture of what to expect from a computer science course. Research as far as practicable for you before you make a decision to join a college to spend the four most energetic and foundational years of your career and life. You don’t need to get a degree in computer science to write software that makes business. That could earn you a living. I mean, you could do an Arts or Music major and still write awesome software and application for a living.
Teachers don’t know everything but they are never wrong on facts! If they don’t know they’ll let you know after they confirm it or learn from their trusted re/sources. I understood this after I started teaching. Being a teacher is by far the hardest job. It’s very hard to transfer one’s skills and knowledge to a fresher. But feels very rewarding when one of the twenty students standing in front of you raises her hand to answer your query. I now know why the teacher’s job gets so much respect in our society.
The teacher comes to teach you under the scope of his/her course. But it’s your job to ask more in-turn teach them as well. I mean, push them forward or learn as much as you can from them. It’s a win-win for both of you. If you do well, and excel then your teacher will be the happiest person to hear about it.
Build a trusting relationship with a few teachers, could be your favorite subject teacher or could be a senior professor. Consider them as your lifelong mentors. On study and on your professional career.
Life decisions, business decisions, and professional decisions made alone can be costly. Having someone to go to for consultation when in need of suggestions is a very good thing. College years are the perfect time to identify a few people who you’d consider worth getting ideas and feedback from. Consult your mentors before you are hit by an idea to do something, to build some software products. It’s always better to ask early than later. The tough part is to figure out who listens to you, who could give you valuable feedback and in need could assist you in all possible ways.
College life is a wonderful place to build all sorts of soft skills in you. Make new friends who share your passion. Participate in ECA. Build presentation skills. Speak in front of an audience. Attend meetings with college management. Learn about the dynamics of different sets of meetings and events you attend. Understand how they add perspectives to your day-to-day life. Know who are your true friends (read: trusted). Raise your right hand and count five friends in your fingers that you trust most and share your passion, dreams, and ideas with them, letting them know you care. Know what’s your favorite teacher. Who’s the most annoying person in your college? Who is trustworthy. Who’s near, close, or far to you on a personal level? Talk more with people and less with computers during college hours.
Networking is easy. Go show up and speak when someone asks in public to raise a hand. But networking badly could ruin you, your study, and your career as a whole. It did hurt me badly. You won’t have a time called “your time” to work on “ideas” and study for “exams”. You won’t know who are “your friends” and how many of them consider you “their friend”. The best thing is to identify what kind of activities, friends, and people will gear you up toward your goal of joining the college in the first place and stick to that with full horsepower, for four years. Yes.
College life turns beautiful because of your passion, your friends, and your teachers. A conscious decision on choosing and limiting yourself to them won’t hurt.
The more you network with people, the more you open up, and share ideas and your skills with other – the more you discover about yourself and your specialties and limitations. It’s good to identify our likes and dislikes early on.
I used to tell others “I’m passionate about programming”. Programming is my hobby. But later I realize I can’t just make a business and make a living out of it if the only thing I enjoy doing is writing code. There is a saying that when you enjoy your work you won’t have to work a single day in your life. It’s true being passionate about your profession is wonderful to experience, but it’s not sufficient if we ought to establish a business out of it. If we plan to build a product and earn its market share – we need more skills and hobbies than just programming. It’s just one aspect of the whole software development lifecycle.
We join computer science more or less to build a career in the technology sector. Growing yourself as a programmer is one option. And enjoyable too. But, identifying your hobbies, and different things you are passionate about and having in-depth knowledge of the different domains opens up you to a wide variety of ideas and problems that you can solve with programming.
One idea identified, solved, built, and sold well will change your and your customer’s life forever.
I handled exams badly. I couldn’t figure out how to handle tough subjects. I enjoyed building robots when everyone else went off the team to prepare for exams. I couldn’t figure out who of the 400 friends I thought I had was ready to help me help him. And most of all I didn’t ask for assistance, I didn’t attend the classes on tough subjects, thought they were boring, they weren’t but slowly began to appear tougher. I couldn’t do well in most of the tough subjects.
Handle exams well, especially those which you figure out are tough. Split the whole subject into two sets – easy for you vs. tough for you. Now focus fully on “tough for you subjects”. Consult friends, teachers, internet, and do all things you can to make those short-listed tough subjects shift to your easy list. Easy subjects are easy because you already know enough basics to get started on your own.
One more thing is to learn to prioritize exams. Put them labeled number one on your to-do list. If it’s exam time – nothing else comes under your hand. Stick to the rule.
If you are planning for graduation or a Ph.D. good marks will unlock lots of achievements. Only a few will care about your grades when you have skills. But if you like me couldn’t figure out ahead what to expect from college – remember that we need to show certificates as a fresher for jobs in Nepal. Unless you yourself or your friends run a company.
Let me explain it. If computer engineering education in Nepal were a software product you would have three exits, it’s a pattern shown by current Computer Science and Engineering graduates.
Exit 1 (Most): Start a job as a fresher/intern, six months/one year.
Exit 2 (Handful): Become a freelance software engineer/developer
Exit 3 (Few): You start a software company or your friends start a software company and you join them as a team/employee (read: start an outsourcing company, that’s what is available for reference when we look for what others / other software companies are doing in Nepal and their business)
But If I were to re-start my college life, I’d consider Exit 4, which is a new kind of practice happening in the current tech scene around the world:
Exit 4 (Rare in Nepal): Find one idea. Find customers for your idea in Nepal or worldwide (don’t think about writing code / developing a product before you have someone ready to pay for your to-be-built product). Build a team of your friends to cover – the engineering, marketing, and business aspect of the product. Build a minimal functional product. Launch the product before you graduate. Until your first paying customer doesn’t ask for a VAT / TAX payment receipt or investors want to see legal papers of your product don’t ever think to register a software company (coz: it’s a waste of money even before you have it. Why invest if the idea itself have no value for customers and your future ?)
I’d try for Exit 4 i.e Sell my own idea. Learn. Iterate. Build skill sets. If I couldn’t sell/build / launch the product then only I’d rather go for Exit 1 which is joining other companies and gaining skills that sell. After years, will think about Exit 2 i.e freelancing. Then only consider Exit 3 (start service company). But if Exit 4 worked, I’d never look at other options. And work on my product for years and years.
We should try to build one awesome product and sell that product as long as possible. Exit 4 is a mystery that our Nepali Engineers have yet to figure out.
Eg. See how Mark Zukeberger’s Facebook worked well for the last 8+ years. Watch him in video interviews saying he started Facebook with just USD 85. World’s top engineers are working on facebook.com for the last 8 years. On a single product? What are they doing there? How facebook is making a profit if all its services are free of cost for the users?
Eg. See how two graduates built the multinational company Google out of a search product. How does Google earn?
Search on the internet for many small ventures and startups that are started by college students and are really doing good business. It’s doable.
When I was in 4th semester of my college, I thought I had an awesome idea – “I wanted to start a software company“. I did. Never had a second thought about how will I make business on top of the idea. Doing business was never the idea, starting a company was.
I had put a good effort to learn and build programming skills that were selling well in Nepalese software companies at that time. I was more affirmative about my skill sets but I never thought about “doing business writing code”. I was wrong about the idea of “starting a company”. Now if I were in college, I won’t pass starting a software company even as an idea. It’s a commitment to invest time/money not knowing what you’re going in for. It’s a complete waste of time if done without a proper understanding of how things work in the software business world.
A company is not about college projects. Toy projects. Your passionate project. Fun project. Hobby project. Or about how talented a programmer you are. It’s more about building something that people will pay for (product turned company – Exit 4). Selling it. Making money out of it and earning a living. It’s more about having skills and a team that could address/solve other people’s automation/software needs and problems (a service company/outsourcing company).
Now I realized I had no clue at that time about the “business aspect” of my then-thought-awesome company. Every x or y company was doing good, I would too, It was more of a gut feeling, an intuition. But business needs customers and looking around in Kathmandu valley I still don’t see enough customers (who’d pay enough for our Made in Nepal apps / software).
I’m suggesting you consider Exit 4. So let’s say you want to invest those most energetic and awesome four years of your life for Exit 4 along with your college education, but which market or customer base should you target? local customers or global customers?
Would local customers pay for our product?
Our (local) customers/users are clueless about how much time and effort a team of engineers has to dedicate to build functional software that provides value or suits their business needs. I realized that when one of my first few customers asked me to build a website for NRs. 2K. I still see such requests. Let me tell you something about the customer’s point of view on that low valuation –
“the website was less priority for their business, they have no idea why they are investing in the website but they wanted to have an online presence anyway, everyone is doing it, and it looks cool to have an email address and your own domain name, a cheap bargain”.
Why on earth would make they think that a website can be developed at such a low cost? That’s not our problem, nor theirs. Our to-be customers are addicted to smoke and booze but they don’t have a clue about what a website or software is worth. What a website can do to their business? Nothing. So why pay more?
Our customers do not see “value” in technology. In Nepal, we haven’t shown or built anything in the tech sector that has given real value in people’s life or changed people’s lives for the better. But we’re all set up with a software company and cursing people for underestimating our talents. That’s the wrong way of doing business. Or wrong target customers. Either you join a team of outsourcing fellows. Or build something that’s targeted to the world (where people have a habit of paying for software) and solve one problem with your programming skills which they’d thankfully pay for.
The problem is we don’t have a market yet. We don’t have a product yet which tried to establish a market. Conscious Customers – rare.
It’s all about creating value in people’s life. If the use or implementation of technology doesn’t create value in people’s life – why they’d consider it worth the money? Or even time? We should build products that’d create value for our local customers. People in Nepal are buying and selling goods and stuff. On how many of those “money flowing” sector can you try capturing the market share with your product?
Would you target those people as your first customer? A small subset of tech customers exists in Nepal but you do market research for your product. When targeting the Nepali market from your service company treat your to be a customer as your student. Teach them A, B, C, and D of what a website is, a mobile app, or software, why it takes a considerable amount of time to build, what they could achieve from the investment, tell them how they can grow their business using technology and why you are asking for a little high pay. Explain them.
For specific products, keep in mind from the beginning to expand to the global market. Paying customers for your product could live outside of Nepal. However, while starting to target a small subset of users eg. teachers, students, photographers, parents, kids, etc. Build products for a few customers and expand on that user base.
I built a product called Online Baghchal, I built it without even considering how I’d make money out of it. I and my team invested two years of time and effort in the product but where’s the profit? We executed the tech aspect of the product well but never thought about its business aspect. Which was a completely wrong way of investing our time and money.
Most ideas are already developed. Or floating around the internet or coffee shops. Before you start writing even one line of code – you should validate your idea. By validate I mean, you should know that there are people who will buy your product. Follow these simple steps to find an idea to invest your valuable years of life:
Step 1: Find what you are passionate about. Eg. I’m passionate about writing code but that is too vague.
Rather I’m passionate about “cooking food” which sounds more like a passion.
Step 2: Find one problem or idea that exists in the domain of your passionate area. Eg. I want to make a web app to allow people to prepare recipes online and will deliver the cooked food to their homes. I will charge for food/delivery.
Step 3: Find a customer for your idea. Don’t even write a single line of code yet. Talk with people, a small set of target customers, and most probably they’ll share the same passion as you do since your product is about what you’re passionate about. Find how many people will pay to buy the product. 10? How much would they pay?
Step 4: Confirm that your idea (to be product) has value for customers, has customers and can make sustainable business for you. Calculate profits/expenses etc.
Step 5: Does your going to be product have paying customers? Can be profitable?
If yes: Goto Step 6
If no: Goto Step 1. Start with the next idea or the next thing you’re passionate about. Forget that idea if it doesn’t has market / paying customers.
Step 6: Build a minimal functional product and launch it.
Step 7: Ask your first 10 customers to use the product. And Build the product for them onwards.
Step 8: Continue developing. Hacking. Improving. Marketing. Selling. Growing.
1. Which programming language do you recommend?
-> Any language will work. How depth or breadth could you go? That’s important.
2. We don’t have a payment system in Nepal. It’s a problem we can’t charge customers.
-> It’s not your first problem. People in Nepal are paying money, we have traditional ways – if your products do good, you’ll figure out why the payment system is not a problem. Focus on building awesome products.
If your target customers are global, it’s easy. Provide free service for the Nepali user base and charge global customers the money. Don’t ever think payment systems or gateways are your number one barrier. They are merely an excuse for not starting to work on your idea.
3. We don’t have investors to invest money in our ideas.
-> Who is investing in you so far? How did you join the college and are paying the college fee? It’s not a problem. We don’t need investors to work on ideas we need paying customers since “idea day”, count yourself as customer number 1.
4. I just joined college. What can I do?
-> Read this post 5 times. If you don’t have time for that – build your programming skills and soft skills. Remember, these four years in college could be the most enjoyable, energetic, and productive years of your life.
Everything I’ve talked about above has got inspiration by learning, attending, and observing the technology scene in Nepal and US / EU for the last few years. The internet knows these small ideas turned products into startups. A company is only legally established when your product sees a viable business. A company can be built out of only one well-executed product. We have enough service/outsourcing companies in Nepal but not even a single successful product company. The process to find ideas, and validate them before writing code is well known as Lean Startup Concept. Go search the internet and learn more about the topics. We need more products in Nepal than ever in our history of technology adoption. The time is now. It all starts with our college students.
This text was written when digital payment in Nepal was not in the scene.
Those Four Years in College
Therefore you are Rancchoddas Shyamaldas Chanchad