Introduction
This post talks about the life of a boy who became a successful professional in the field of software development. This may not interest you, but perhaps it might be beneficial to others and so I thought of writing this.
Short Story
There was a boy who grew up in a small town, far away from the city, where life was simple. He always wanted to become an artist or an architect, but things changed after he graduated from high school, because his family couldn't afford to send him to a university. He understood because his family really had nothing. He started to look for a job so he could somehow help his family with their daily expenses. While he was walking on the streets, looking for a hiring sign, he saw a post outside a school that they were welcoming high-school graduates with a certain average to take a scholarship exam. He never wasted that opportunity and luckily he passed the exam. He was really proud to be one of the pioneer scholars back then. He tried looking for an architectural or at least a fine art-related course, but couldn’t find any because the schools only offered computer-related courses. Lucky for him, he had a computer programming background in high school. He never regretted taking up a computer course and he’s in fact thankful and grateful for the opportunity to study in college and he earned his BS Computer Science degree; thereby bagging a best programmer award at STI College. He could not have done it without the full support of his family, and most especially his school guidance counsellor, ma’am Agnes.
He never took a break after he graduated, because he really wanted to help his family and fulfill his personal goals. He packed his things and moved to a bigger city to look for a job. He really thought life was easy after college but living in a big city was hard and so was finding a job (sometimes with an empty stomach). He topped many exams and passed many interviews, but most big companies preferred university graduates. Hence, even if he passed the interviews, they hired someone else from a university. Yeah, it sucked. Why would they allow him to take the exam and call him for a personal interview, if they were just looking for university graduates? They could have just put a note in the job requirements. Anyway, instead of letting himself down, he took those experiences as his motivation to move forward. Therefore, he kept on looking for a job.
Twelve years ago, he was hired in a startup company and started his very first professional career as a PowerBuilder developer. Things didn’t go well and it only lasted for a few months, so he joined another small company as a Junior Web Developer. The salary offered was very low, but he still accepted the job, because he wasn’t after the pay, but the experience. Most small companies didn’t provide training and so as a fresher, it wasn’t easy during that time. He already had a task on the very first day and he struggled a lot, because he didn’t have experience in what they were using. He struggled because he was coming from a VB6 Windows App and classic ASP background and his project was ASP.NET Web app with C# as the Server-side language. As a self-taught guy, he borrowed a C# book from his co-worker and along with that, he looked for some online resources about ASP.NET and figured out how both the technologies are connected together.
He swam into the mud and got his hands dirty by muddling through the code and figuring out how things worked. A few weeks later, he started digesting things and was able to connect the dots in the picture. In less than a year, he gained a lot of experience and started to look for a better job to seek career growth. He then joined a big corporate company as a Software Engineer. Life was way better in terms of working environment and training, but sucked in terms of learning and building new things. This is because in most of the big corporate companies, you will be working with a product/software that you are going to support and maintain for the rest of your life. You will be lucky if you are assigned to build a new project from scratch. Also, most of the projects were very huge in terms of scope, which entailed many teams getting involved in them. In this case, you would have limited access and control over the project. In other words, if you are assigned in UI, you will only work and stick to that, because other folks will be working with the rest (e.g., business logic, database, data access, services, reporting, etc.).
Once, he was given a task to create a dashboard page for their product, wherein you can modify and customize widgets in a page and it's able to retain the settings for each user. Hearing those requirements sounded really tough for him and he couldn’t help but scratch his head! Therefore, he started looking into ASP.NET WebPart framework and that seemed to be a good candidate to fulfill the features of the dashboard. It actually works for most functionalities needed, but it’s a pain when one has to deal with the cross-browser issues. He couldn't find any resources on the Web that would somehow fix the issue and therefore, he joined the ASP.NET community to ask for help and guidance. He got answers and decided to build a composite control, which extends the WebPart base class. After that, he was able to finish the dashboard and the bonus is, he was given an R&D excellence award for that.
When he wasn’t swamped with his tasks or during his free time at work, he started building a Web app, where he was able to apply the things that he learned from reading, following tutorials, and the guidance from the technical forums. He learned a lot of things from building that Website and so he decided to give back to the community by helping fellow developers in forums. He tried answering simple questions back then and a simple “THANK YOU” response started his journey in contributing and helping more to the ASP.NET community. It was a very fulfilling experience for him, that he managed to help someone he hadn’t met in person. Since then, he helped by resolving hundreds, if not thousands, of questions in the forums and became an All-Star member in the official Microsoft ASP.NET forums. He received many congratulation messages for being able to reach that level. In addition to this, he became a Microsoft Influencer and that kept him motivated to contribute more. After a few years of being active in the forums, he noticed similar questions were frequently asked and so he decided to open up a free blog and started posting FAQs about ASP.NET Web development issues, so he could easily address people associated with it. His technical blog also served as his code repository, because he also posted tips and tricks that he encountered during his development.
In 2009, someone from Microsoft contacted him via email, informing him that he had been qualified for a Microsoft MVP nomination. At first, he was not aware of this, but he had seen some folks in the forums with MVP labels beside their names, but he didn’t pay attention to it, because he thought it was just some sort of a private role like a moderator or an admin. Therefore, he went ahead and searched for it. A couple of months later, he was awarded Microsoft MVP for ASP.NET/IIS.
He stayed in that big company for more than two years, because he enjoyed the project and most of all, he needed to gain experience and acquire more skill sets. He now works in an awesome small Research and Development company, where the learning and growth are available in abundance and the working environment is fun. On top of it all, he has wonderful coworkers and cool bosses.
The boy who grew up in a small town kept his patience and never gave up on his dreams and has grown as a professional developer and is writing this story.
Moral of the Story
Personal
I faced many challenges back in my early years, starting from school and up to looking for a job. There was a point in my life, where I said “life is so unfair” and it made me question why those people who were less fortunate were the ones who had to struggle more. As a person who grew up in a less fortunate family, I was required to study and work hard, because I didn’t have a choice. Well I do, everyone does, but I prefer not to die less fortunate. I have goals and dreams. I don’t want my family to live the life that I had experienced -- it’s really tough. I never gave up and was able to rise above those hardships in life and now I am able to fulfill my goals. I may not fulfill my dreams as an artist, but I became a professional developer and I never regretted it. I love what I’m doing and in my career, I have received many awards, within and outside the company for my passion and hard work. Hard work comes with good pay and good pay can do many things. I was able to buy things that I couldn’t imagine I would be able to afford. I was able to support my family. I was able to provide shelter and food for my kids and wife. I’ve been to many great places, within and outside my country. That’s just some of it. Remember, the challenges in this life make us strong and make us a better person. You just need to keep working hard and never stop chasing your goals. Hence, accept the challenges and appreciate life. Time will come and you will get what you deserve.
To the students, remember that it’s not important where you graduated, be it in a university or an institute does not matter. What matters is you believe in yourself and no dream is too big if you have the determination to succeed. Trust me, been there. :)
To our Guidance Counsellor, Ma’am Agnes dela Peña, if by chance you will stumble upon this article, I’d like to say thank you again. I wouldn’t be where I am now without you.
Work
Our job plays a vital role in our lives. We work for a living, unless you are born with a silver spoon in your mouth. We should take good care of our job by being productive and delivering output ahead of time. Remember: If you can’t deliver, your company might lose a client and if you don’t have clients, you will lose your job and if you lose your job? Think about your family.
For freshers, look for a job that best interests you. Don’t mind about the salary at this point, just get the job and gain experience. Eventually, you will get the pay that you deserve.
The developer community is the place where we go if we need help and guidance. It’s also a great place for learning. As a developer, the community helped me to enhance my skills to become better. Getting yourself involved in a community brings you a lot of learning, as you will not only learn many things, but you will also be able to make friends. In the community, I was more of a contributor where I help folks in order to resolve the issues and guide them in a right manner. To me, contributing in the community is a very fulfilling feeling and the more you contribute, the more you gain respect and sometimes with it, you will get rewards. Eventually, you will get something more powerful even than a bazooka which is: "Knowledge".
If you are passionate about the technologies and want to help your fellow developers, then I would really suggest to start contributing in the community. Now, if you are joining the community just to chase a reward, then you are probably doing it wrong. Chances are, you will not produce accurate and quality contributions, because you will be thinking of quantity over quality. A good example is giving links as a reply to a forum question; without any explanation to substantiate it. Worst is if the links provided were irrelevant to the question, because you didn’t read and understand the questions carefully.
Another thing worth mentioning is don’t answer a question in the forums and then say:
“If my reply helps. Please mark it as an answer” or “If you liked my answer, please click the accept answer button”.
Adding those remarks in your reply doesn’t add value to the thread and definitely doesn’t give you anything special. It’s like you are begging for someone to mark your reply, so you can gain points and perhaps be rewarded. Let me tell you, it doesn’t work this way. There are many sacrifices to be made to achieve an reward. Some folks have tried many times to follow that path, but failed to achieve it.
Becoming an MVP
There’s no set of formula, scripts and magic number in terms of scope for you to be awarded an MVP status. You must have the desire to gain knowledge, help folks, be humble, learn to teach and be taught. Provide accurate, quality and useful support in whatever format fits you the best. You'll find most of the MVPs that are available in various technical forums are the authors and presenters at the conferences, lead user groups and many run their own dedicated support sites or blog. Bottom line is, you are not required to be a “superman,” just be active in the community.
Don’t think about the award when contributing. It’s because that’s something you discover eventually. In essence, if you're working to be an MVP, you probably won't ever get there. If the award changes your life in any way, you probably didn't deserve it to begin with.
People who have become MVPs have maintained their status and respect over the years through their sheer hard work, inquisitiveness, will power, dedication and passion. If, by chance you become an MVP, how would you answer this question:
“Can I maintain the status?”
The MVP status isn’t something that you will be working for a few months. It takes time, sacrifice and dedication. For me, it’s a day-to-day duty. In my case, I always find time to contribute almost every day, of course except family day. I am not forced to do it, it’s my willingness, passion and dedication to help others that drives me.
I am emphasizing the words "help others". I hope you realize its importance. If you have the dedication and passion in sharing your expertise and helping others, then just continue doing that. In course of time, you will get what you deserve.
Once the passion is there, it will manifest itself in so many ways including writing, speaking and presenting, contributing the source code and samples, blogging and mentoring others. It should be something you do in your free time, not just to get the MVP award, but because you love doing it.
Remember to balance your time between work, life and community contribution. Despite all the busy things at work and community, I still find time for my family, friends and myself. I can still play my guitar, play with my dogs, watch movies, hang-out with my family and friends, go on road trips and travel. I think the only sacrifices I made when joining the community were not being able to play basketball and DOTA2 as often as before.
I was first awarded Microsoft MVP for ASP.NET/IIS in 2009 and I’m still holding this badge till mid 2018 because of my contributions to the technical community. Contributions such as providing answers to the forums, writing articles, tips and tricks, book and product reviews, creating and sharing open source controls, speaking engagements, mentoring students, offline technical support and blogging about the new and interesting technologies. I am doing all of these, because of my passion for it, my willingness to help others and my desire to learn are my driving factors. I don’t consider myself an expert, but I’m trying my best to be better in my field.
Disclaimer
The content drafted in this article is my own personal experience and does not represent the views of my cat, because I don’t have any. Some may have different experiences on how they achieved their own personal successes. Others may not find this interesting or beneficial, but perhaps it may be, for some.
CodeProject