Ask HN: Most valuable skills you have?

51 points by bavidar ↗ HN
A freshman in college asked me what are the most useful and valuable classes that he can take that he will actually use. I told him its more about building a useful skill set. What skills have you acquired over the years that you deem most useful?

69 comments

[ 21.4 ms ] story [ 176 ms ] thread
What skills have you acquired over the years that you deem most useful?

The ability to learn new skills quickly

First, the ability to make people feel comfortable around you (which usually means actually being comfortable around them)

I second "the ability to learn" -- but be more confident and bold (this is an extreme):

“After Andy dropped out of Emerson College in his sophomore year, the [siblings] reunited in Chicago, where they started a construction business, learning most of the skills on the job. They once built an elevator shaft without any plans or previous experience, having projected unquestionable confidence to the people who’d hired them—not an unuseful talent in the film business.”

You can see the enormity of the undertaking, and the brass buttons it takes to say that, yes, of course you can do something that you have no idea how to do. Sometimes filmmaking requires that kind of absurd confidence (but don’t do anything that might make people fall down several stories or anything)."

http://www.filmschoolrejects.com/features/6-filmmaking-tips-...

http://www.newyorker.com/reporting/2012/09/10/120910fa_fact_...

> They once built an elevator shaft without any plans or previous experience, having projected unquestionable confidence to the people who’d hired them

Wait, was this for a film set, or was this an actual elevator shaft that people will be using to zip up and down a building?

Because if it's the latter, I'm terrified.

I did Ticketmaster's file compression in 1992.

http://www.wired.com/magazine/2010/11/mf_ticketmaster/all/1

Denny gave me an LZW algorithm from a magazine. It's the same code I used at Ticketmaster -- to compress or uncompress a buffer, basically out of the magazine. At Ticketmaster, I did full multiple file archiving with bloom filters and encryption. In SparrowOS, it's individual files.

My LZW applied to 16 color bitmaps is superior in every way to JPG. I get my own graphics compression out of a general purpose lossless algorithm built-in and applied automatically on files ending in ".Z"

I generate my web site myself. I use uncompressed BMP files -- big. I added RLE BMP compression, just for my website.

I don't need BMP file formats -- I have my own graphics format. I use BMP because it interoperates with Windows and the Web.

I'm not interested in multimedia -- more like old school C64 games.

With 16 colors, the standard formats are worthless. You might as well use loss-less.

I could write a phenominally compressed loss-less screen-cast format.

The latter, yes.

All major construction like elevator shafts is always inspected [1]. Since they are working on-site, the quality, speed, and scope of their (subcontractor) work is apparent and visible on a real-time basis. You have to know what you're doing - if you do not - worst case, you get someone injured/killed, best case, they fire you. Like the cliche goes - a contractor with shiny new tools isn't a contractor you hire. As for licensing, there are ways around licensing & bonding...

The point is they weren't just bluffing - they had supreme confidence they could do it. And did it. As someone who is scared to install a new faucet, who does that?

[1] They did the shaft in Chicago: http://www.sfm.illinois.gov/commercial/elevators/faq.aspx

Related: the ability to do research.

In my previous life doing IT, I was the "go-to guy" almost entirely because I knew how to efficiently and effectively read man pages and use Google. Nowadays that may take the form of reading API specs or language docs.

The way to acquire that skill is simply to do it over and over again.

>The way to acquire that skill is simply to do it over and over again

I would totally agree with you on this one because of my personal experience. I'm no CS guy, and nuking a VPS repeatedly (screwing up because typing a / instead of a ./ kind of errors) and installing a LAMP stack and CMS software has made me proficient even in the finer points of LAMP (like memory utilization of mysqld, or number of processes in PHP). Because of this, I am way more comfortable with linux as well.

You wouldn't believe, I've destroyed installations like no tomorrow. And even on the personal front, more often than not, I tend to screw up my hardware and then with a great incentive to try and make it work again I read man pages, google every possible stuff to get it fixed. This automatically results in me knowing EXACTLY what to do when someone's screwed their hardware and are terrified.

So, actually I think I should say, "Not afraid of breaking things, AND (most importantly) have determination to fix them up again."

