2018 September
-
Someone on quora asked:
There is a quote I’m fond of from Star Trek: The Next Generation, when Data (an android) loses at a game despite having what he thought was a flawless strategy. Picard tells him “It is possible to commit no mistakes and still lose. That is not a weakness. That is life.”
Fundamentally, life isn’t fair. Just because you put in all the work doesn’t mean you are guaranteed to get what you want. It may improve your chances, but chances are just that - chances. Sometimes other people simply work harder than you. Or maybe they have more advantages. Or maybe you got unlucky and the judges were having a bad day. There are a million other factors that could have affected the outcome other than how hard you worked.
But don’t be discouraged! Hard work is still important, much more so than talent. Because hard work and practice and muscle memory will push you past unfamiliar situations that talent cannot. And hard work overall contributes to improving your chances.
Want to improve your chances even more? There’s two things:
- Learn from your mistakes. Figure out where you went wrong last time, and apply that to succeeding attempts. This increases the chance that life will go your way next time!
- Make more attempts. Try and try until you succeed. The laws of probability state that flipping a coin once only has a 50% chance of coming up heads, but flipping a coin twice gives you a 75% chance of heads, flipping three times ups the odds to 87.5%. The more attempts you make, the greater your odds of getting there. Combined with learning from your mistakes, this is the easiest path to success.
2018 August
-
Posted on r/answers: Can someone help identify these insects?
2018 March
-
💬 Reply to :
Yes
-
💬 Reply to :
It's pattern recognition. You have to be able to deduce a pattern from the earlier entries.
In your example, you can see that in the first 3, there are 1, 2, and 3 lines near the edge in the first 3 boxes, so logically there must be 4 lines in the next box. This eliminates the 2nd and 4th answers.
In the first 3 boxes, the symbols are on the bottom, then the left edge, then the bottom again. If you choose the first answer for the fourth box, that makes [bottom, left, bottom, bottom] which is no pattern, while if you choose the third answer, the pattern is [bottom, left, bottom, left], so the answer is C
-
💬 Reply to :
That's not how currencies work.
I can however tell you that in the Tokyo area, you can get a cheap fastfood-like lunch for around 500-1000 yen. Fancier meals are available for around 1500 yen or more. Other areas are typically cheaper than Tokyo.
2018 February
-
Someone on quora asked:
I don’t believe there’s such a state as “software savant” where you click a switch and you’re suddenly this perfect all-knowing super brilliant guru. I think software development (like many careers) is a continuous journey of self-improvement.
What differentiates better developers isn’t being brilliant or some advantage that makes them “superior” from the start. It’s the attitude of knowing how to apply experience from past mistakes, knowing not to let ego drive your decisions, knowing that you need to approach problems systematically, knowing how to communicate well with your peers etc. None of these are inherently out of reach of anyone.
Years of experience gives you exactly that - experience. The experience by itself is meaningless if you don’t learn from it and apply that learning properly.
2017 December
-
Someone on quora asked:
Sure, easily. I mean, I love programming, but there’s also other stuff I love and can do. Such an amount = freedom to pretty much do anything else I want. I will surely miss programming, but I’m sure I can find other worthwhile things to dig into. The programmer’s attitude of always being willing to learn new things means we never run short of problems we can try to solve, even without programming per se
2017 March
-
Someone on quora asked:
What one skill, if I mastered it, would have the biggest affect on my career?
The ability to communicate well. This includes being able to listen to what other people are saying and being able to communicate your ideas well. (This should also include things like knowing the difference between “affect” and “effect” :p)
-
Someone on quora asked:
How does a finance job differ from a software engineering job?
It’s the math degree. Financial work requires a lot of statistical analysis, that kind of thing. And there is a lot of software work involved in the finance world as well so you might still want to consider it.
-
Someone on quora asked:
How do I get over the fact that people might betray you suddenly?
Try this: at the end of every day, count how many people didn’t betray you that day. Not only friends or family, but also people like:
- the uber driver who got you to your destination on time and didnt kidnap you
- the cashier at the grocery who didnt try to short-change you so she could pocket some extra cash
- the pizza delivery guy who didnt try to break int your house
- etc
Ok, there’s a chance that this exercise might actually make you more paranoid lol. But the point of it is to realize that people implicitly trust each other every day, even strangers. Society is held together by the simple fact that most of the time people aren’t looking out to betray other people (they have their own problems to worry about). Sure there’s always the possibility that your best friend of 10 years suddenly decides to sell you out somehow, but there’s also a possibility of a meteor crashing into your house tomorrow. Worrying about such things is pointless. It’s okay to maintain a healthy level of skepticism about other people’s intentions, but most of the time everybody is else is too busy trying to get by.
-
Someone on quora asked:
which will change the value of variable “peso_luna” <- this doesn’t happen inside your loop. Just because you made the assignment “peso_luna = peso * 0.165” once doesn’t mean it gets evaluated all the time
2017 January
-
Someone on quora asked:
In many programming languages (specifically C++ and all those who derive their syntax from C++), lines starting with // are single-line comments. Such lines are ignored by the compiler and have no effect.
-
Someone on quora asked:
The activity of building software is fundamentally about breaking things down into smaller tasks until they are small enough for you to write them in code. Look at your entire system. Study your requirements. Figure out the steps that have to be executed, the things that the system needs to do. Then iterate on each step and break it down further until you feel that you understand it well enough to implement it.
I find it’s often easy to follow the flow of data as it travels through your system. (Your mileage may vary - or maybe you favor a different approach.) Don’t think about analyzing millions of emails. Think about analyzing one email. Where does it come in? Where is it stored? How does the system process it? Where is the processed data stored? Where is it sent to afterwards.
If you still find yourself struggling to move forward, try building a prototype. Just a small proof-of-concept. Implement a small part first. Maybe get the email from somewhere? Don’t worry about authentication or security or anything, just get that data flowing from one end to the next. You’ll discover things you hadn’t considered and you’ll learn some things you did right and some things you did wrong.
Then prototype the next step.
Now you have two prototypes. Link them together. Integrate them. Then prototype the next step. And the next.
Now you have all these prototypes linked together and moving data and processing it from end to end.
Throw out all the prototypes.
Go over the lessons learned and do another iteration.
Repeat until satisfied.
-
Someone on quora asked:
Tell them. “Hey you know, I really enjoy our chats, but to be honest I don’t really want to talk about the old job anymore. That part of my life is done, you know? I don’t want to think about it anymore and move on professionally. So I’d appreciate if we keep work out of our chats, I’m sure you’ll understand, right?”
-
Someone on quora asked:
The same way you can become an expert in anything else - time and effort. Take on more database-focused work. Take more challenging tasks. Study your mistakes. Read relevant books. Study. Practice. Learn. Grow.
-
Someone on quora asked:
If you’re having trouble choosing between some options, that means they are mostly within an acceptable range for you (if any of the options was flat out unacceptable you would have rejected them on the spot). In that case, just choose one at random (literally roll a dice if you can’t decide) and go. If it turns out later that it wasn’t the best choice, figure out if there was any information that would have helped you, take note of it for next time.
I realize just saying it doesn’t mean it will be easy for you. It won’t. But just practice until you get better at it. Next time you’re making a choice, just choose one option at random or whatever your heart says you want or whatever. Some choices will be good and some will be bad, but that’s true whether you overthink or not.
-
Someone on quora asked:
No, of course not. Programming is about getting things done, not memorizing all the available documentation, 95% of which you will almost never use anyway.
-
Someone on quora asked:
How important is being able to teach/mentor in software development?
If I were looking at a resume that had a TA/mentoring position on it, what it would tell me is not only that the applicant knows enough to be able to help other developers but also that the applicant has at least some skill in communicating his ideas to other developers, particularly to ones that may be less experienced.
The ability for software developers to communicate well is seldom mentioned in job ads or whatnot, but I would consider it a vital skill especially as team and project sizes scale up. Obviously not everyone who evaluates a resume may consider this important, but it probably wouldn’t hurt to put it there.
-
Someone on quora asked:
Sometimes simply putting in time and effort may not be enough. You have to make sure your time and effort are being spent wisely. This can only be done by thinking and analysing your own learning process. Think about how you are studying algorithms and try to figure out why you are having difficulty remembering or learning. Try to identify specific problems you have instead of a general “I am really weak”.
Algorithms are primarily a function of problem solving skill and the ability to break down a problem into a series of logical steps. When studying algorithms, make sure you’re not just doing rote memorization of the steps involved - instead try to get a basic understanding of why those steps work. Compare the algorithm to how you would solve the problem manually, using only your human brain. Think about it from different angles.
Since you said you have already put much time I assume that you have already implemented those algorithms you are studying, as in you wrote the code yourself and you understand what each line does and you can step through the code as it executes and see where the program flows. If not, that’s something you should definitely be doing.
2016 October
-
Someone on quora asked:
Why do software engineer need Finance domain knowledge to work in Finance Or Bank?
You don’t, not necessarily. But it helps. Same as any other domain knowledge actually, not specifically for financials. Having domain knowledge means the developer can contribute more to the software development process - he can help spot inconsistencies in the design, he will have less chances of misunderstanding the requirements, he can optimize for known scenarios, etc