Roy Tang

Programmer, engineer, scientist, critic, gamer, dreamer, and kid-at-heart.

Blog Notes Photos Links Archives About

Answers I’ve written on Quora.

You can subscribe to an RSS feed of this list.

Mar 2016

  • Someone on quora asked:

    When you pour your heart into something and it fails what does that mean/show?

    You can put 100% of your effort into something and do everything right and make no mistakes and have the right circumstances and in the end still fail. That is not your failing, that is life. That’s how it works.

    Life isn’t deterministic. We can’t predict outcomes perfectly, nor should we try to. We don’t do things because we will surely succeed. We do things because we are willing to risk failure for the chance to succeed.

    There will be a tendency to be disheartened, when you put your all into something and it falls apart. This is only natural. But you have to learn to accept failure, learn from the mistakes, learn how to manage the risks, and move on.

    Life goes on.

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    I recently realize at work I’m not very good at giving current status in an adhoc, on-demand way. What are ways I can improve this (if I should)?

    If you are finding it difficult to deal with the interruptions, I suggest taking it up with your manager. Perhaps you can ask that requests for updates should be scheduled at a regular time (so you can prepare), or done via a channel that doesn’t interrupt you directly (like email)

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    What are some of the best skills for the future?

    1. Communication, both written and spoken: The future will be more and more an idea-driven economy, and being able to present your ideas to the marketplace in a clear way that makes it easier to appreciate their value will give you a leg up.
    2. Software development/coding: With technology advancing as fast as ever, more and more jobs will be taken over by software or by automation. The one job that will be the last to become obsolete will be the people who write the software driving the future.

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    I am 21 and I want to change my whole life, to make it better. Is it possible?

    It’s never too late to be who you might have been.

    People reinvent their lives all the time, the age is irrelevant. Colonel Sanders was almost bankrupt at 65 when he founded KFC and turned his life around. Einstein did poorly in some early school subjects but his name is now synonymous with brilliance. There are people who dropped out of college and are now some of the richest people in the world.

    You yourself are the only one who can determine what you can or cannot do. Whether you will be able to change your whole life depends largely on your own determination, willpower, and effort.

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    How can a novice become an employable developer in six months?

    There should be companies willing to hire you fresh out of school, but they will often test you on your knowledge. Ask around about the companies you’re planning to apply for and what sort of qualification test they run and prepare accordingly.

    Some will test you on specific programming languages and their minutiae. This is kind of a bad idea, as it tests only for rote memorization, a skill increasingly less valuable in the age of search engines. If applying for a company like this, you might want to ask previous applicants about the scope of the questions and study accordingly.

    Better companies will test you by asking you to write software to some exercise problem(s). It can be during the interview itself. Some will ask you to do it on paper or on a whiteboard. Even better companies will provide a computer for you to use your programming language of choice and with internet access available as reference. The best interviewers will walk through the exercise with you, sort of a pair-programming exercise, so they can better gauge your abilities. If applying for a company like this, review your algorithms and their usage and try a few practice problems so you can more easily recognize which approaches are applicable to each problem

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    Why do people around me seem stuck in their ways and boring?

    For some people it’s easier to live life without making too many difficult decisions. It may just be your perception though. There are many people who are deeper than they appear. Maybe they just have interests that aren’t aligned with yours and thus look boring from your POV. That doesn’t mean they don’t live a fulfilling life. Don’t worry too much about them and just make sure your own life is fulfilling :D

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    Video Game Development: How do I become an “A-player” game programmer?

    I imagine it’s the same as any type of programmer, or really any type of coworker. There’s technical skill to be sure, but I think a bigger factor would be the soft skills, i.e. the person should be easy to work with, professional, willing to help his coworkers as needed and pushes the team towards their goals rather than helping

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    I’m 24 years old and feel nearly hopeless about my future. What can I do?

    It’s never too late to turn your life around.

    It might be difficult for you to see the road ahead. Sit down for a while, maybe with some friends or someone with counseling experience or even by yourself and consider the following:

    1. What is a goal you think you would like to achieve?
    2. Is your goal something specific and realistically achievable within say, the next 5 years? If not, try to scale it down a bit and go back to step 1.
    3. What smaller steps can you start taking to progress towards that goal? Can you do any of those steps now?

    You may find it difficult to either choose a specific or realistic goal because you don’t have enough information or there are too many uncertain things. In that case, just look for some smaller steps that maybe might kind of take you in the general direction you want to go and try it out for a while, and after some time sit down again and evaluate whether you want to keep going in that direction or try something else.

    Regarding your interest in Japan, here are some suggestions (you’ll need to figure out which will work best for you)

    1. Have you studied the language? Studying the language could lead you to jobs such as translation work. You might want to search for freelance translation work online
    2. Have you looked into how much it would actually cost to take a trip to Japan? If you have the costs in mind then you can take some other unrelated job first and work towards saving money so you can travel there
    3. You need to be open to taking on some work/jobs that may not be directly related to your goal, if only to start saving up money that you will need.

    It is important too that even though you have a goal or area of interest, you also spend some time to try new things and widen your horizons, as this may unlock other areas of interest that may turn out to be better for you.

    Good luck!

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    Should we literally live every day like it’s our last day?

    “Dream as if you’ll live forever. Live as if you’ll die today” - James Dean

    Living each day like it’s your last doesn’t mean giving up all your earthly possessions or not paying your bills or burning bridges etc. It means making the most of each day and the opportunities it provides. It means not putting off for tomorrow things that you could do today. It means cherishing the people important to you. It means letting go of things that do you no good or otherwise waste your time.

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    I was just promoted to a senior software engineer in my company. What responsibilities should I expect?

    It depends greatly on what your company associates with the title. It would be best to ask.

    Some typical examples might be:

    • code review of other developers’ work
    • making bigger technical design/architectural decisions and analyses
    • mentoring of junior developers
    • performance evaluation of junior developers
    • responsibility over more projects/systems/modules
    • etc

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    Are Servlets/JSP still relevant?

    They are still in use. Not all companies follow the latest trends and use the latest technologies. If by relevant you mean you can still find work using those technologies, I don’t think you’ll have to worry about it for a while, since there are many active systems using JSP/Servlets for sure. After all, even COBOL specialists can still find work these days :)

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    What kind of Python skills does a QA or test engineer need?

    It probably depends largely on the software you are testing. You can use Python to perform automation tasks (running a software multiple times with different parameters to check the outputs) that would otherwise be time-consuming to do manually. You can also use it to generate large data sets (inputs) and the corresponding outputs, and then compare against the expected outputs.

    It’s not necessarily Python either, any scripting language that can interact with the software you are testing will prove to be a helpful tool.

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    Should you surround yourself with experts to help you improve?

    Not necessarily experts, but at least hang around some people who are better at you in the field you are choosing to improve in. Not all experts are created equal - some may not be able to impart their knowledge effectively. In that case, you may be better off hanging out with people who are not necessarily experts but at least a few notches above you in expertise, so that it makes it easier to take the leap to their skill level.

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    Is it a good thing to change your mind to grow or move forward with the times?

    It is. But be wary of changing your mind or moving forward just for the sake of it.

    It’s a good thing to be open-minded and to be willing to consider and try out new things, but that doesn’t mean automatically latching on to new fads. Try out new things, study them critically and figure out whether they are the best for you or will contribute to your personal growth.

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    How do I motivate myself and do things that aren’t immediately gratifying?

    It is difficult to do things or learn habits that don’t provide immediate feedback loops. It is best if you are able to find a way to make that thing intrinsically gratifying for you. That is, it should be something that you are able to enjoy doing for yourself without the need for external gratification.

    Barring that, you can try to get some help. You can manufacture the gratification. One thing you can do is give yourself a small reward for doing the task. For example, if you are quitting smoking, treat yourself to a fine dinner every week that you don’t smoke. You can get your friends to help you track your progress and provide rewards. Maybe they won’t hang out with you if you don’t stop smoking (you might say, “what cruel friends!”, but maybe they decided it’s for your own good)

    Join a group of people who are trying to do the same thing. It provides some inspiration to see other people’s progress (“Wow, if they can do it, so can I!") and some gratification to be see yourself progressing opposite them (“I’m still behind George, but at least I’m doing better than Bob!")

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    How do I improve my intelligence and logical skills?

    Practice, and practice a lot.

    Read, read a lot. Be critical of what you read. Question everything. Try to spot biases or holes in logic.

    Hang around smarter people. Try to emulate how they think.

    Write. Write analyses on things that interest you. Show your analyses to other people and see what they think. If they point out flaws in your arguments, study those flaws, find out if they are indeed flaws or if you have counterarguments.

    Solve puzzles. Crosswords, sudoku, logic puzzles. There are magazines that make tons of these.

    Cultivate a learning mindset. Try to learn something new everyday.

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    Can you murder a person because you hate him/her?

    No. Not even if you think they deserve it.

    Not even considering the fact that legally it is a crime. Even if you find a way to make it legal (self-defense, etc)

    Live and let live. If you hate a person, just avoid that person as much as possible. Don’t let him change you.

    There is already too much death in the world for us to willingly want to contribute more.

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    As a boss, what makes you mad at an employee?

    I’ve not been a boss, but I have needed to manage/oversee the work of other people on the team.

    The most frustrating things are behaviors that make it difficult to manage the person or to be aware of their progress.

    We had this team member once who wouldn’t give regular progress updates of where she was on her tasks, even after repeatedly being asked to do so. It probably wouldn’t be a problem if she was always up-to-date, but she was consistently missing deadlines and many times we would ask her “where is item XXX, it’s due tomorrow?” only to get a response of “oh, was that important? Sorry, I haven’t done it yet”. If you are having trouble with your work you should be responsible enough to report problems early so that adjustments can be made by other people if necessary.

    A second problem that would be annoying (and kind of related to the same employee above!) is saying you’ll do something and then not doing it. Or committing to something then not doing it. The same employee above was told that we needed to monitor her progress more closely since it was critical so we asked her to send progress updates regularly but she never did!

    Posted by under notes at #answers
    Also on: quora / 0