Negotiating.
It was many a used car before I got this one right.
Was going to say the same thing.
Ther are different categories of skillsets that one aquires over the years and are important. For me, the most important one has been People's skills which include communication, negotiations and ability to influence. These might sound cliched but in my experience of almost a decade of professional work, these values are very imporatnt. Technical skills etc. are of course important but you will pick those up over the years once you have a few years of real world experience.
I worked with many people who have terrible technical skills, but impeccable people skills. Those people are the ones who are by and large most successful.

If I could trade in all of my technical know-how for the same amount of people skills, I would in a heartbeat.

My favorite way to determine whether my skills are up to date (and what to add in the coming year) is to look at the "Who's Hiring" and "Seeking Freelancer" threads, and tally up what people are asking for.

It is a diverse field, though, so you have to filter it by what you're interested in or good at.

If you don't mind me asking, as a professional Android developer (as stated in your profile), are you thinking of switch-hitting and picking up iOS? Or even diversifying by going into something like single-page web design?
Both, actually.

I do periodically need to do HTML5 apps on Android, either through PhoneGap or in a webview. I know most of what I need to in order to do that, but I'd like to improve my general facility with javascript.

iOS... I am planning to learn a bit of iOS, but mostly as an auxiliary skill. I am often tasked with porting iOS apps, so it helps to be able to read the source code and understand how they're put together. And most contracts these days want apps built for both Android and iOS. I don't think you can be a deep expert on both systems, though, so I'd rather partner with someone for the iOS work, and focus on being Really Good at Android.

I do perceive iOS as a relatively mature technology, though. Somewhere between stagnant and contracting in importance. Android, on the other hand, is still finding new uses and growing rapidly.

Web development is, I think, a good long-term investment, even if I'm using it to build Android apps right now. iOS development is more like an enabling skill, that I'm not looking to invest a lot in, and don't see myself doing much with two or three years down the line.

The viewpoint might be a bit myopic -- I do reallyreallyreally like Android. I like to think it's based on the contracts requests and trends I see, though.

The other skill I'm making an active investment in is web backend stuff. I did some CGI back in the 90's, and that needs badly to be modernized; I get asked for backend work on apps a lot. I'm studying Rails at the moment, but I will probably have to hold my nose and pick up PHP at some point.

Thanks for the detailed answer!

I recently asked a principal of a web design firm that does pretty good work how to learn HTML/jQuery/etc. And he actually recommended Code Academy. As somewhere to get started - to bootstrap your learning enough so you can do self-directed projects. Really, I think I am going to have to buy 5 or more of the top-recommended jQuery/CSS books just to get started (even if I don't read them).

For iOS to Android ports, I recommend usually just using the iOS app (if it exists) as a black-box reference model /specification for functionality. The Charles proxy server [1] usually figures out any gray areas in the server-side interaction. Having access to the iOS source code/understanding it isn't always necessary unless there is some kind of shared library being used (shrouded C/JNI). A lot of the more complicated iOS apps have lots of CoreData/KVO-type/massive 3rd party library dependency like RestKit infrastructure that isn't directly translatable.

The best thing about iOS v. Android is that usually iOS developers aren't Android developers (as you pointed out). And it still flabbergasts me that Android has won (75% and increasing market share worldwide).

However, personally I'm thinking of getting back into iOS - (Storyboards, GCD) by doing small, small projects. iOS is still a very marketable skill.

When it comes to being 'Really Good at Android', I think you will get there. Have you presented/taught Android yet? It does take someone who reallyreallyreally likes Android to make the app look good (xml layouts, arcane knowledge) and functional and smooth (no ANR). Do check out all of the Google I/O talks if you have not already. The hardest part about Android v. iOS is that the knowledge sharing isn't as open as it is in the iOS world.

Hope you can find someone to partner with. Usually our developers find other developers that they like to work with semi-organically - by just working on a number of other, larger projects and every once in a while, they gell with someone and either start apprenticing the developer (assuming they are still junior) or work with them as a peer.

Either way, it sounds like you are diversifying your skill set appropriately.

Finally, in case you get bored/need anything else to work on for 2013 - try to teach some aspects of coding to non-coders (especially those who might have the potential but not the understanding).

Don't forget to double your rates this year :)

[1] http://www.charlesproxy.com

Really, I think I am going to have to buy 5 or more of the top-recommended jQuery/CSS books just to get started (even if I don't read them).

Consider taking a look at http://safaribooksonline.com/. They don't have everything, but they usually have enough good stuff to cover picking up a new skill. I think my IQ would drop by about 30 points if I discontinued my subscription...

For iOS to Android ports, I recommend usually just using the iOS app (if it exists) as a black-box reference model

I generally do, and I couldn't live without a proxy (I use Fiddler 2). But for some things, you really need the source. Error dialogs, for example; it's hard to be sure, from testing, that you've found them all. Math formulas, input restrictions. And you'd be amazed how easy it is to miss whole screens in black box testing just because you never saw a particular button / made a particular gesture!

It's more than that, though. It's good to be aware of whether they're using a default UI control, or a library is doing something a particular way, but it's the only library they have, vs. if they've carefully hand-coded a custom component. It's easier to make the case for doing things an "Android Way" in the first scenario.

iOS is still a very marketable skill.

Very much so! A year and a half ago, I think nine out of ten projects I could bid on were iOS projects. Nowadays, most of them want an app built for both systems. I think that'll be true for the foreseeable future.

I do think Android is starting to go beyond mere mobile, though, and that's exciting. For example, on the front page right now is this: http://www.hardkernel.com/renewal_2011/products/prdt_info.ph... -- and it runs Android!

What'll they build with that? I haven't got a clue, but they're going to need Android programmers to do it. People are starting to use Android touch screens in non-mobile ways, too, and I've seen a contract or two for Android OS mods.

I expect there to be some technically-interesting, Android-only projects in a year or two, and I plan to be ready. :)

Have you presented/taught Android yet?

No, though perhaps I should. I keep meaning to make time to blog about my experiences as a developer, and somehow there's just always too much else to do. I need to be more involved with the community.

The hardest part about Android v. iOS is that the knowledge sharing isn't as open as it is in the iOS world.

The docs aren't as good, either. The javadocs are good at telling you what properties exist. The problem is that they'll list "android:alignBaseline" as an option, and when you click for documentation, it says, "Aligns the component's baseline." Sometimes I wish they had a big "Did Not Answer My Question" button that caused someone at google to be hit with a foam mallet. ;)

StackOverflow is a good source of information, but you want to already have some expertise to filter things. The solutions (being crowdsourced) sometimes are false, or sometimes they technically work but are bad advice.

More than once, I've had to go source-diving to figure out how a standard component or option worked. I'm thinking probably the next thing I need to do to "level up" in expertise is get good at reading the Android source. Maybe make some time to contribute to some of the auxiliary open source projects I use a lot, like Robotium or Jackson. Maybe start my own; I have a couple ideas for things that would make my workflow a lot easier.

Hope you can find someone to partner with.

Yeah, I think I have. We're looking to do a few joint projects together in 2013. We'll see how it goes. :)

Finally, in case you get bored/need anything else to work on for 2013 - try to teach some aspects of coding to non-coders

Yeah, I've been meaning to do something like that. When I have time to do side projects, I like to do educational ap...

Lying is a skill few people appreciate but it can be invaluable.
I would tell him he is asking the wrong question. In my experience the vast majority of college classes will never have any significant value in the workplace. Instead, I would tell him to branch out, take courses he might never think of trying, and follow a line of courses that he finds most intellectually interesting. People that are passionate and engaged tend to excel at whatever they are doing. There is plenty of free time to learn practical skills.
some fundamentals don't change though... the college classes that will still remain useful would probably be either compilers or data structures. even some of the basic operating system stuff (filesystems/scheduling) would still be useful today.

compilers are still extremely practical. I'm sure everyone has had a scenario where they had to tokenize lots of strings and turn it into something meaningful.

whatever I do, I do it with passion
Let's see... Algorithms and Data Structures classes were probably the most useful for computer science.

The Software Engineering class was a great way to learn what happens when you have bad/no management.

Technical Writing and the "Job Application and Interviewing" classes might have been the most useful long-term, though.

What were the most useful things you learned in your job application and interviewing course?
The extrapolation of knowledge, so you can learn and solve problems trough a previous set of skills
I have found over the years that one of the most valuable skills you can cultivate is being able to read people to figure out what they really want. Through your whole career, and especially earlier in your career, people are going to ask things of you. Senior people are going to give you tasks and assignments, clients and customers are going to give you problems to solve, etc. It is a tremendously valuable skill to be able to talk to people and figure out what is really being asked of you and what the other person really wants and needs. When you can get in the other person's head and figure out what they need, you will: 1) make fewer mistakes; 2) waste less time on tangets; 3) be able to anticipate problems; 4) inspire confidence by asking the right questions; and 5) deliver exactly what is needed, no more and no less.