Feb 2016

  • Someone on quora asked:

    How do I stop worrying about others who are more intelligent, more talented?

    Ask yourself what you’re worried about. It’s not a crime to be average

    There’s a simple truth in life: for almost all people, there’s always someone better

    You can try to improve or better yourself, but you should be doing it for your own benefit, not so you can compare favorably to other people.

    How hard you work and what level of skill or talent you try to achieve should be dependent entirely on you and what you want for yourself, not on other people

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    How can you increase your market value as a software engineer?

    The most important skill for a software engineer is communication. You need to be able to communicate what you can do, what solutions you recommend, why something is a bad idea, etc.

    Be aware of what skills are in demand and try to get some experience in those.

    Be a good team player.

    Have a good understanding of software engineering principles, especially those related to good code, maintainable code, refactoring, etc.

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    Why do I get so nervous at job interviews? I am a very shy person and this is affecting my professional life. Should I keep counseling?

    The only way one becomes better at something is through practice. For overcoming shyness, that means practicing talking to other people, being comfortable talking to other people, etc. And practice means trying it as many times as possible until you start to get comfortable with it. You don’t have to stand in front of a group of people and talk (although that might help!), you can practice small things.

    Get your friends to help you. Practice small talk with them. Hang out with mutual friends you don’t know and try small talk with them too.

    You go to the grocery? Greet the cashier, ask her how her day is going. Having a burger at McDonald’s? Tell the order-taker she has a pretty name, ask how her job is.

    It won’t be easy at first, try not to get frustrated. Keep at it, don’t give up. If people react strangely, just say something like “sorry, I’m trying to be better at conversations”, it might even lead to more conversation!

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    How do people cope with the realisation that you know very little but in order to compete with others you need to know much more?

    All the challenges you face professionally in order to be competitive, everyone else faces those same challenges too. You don’t have to be the absolute best at whatever it is you do, life isn’t about competition.

    You need to keep a balance between competitiveness (the struggle to always improve) and serenity (the search for happiness and satisfaction). Find the level you’re comfortable with, there’s no need to push yourself to exceed beyond the point you can handle.

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    Life Advice: Is it true that nobody is useless because everyone has at least one skill in their life they are better at than the vast majority of people?

    This is a statement that is impossible to prove as true or false. There may be people who appear to have no useful skills yet we cannot say for sure, as they may have skills yet to be discovered.

    That being said, you should not allow yourself to feel restricted. If you seek the answer to this statement simply to reassure yourself that you are not a useless person and there is a skill that you have yet to discover, stop that kind of thinking. You’re only a useless person if you think you are. Don’t stop exploring life and looking for things that may interest you or that may turn out to be a useful skill.

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    How can one trust a professional without being misled? (read details)

    It’s not just professionals. Everytime you go out and interact with other people you are entertaining some sort of risk. There is always a chance that a stranger you meet is a psycopath who might mislead you or worse. There’s also the danger that when you walk down the street, a car might accidentally hit your or when you pass by a construction site you might die in a freak accident.

    You don’t think about all those other small everyday risks do you? For the same reason you shouldn’t worry too much about people screwing you over. You could live life in a bubble, hiding away from all risk of danger and being paranoid about other people and never trusting them, but that’s not really what I’d call life.

    I’m not saying you just let people screw you over. You have to be smart. Before you consult a professional check their reputation or ask friends who have been their clients before. When working with a professional for the first time ask questions to assuage your worries. But as you say, you won’t be able to verify their work on every level so at some point you have to be able to trust them not to be an evil psychopath.

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    Why do people interrupt programmers when they are in the zone? Is it for deliberately reducing the company’s productivity?

    The problem with programming work is that it’s not intuitively obvious to non-programmers when you’re in the zone and actually working hard instead of just randomly tapping away at the keyboard. It looks the same whether you’re talking with someone over IM or actually rearranging some complicated piece of code.

    I don’t think many people deliberately try to reduce productivity, more of they don’t understand how programming works.

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    How can I quickly become more intellegent?

    First, might be a good idea to know how to spell.

    Second, “intelligence” isn’t going to come quickly. You will need practice, and an attitude that’s biased towards learning and critical thinking

    If you want to develop and improve your intelligence, here are some things to try:

    • Read more. Both fiction and nonfiction. For nonfiction, try to read a lot of different topics: finance, history, current events, etc.
    • Be well-informed, be aware of current events
    • Practice problem solving. It can be math problems (take out your high school algebra or trig book and see if you can still do the problems) or some sort of puzzles (crosswords, sudoku, etc). Try to solve problems of the appropriate difficulty - if it’s too easy for you, try to look for a bit more difficult problems
    • Practice critical thinking. This isn’t a straightforward skill to learn, and many people graduate from school without learning it. One way to practice this, especially if it’s an election year for you: study public statements made by politicians and ask yourself: are they telling the truth? What aren’t they saying? What kind of parties might be influencing their statements?
    • Hang out with people who have an intelligent mindset. Engage them in debates or conversations. Doesn’t have to be deep topics like the benefits of parliamentary vs presidential systems, it can be some trivial stuff like “which star wars movie is best"
    • Are you in school/college? Does your school have a debate team? See if you can join
    • Expand your horizons: Try new things.
    • Spend less time watching TV. Or maybe try to insert some documentaries in your TV watching.
    • Try to educate others. Learn to explain things to other people.
    • Be reflective: At the end of the day, think about what things you’ve learned during the day

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    When, why and where servlets, jsp, jstl, el come into picture?

    What exactly are you asking?

    Servlets are used for request processing.

    JSP is a template language for generating web pages (they can be used to generate any kind of HTTP response)

    JSTL is a standard tag library available for use inside JSP. EL is an expression language also used inside JSP.

    If you need a primer on this stuff, I’ve found the Head First Servlets and JSP book to be reasonably good.

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    Are programmers who developing OS or any software writing more lines in the source code that are not necessary in order to work longer time?

    If you need to fill up extra time, there are far better things to do than make up fake lines of code. The only reason I could think to do so would be if your company evaluates you based on LOC output. And if your company does that, you might want to consider leaving since it’s ridiculous.

    If you have extra time at work and need to fill it, the most productive things to do would be either to write unit tests or refactor some of the wonky parts

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    Is being able to sell, one of the most useful skills in life? What other very useful skills are there besides selling?

    Selling is really just a form of communication, and it doesn’t apply only to selling products and services to other people for money. You’re selling whenever you’re applying for a job, or suggesting a place to eat, or trying to woo a girl.

    Engineers such as myself sometimes look upon selling and salesmanship with disdain - when I build/develop a good product, shouldn’t people just want to buy it because it’s good? Why do I have to spend effort to convince people to buy it?

    But the fact is there are far too many things in life competing for your limited resources - money, attention, and time, so you have to be able to decide which ones to pursue and which ones to set aside. And when making these evaluations, the options that sell themselves more or present themselves better will come out on top. So yes, the ability to sell is really quite a useful skill in life.

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    How does a senior developer deal with a poorly organized startup?

    Startups tend to have smaller dev teams, so as a senior developer in a start-up, you have a unique opportunity to influence the startup’s development culture and determine what kind of company it will be. I would suggest sitting down with whoever is your superior - maybe that’s the CEO or the CTO - and telling them your concerns and why improving the quality of the codebase should be a priority. You don’t have to convince them to do a full-scale refactoring or something like that. If you find it difficult to sell the idea because it would cost too much effort, feel free to suggest smaller-scale incremental changes to at least make sure new code is written up to better standards.

    Finally, your talk with the higher-ups should give you a good idea of what their priorities are for the startup and whether they value the same things you do. And if your values don’t align, it’s a good sign that you should consider looking for other opportunities

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    How can I overcome this mental block of “not knowing what to do” as a self-employed worker?

    By “capable of so much more” do you mean you want to be able to grow your business to earn more? Or do you want to be more involved in your business?

    I would suggest setting up goals. Even small goals is fine, the more precise the better, i.e. instead of “earn 10% more this month” it’s better to have it be “land 1 additional client this month” or “sell 10 more units this week”. Keep a journal of what works and what doesn’t towards your goals. Then iterate over those goals and slowly increase the scope.

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    Is working on a startup IT company better than an established one here in the philippines?

    It’s more risk (i.e. the company might go under). You might have to do a lot of admin work yourself (managing your SSS, Philhealth, taxes, etc).

    Established companies will tend to have better benefits (HMO, vacation days, etc) too.

    On the upside, working for a startup generally means a looser culture, and a smaller company means you have greater influence over the culture there. Established companies will already have a lot of policies and rules in place.

    In general, the difference between startups and big companies is the same in the Philippines as it is elsewhere, but startups here seem to be focused more on bespoke work for other companies, as opposed to the startup scene in silicon valley which is focused on products and apps.

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    How can you tell how good a programmer is?

    Speaking as someone who’s had to evaluate the performance of developers in a project team of around 20-30: it’s not easy.

    If you want to evaluate programmers for recruitment purposes it’s particularly difficult. It’s hard to make an assessment from a couple of 30-minute interviews and code written for a toy problem. It’s best to observe them in an actual work environment, see how they interact with their peers, see how they react to crisis.

    If you’re evaluating a resume, you’ll want to look for signs of people who are passionate about programming - this might mean programming done outside of work/as a hobby (for example, open source projects, attending seminars, local programming group membership, etc). During an interview, ask them about best practices, refactoring, that kind of thing.

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    [Tricks] How do you step out of the comfort zone?

    There are no tricks, there is only practice.

    Put yourself out there, even if only a little bit at a time. Do you have anxiety with public speaking? Try telling a short personal story to the cashier at the grocery or to your taxi driver. Do you want to be challenged at work? Ask for a little additional responsibility, or maybe commit to delivering your work a bit earlier than expected.

    Posted by under notes at #answers
    Also on: quora / 0