I'm not really sure if you can take a class that will teach you this skill. Socializing at parties is actually a great way to work on this skill--try to meet new people and see how quickly you can figure out where they're coming from. Working on group projects is also a great way to build this skill. As a freshman or sophomore you'll usually be the one getting assignments and as a junior or senior you'll be handing them out, and when you see both sides of the coin in a similar setting you can really develop an appreciation for what good communication looks like.

On the same note of reading people is being able to talk to different people and adjusting how you talk to them. Its a matter of adjusting yourself to your audience.
Learning and practicing the full Common Lisp language. It's a big language for a reason: Greenspun's Tenth Rule is true. If you work on sufficiently large programs in other languages, you will reimplement features already present in Common Lisp. Common Lisp is the careful amalgamation of years of extrordinarily expensive research and learning by some of the brightest minds on how to solve some of the hardest problems in computing. Drink from their distilled wisdom.
If you want a more theoretically pure variation you should look at the Racket language group.

My variation of Greenspun's Tenth Rule is that Common Lisp contains a reimplementation of Scheme, with some added "features."

Everything in Scheme is there for a theory. Everything in Common Lisp is there for a practical reason. Common Lisp is the result of many smart people--who understood the theory--delivering big software systems and refining the necessary tools into an eminently practical language.
OK, what is the practical reason for abandoning constant space tail-call evaluation?
All major Common Lisp implementations do have constant-space tail-call optimization: http://0branch.com/notes/tco-cl.html

It is not required by the spec, presumably to ease compliance in simpler implementations, because Common Lisp provides other iteration constructs missing in Scheme (DO and LOOP) which were preferred over recursion in practice.

Edit: It appears that in some exotic cases CMUCL (and maybe SBCL) does not use constant space for tail-calls when it would interfere with the proper relationship with dynamic bindings.

It is not an optimization, it is a different evaluation semantic. If a semantic property of the language is not guaranteed then it should not be relied upon. Thus, it forces you to alter your code to fit the broken semantics.
How it is not an optimization to implement the evaluation of a given segment of code in a way that uses less memory?

My understanding of the historical reasoning is that DO and LOOP are preferred in practice because the conditions of iteration are specified in a more predictable location.

By your line of reasoning, one should not rely upon Typed Racket because the functionality is not guaranteed by Scheme or RxRS. Neither should one rely upon SBCL's ability to run circles around Racket; performance is not guaranteed by the Common Lisp standard.

From the Racket docs:

This evaluation behavior is sometimes called tail-call optimization, but it’s not merely an “optimization” in Racket; it’s a guarantee about the way the code will run. More precisely, an expression in tail position with respect to another expression does not take extra computation space over the other expression.

And you're right -- typed racket is still in its growing stages. There are a lot of guarantees you don't have.

There are two major types of career skills:

1. The ability to spot trends ahead of time, understand people's problems, and come up with solutions. In other words, the ability to figure out which types of skills will be valuable.

2. Deep knowledge in one or more areas, such as programming, Math, etc.

For example, due to (1) I was able to figure out that Machine Learning was a valuable and growing area, pick up a book, and get into the field. Today Data Science is still a great field, but the bar to break in is higher than it was 3 years ago.

My areas of deep knowledge are Math and Psychology. My deep knowledge in Math made it very easy to pick up Machine Learning/Statistics when the time was right. There were other related trends I could have followed (e.g. learning Hadoop, learning NLP) but those would have been harder since I didn't have the right background.

In college, your friend should focus on building up the type of deep knowledge that will help him easily acquire related skills later on. Generally speaking, it's helpful to take high-level, general courses as opposed to courses that focus on the tool of the day. For example, a course on Algorithms is more useful than a course on Python.

As he advances, he should start paying more attention to industry trends. Eventually he'll get to the point where he can realistically understand the major problems in the industry, and quickly pick up the skills that let him solve those problems.

1) Unrelenting persistence 2) Unrelenting persistence 3) Unrelenting persistence

Just keep getting back up. You'll probably win eventually. Probably.

Ability to learn (to extract and apply knowledge on the go).
The ability to abstract, and play with those abstractions without having to materialize them
My most valuable classes were my electives. Philosophy, Anthropology, & English Lit. especially.

My major was architecture, and the design classes gave me a sense of organization and elegant problem solving that are useful even as I build web apps for a living.

My drafting classes were useless - thank god I taught my self to use a pirated copy of AutoCAD at the time.

My classes in concrete and steel used large books of tables to look things up, which I am pretty sure can be easily handled by computers nowadays.

Data Structures and Algorithms would be the only thing from a traditional comp sci program I would have benefited from, I think, but I've done quite a bit of self directed learning in those areas, and am not worse off for it.

If I had it to do over again, I would've skipped school and tried to apprentice myself to people working on cool things instead. But I love to educate myself, and learn wherever I am. Some people are better off being guided, and those at upper-tier schools will benefit 90% from the connection they make, and 10% from the classes.

Estimation. If you get into the habit of doing a back-of-the-envelope approximation any time someone mentions a figure, you can develop the fine ability to tell whether they have any idea of what they are talking about. Alternatively, you can get a clue about just how big/expensive/difficult a project is.

Basic statistics and probability. You hardly ever need to pull out a T-test or calculate the standard deviation, but knowing what they are and why you should expect runs of good luck and bad can help smooth out your life.

Sitting down and concentrating on a subject may not be a teachable skill, but it can be learned and practiced. Highly recommended. Similarly, general research skills are lifesavers. Most people think they have them. Most of those people are wrong. Again, there might not be formal classes (or there might be, if you have a Library Sciences department) but they can be learned.

Although I agree with you about learning to "estimate" being important, there's another very important thing that must come with it: learning not to trust them.

From my small experience, even better than estimating something right, was having the humility not to trust blindly our own instincts.

Don't get me wrong, one has to listen to her own "guts" many times in a life, and that's a good thing. A better thing is learning to recognize when you screwed up, and getting yourself out of that situation before it is too late.

>general research skills are lifesavers

I'd like to add one point here. Researching for a new tv model is a totally different beast as compared to researching something very technical in a field, (e.g.) the right mixture\* to optimize burn time vs thrust in a solid rocket motor in prograde to Venus.

It's fairly easy to find info about common and popular things because the target audience is the general public and they write in a very informal tone. And because of penetration, you'll find quite a lot of information and you just have to apply statistics/probabilities to what you read online to factor if you're going to buy that TV set or not.

On the other hand, specific data will be very hard to find. You may have to start searching for related topics like rockets and fuels before you try to find ratios. Even so, you may end up having to contact a professor or someone whose name you found on a related page. They may not know the answer, but they in turn will/may try to hook you up with the person who probably knows and this repeats. This takes time (atleast a few days if not weeks).

* You may need info for the fuel ratios for hobby, work, or academia.

Simple answer? Programming and statistics. These are desperately needed in the sciences, and having them makes me very valuable.

I work as a bioinformatician in plant genomics. My background is in economics and political science, with a minor in statistics. Jumping into genomics without a background in biology seems impossible, but I learn fast, and programming and statistics are desperately needed. Biologists are typically terrible at statistics, and even worse at programming, so people with skills in these ares are desperately needed.

Approaching problems with a social science background is also useful. I was interested in quantitative comparative politics, where observational data is the only data, and one tackles it with advanced models that try to control for confounding variables. Modern-day biology is similar: there may be some randomized experimental design, but confounding is still everywhere. Surprisingly biologists, trained only in randomized designs, don't see it this way.

I'd rather answer the freshman's original question: accounting.

I took an accounting class as an adult, and I wish I had taken it when I was younger. I don't look at my checkbook the same way, and while I haven't really done much with my businesses (record label, music publishing), I know how to keep my books.

I worked at a startup in 2011, and my boss was very forthcoming about the financial health of the company. At one meeting, he showed the staff a lot of positive numbers about income and growth year-over-year. I was the person to ask about debt because I learned that assets equals liabilities plus equity. (He didn't skirt the question, which is why I still admire him today.)

Even if this freshman ends up working for an international conglomerate, he or she will be able to look at the yearly business report and get a sense of what's going on.

In any group project setting in college, take the lead because more often than not, no one else will due to apathy. Learn what it takes to get shit done for scenarios on the crap end of the spectrum. Break up the work for everyone and dictate precisely what you need and what you expect of them. Give no leniency. Hopefully with time, kids will begin to respond to demands and begin to participate more in the group if they haven't already. Discussions won't be so one-sided. The more people talk, the more you should (as the team leader) make yourself transparent and open to feedback/changes in direction. Yeah, it will suck, your whole professional career will be working with difficult people. Get the skills you need now in an environment that's not going to tarnish your professional reputation.

Also, if all goes well, it gives you good ammo to tell in job interviews.

The single most important skill I have ever learned is how to take care of myself.

When you feel like shit, you won't want to do anything.

When you lose your health, you won't be able to do anything.

(I've been a professional programmer out of college for over 30 years and I feel like I'm still 25, doing my best work ever.)

I remember the exact moment in college I was made aware of the critical need to do this. I was eating a PB&J on white bread in our kitchen when one of my fraternity brothers (a jock and a health nut) saw me and yelled, "Save your life! Save your life!"

"What the hell are you talking about?" I asked him.

"Don't eat white bread. Read 'The Save Your Life Diet'"

So I read the book and have never looked back. I have read many other health related books since then, but it's not their contents that made the difference, it's the mindset I developed that has.

College is the time when this appears to make the least sense. You can eat or drink almost anything, go without exercise, and develop bad habits and still feel fine. But it really is the best time to lay the framework for a lifetime of good health. It's the time when you'll be able to experiment and learn the most about yourself and what works and what doesn't. And make no mistake about it: this is stuff you must learn and practice; it does not come naturally.

I have and I'm so glad that I did. I have watched so many of my contemporaries gain hundreds of pounds and accept a lifetime of ailments as inevitable, while gradually retiring to the sofa. It doesn't have to be this way! Learn how to take care of yourself now or all the "skills" in the world won't matter when you most need them in the future.

Specifically:

  - Learn how to eat.
  - Establish your best lifetime exercise habits.
  - Learn what to avoid (or accept in small doses).
  - Adopt a healthy mindset.
  - Learn to embrace fresh air & water & good sleep
  - Most of all, do all of the above no matter what anyone else says or does.
I'm so glad I ate that PB&J on white bread at that moment in that place. Who knows what sofa I'd be sitting on with my TV & junk food & prescription meds instead of doing great work and hanging out with you guys here.
Probably not what OP was asking, but some of the most important advice a person can get!
While it's pretty obvious you should live a healthy life, sadly, life will also throw things your way that no amount of lifestyle can protect you from.

Taking care of yourself is 50% lifestyle and 50% luck, and unfortunately that split shifts unfavorably with every passing year. Ailments are inevitable, no matter what you eat, or how much exercise you do.

>>Taking care of yourself is 50% lifestyle and 50% luck, and unfortunately that split shifts unfavorably with every passing year. Ailments are inevitable, no matter what you eat, or how much exercise you do.

While some things are definitely out of your control - you may get hit by a drunk driver tomorrow and be incapacitated, for example - your lifestyle can protect you from a lot of the randomness out there. I would say the percentage in the Western world is more like 95% to 5% [1]. You mention ailments, but ever since I started exercising and eating right several years ago, I haven't gotten sick at all beyond some headaches here and there, and one instance of food poisoning. Before that happened, I would catch cold on a regular basis because my immune system was weak.

[1]Now, this would probably be different if we were living in, say, Congo, where the environment is a lot more chaotic and individuals have a lot less control over their own well-being.

I think this advice can be extrapolated out too. Get to know yourself, and understand what motivates you, what makes you happy. Read the Happiness Hypothesis to get an idea for what contributes to a persons actual happiness.

The most successful, happy people are those who can manage themselves properly.

And as for the basics of happiness, it's very simple:

- have some autonomy over what you work on - have a social group of friends you spend time with - exercise - eat well - meditate or do cognitive therapy - spend time in nature

I try to do something from every piece every day. Finding a balance and forcing myself to do a piece from each has helped me prevent burnout for over 9 months now, and has made me happier than ever.

I just wanted to add a plug for a good physics class. A solid grounding in physics will help you think about any phenomena you encounter throughout your life.

I have been teaching middle school and high school math and science for 15 years. I have been asked all kinds of questions, high-level and low-level questions. I have been asked many questions that I could not answer; but I have been able to give every student a good idea how to start thinking about their question in a way that would lead them to a fundamentally correct answer.

Disclaimer: I was a physics major in college.

1. Managing my health. Includes eating healthy. Refer to the post by edw519 in this same thread.

2. I know how to sell. How to really do it under pressure.

3. I know when to stop and smell the flowers.

4. I can take apart/fix anything and put it back / fix it with no issues. From deep fryers to washing machines and back to motherboards. I can fix it.

A strong command of my native tongue and a mathematical mindset.