A study of unprepared people being locked at home without childcare or schooling, without time to setup an office and in companies in dissarray is about as representative of home working as people falling overboard the titanic are representatice of health benefits of swimming.
Similarly if a group of tourists gets lost in the jungle we don't call that a study of prehistoric tribal life.
I'm the founder of a company that is ~250 people, remote first, and still fully remote. We do have an office in SF, but ~10% of our employees are present, almost no full teams are centralized, and all our processes revolve around remote work. Important to note that we're a US-founded company (this comes along later).
I'm going to use this comment as a way to talk about remote hiring generally, rather than respond directly to your comments. I want to help others understand some of the challenges it has been being one of the larger (relatively) fully distributed companies.
I think there is a common misconception that the world is mostly flat and that our company can hire from anywhere. I am commonly criticized when tweeting job postings (almost always remote) when the countries we can hire from is limited to a select few. "Not real remote" "first world remote only" "remote != 8 countries" etc. are common criticisms.
Disclaimer for the remainder: I am not a lawyer and my exact details because of that may be wrong. Please consult your own legal team.
When hiring remote, there are a few things to keep in mind:
1.) You have to adhere to employment laws within the country you're hiring from. Employment laws vary widely between countries and getting them wrong can be very expensive. For example: vacation time will vary, holidays will vary, the ability to let someone go will vary, what you can/cannot expect from an employee varies. In one country, emailing an employee outside of work hours is legally considered harassment; when working with multiple timezones that's a challenge because "in work hours" for one country may be "out of work hours" for another country.
2.) To employ someone full time, many countries require you to have a legally entity within that country. Establishing a legal entity takes a lot of time and a lot of money.
In the past 12 months, we've had at least one member (more now) on our HR/finance teams establishing legal entities _full time_. I've had my signature on at least 8 incorporation documents in the past 6 months. By the way, most incorporation documents require a "wet" signature so if you're remote like we are, be prepared to be FedExing a lot of sensitive legal documents around.
Beyond just paperwork, there are often requirements to establish a legal entity: a real, physical, local address is one. In one country, we had to pay out of a local bank account in local currency (which has its own red tape), and this country also required we maintain a minimum balance to pay 3 months salary in the local account in local currency at all times. For a startup, that much cash "not working" can be problematic depending what stage you're at.
In one country we're establishing an entity in, the process just takes a LONG time. We've been responding to any inquiries and sending paperwork immediately and we're 8 months in and still probably 2 months away from completing the process. Meanwhile, we still can't legally hire there.
A lot of legal paperwork is understandable in the local language of where you're creating the entity. This means that you also have to pay lawyers fluent in that language to vet the paperwork. We employ full time lawyers, but primarily in English, so this requires us to go to expensive outside counsel.
Finally, this is all expensive. There are fees to creating entities but also recall that we have multiple full time employees that spend their entire day establishing legal entities. So we have our own full time salary costs plus filing costs plus legal costs.
3.) Hiring contractors DOES work around some issues, but has its own downsides. First, we can't offer options/stock to contractors and we'd like all our employees to benefit from this. Second, we often can extend the same full time benefits we want all our employees to share such as healthcare, 401K, etc. Put another way: we want all HashiCorp employees to be employees, we don't want to create second class citizens.
Legally, some countries have legal limits on the hours a contractor can work or length of time they can be contracted before they're considered an "employee" by default and regardless of what you SAY the relationship is, the country will consider it employment and points 1 and 2 above all take effect immediately.
So we certainly DO hire contractors but our point of view is that we intend to hire those people full time over time. We'll often hire contractors if we know that we'll have a legal entity established to hire them within X months, and we're up front with the new hire about this. We'll also pro-rate option/stock vesting for their contractor period when they are hired.
4.) We prioritize countries where we have the most interest. We get asked a lot "please hire in X" but if the number of times we've heard X is much lower than Y, then we'll prioritize Y first.
This creates somewhat of an imbalance, since more countries with a more established tech ecosystem generally have more qualified candidates and therefore get prioritized higher.
We WANT to hire from everywhere, but as a startup with constrained capital and timelines, we have to be pragmatic about choosing the locations where we'll probably be able to hire the most roles while we continue to expand our entities.
5.) We are also open to relocating employees into countries where we do have entities. We've done this multiple times, we pay a relocation fee, and its a great way to hire someone from a country where we can't [yet]. Also note they're "relocating" but are still working remote.
Of course, this is highly dependent on the individual and it is unfair of us to ask or force someone to do this if they have an established family, friend circle, and generally just a life in their existing country. So this only works some of the time!
6.) Despite building process around remote-first, we try to a keep a healthy timezone overlap in each of our teams (3 to 4 hours out of the working day is best). We find that teams that have a team member with a non-overlapping TZ struggle for multiple reasons. So, even though we can hire in many countries now, we'll restrict some job postings to certain countries so we can have that overlap.
EDIT, some additions:
7.) Each US state ALSO requires a legal entity in addition to adhering to state-local employment laws, taxes, and more. At this point HashiCorp has entities in ~30 US states.
Further, there is a tax consequence to the business outside of employment taxes. If you hire an employee in a state, you also now have to pay sales tax on revenue from there. You may argue for/against whether that makes sense, but for a startup this can be VERY expensive.
Our corporate tax obligation would be hundreds of thousands of dollars [less] if we didn't employ people in New York state. We've had to weigh this in cases because the tax obligation from hiring _one_ individual could suddenly be that you can't afford to hire _multiple_ other individuals.
Note we don't want to avoid taxes, that's not what we're doing. But startups are capital constrained and we have to determine long term how we continue to grow and hundreds of thousands of dollars can make a difference.
Finally, I want to note that we're 100% dedicated at HashiCorp to remaining fully remote. We WANT to hire from everywhere. We're establishing the entities and process to hire in new countries full time. 18 months ago we could only legally hire in 2 countries, today we can hire in 8. By the end of the year it should be at least 4 more. We'll continue from there.
I could write a LOT more about culture and process within the company. But this comment is already getting very long and I think I'll keep it to this. Maybe in the future I'll write more about "chat literacy", the importance of decision inclusion, things that definitely don't work, keeping people motivated/happy, managing people you can't physically see, the lack of body language for signaling, and a lot more.
(Offtopic: honestly, I love that website and the work they do. My personal favourite find there is a full copy of "On The Spiritual In Art" by Kandinsky. Reading his thoughts behind his artworks is so much more valuable in bringing his artworks to life than listening to rambling art critics.)
It depends on what you want to get out of it. Are you looking to learn about the business/market, or are you also interested in potentially investing? The S-1 has information on the financials, the stock being offered, the company's capitalization, their business, the market/industry, etc.
At the front of every S-1 is the "Prospectus Summary" [1], which is easily identified as it has a black border around it. It's a condensed version of the rest of the filing, so (a) it may have some parts that don't interest you, and (b) it repeats information that is explained more fully in other sections.
My recommendation is to check out the Table of Contents [2] and click on a few of the sections that stick out to you. Every S-1 follows the same format [3], so if you skim through one of them you'll get a good idea of what will be in others and what you care about.
When I'm primarily interested in learning about the business (i.e., not making an investment), I head straight to the Business section [4].
The MD&A [5] is also great. You'll learn additional things about the business, but it will be mixed in with financial data. A lot of that detail might not be important to you. For instance, there are sections of the MD&A that discuss non-GAAP financial metrics (i.e., financial metrics that are not standardized by the SEC) or the company's liquidity. The headings within the MD&A help a lot.
The Risk Factors [6] can be interesting, but there's a lot of boiler plate info. Skim it and look for things that seem specific to the company. For instance, there's one that says, "The markets in which we participate are competitive..." and it lists companies they see as their competition. A couple pages later is one that says, "We target enterprise customers..." and has some details on customer size and concentration. But then there is one that says, "If we fail to retain and motivate members of our management team or other key employees, or fail to attract additional qualified personnel to support our operations, our business and future growth prospects would be harmed." There are some specifics about the company and the market they are in, but it's also kind of obvious and in there so that a shareholder can't sue them later and say, "We didn't know this was a risk!"
I hope this helps some. It's a bit daunting to see so many pages with so much information. Happy to answer other questions you have. I took a few companies public as an investment banker, then invested in equities at a hedge fund, and also have a PhD in capital markets and disclosure.
Bill Gates is succesful, kind and generous. He never finished college, he reads books and writes about them on a blog. He is that rare combination of super smart and benevolent at the time. Trustworthy. Just read his best friend Paul Allen's book. He has given away increments of the fortune that he earned through honest, legal business practices. DOJ dropped their case against Microsoft because Microsoft was innocent. Microsoft is a different company now, too. Gates' company brought us open formats, like zip-compressed XML files as Word documents and PDF alternatives like XPS. He was such a thoughtful developer, e.g., overwriting MBRs installed by other OS with a Microsoft MBR, and making it impossible to boot Windows from partitions other than the first one, in case you accidentally tried to boot another OS from partition one. Microsoft could have stayed the same but they have changed with the times. They now control access to your professional profile on LinkedIn and your source code on Github. Other companies can read their useful patents and use their clever inventions, allowing the development of wonderful things like Google Android. They transformed the Microsoft company culture. Every employee receives full health insurance and benefits; no more contract workers. Everyone working for Microsoft is happy now. What a great place to work. All bugs in Windows have been fixed; it is 100% secure and is still found everywhere. This is a true story of the American Dream. Work hard, follow the rules and be kind to others and you too can succeed. Bill Gates, a gifted kid from a wealthy, connected family who made his way to the top the old-fashioned way: he earned it. He has always respected the intelligence of Microsoft users, as the story of AARD demonstrates. Bill Gates is a man that be trusted. Like Mark Zuckerberg. It makes sense that Microsoft was one of the earliest Facebook investors. Both men of great character.
The articled linked in HN leaves out the actual basis of the indictment: http://www.justice.gov/usao/can/news/2010/2010_09_16_abrams.... ("In April 2002, her joint federal tax return for the tax year 2001 was filed with a Form W-2 that included a 2001 taxable income that was calculated in part on a number of her Mercury stock options being exercised on April 4, 2001. When her joint 2001 tax return was filed in April 2002, she knew that on April 4, 2001, she had not yet told Mercury what options she was exercising. She also knew that on April 4, 2001, there had not yet been a written action by the Mercury Board of Directors that formally approved the executive loan to pay for the options. Abrams was aware that Mercury’s Stock Option Plan required notice of exercise and payment before a stock option could be considered exercised. She also knew that on April 4,
2001, her stock option exercises had not met those requirements. By failing to meet the requirements of the Plan, Abrams endeavored to claim an exercise date on which the company’s stock price was lower than on later dates. This caused her to file a tax return and amended tax return that understated her wages and caused the IRS to assess an
incorrect amount of tax for 2001, thereby obtaining a tax benefit for which she was not entitled.")
Basically, she said on her tax return that she had exercised her options on April 4, 2001, when not only had she not done that, but she hadn't yet met the requirements for being able to exercise her options at that time. This is not being burned by some esoteric rule where she checked Box A when she should've checked Box B. She filed a tax return that said something happened on a certain date that not only didn't happen on that date, but couldn't happen on that date.
That's why Horowitz's premise is false. He wouldn't have gone to jail for implementing the same backdating scheme. Tons of companies did it, very few went to jail, and those who did went to jail because they let the backdating fiction cause them to either lie on their tax returns or commit affirmative fraud on investors.
Also: to make a more general point--companies are entitled to compensate executives in whatever manner the shareholders will tolerate, but public companies aren't entitled to be deceptive about it. That was the problem with backdating: while the process itself was legal from an accounting standpoint, the fact that it was built on a fiction made it easy to cross the line into outright deception. The wikipedia article actually has a great sentence that captures the whole situation: http://en.wikipedia.org/wiki/Options_backdating ("To be legal, backdating must be clearly communicated to the company shareholders, properly reflected in earnings, and properly reflected in tax calculations.")
It would depend in what scenario you wanted to apply the concepts. I find that the best ROT (return on time) can be had by reading research papers. You need to have an understanding of the terminology or be prepared to slog through it. There are some books that have very useful information.
Below are some of the resources i have been using/used:
A brilliant introduction to systems thinking by John Sterman who is a legend in the field.
Books focused on Application of the theory, with various approaches to systems thinking that can be applied to solve challenges. There is some overlap between the two books below as they both have a catalogue of methods. They are categorized differently. I would read the introductory chapters of both of these and then review the chapter layout and see which of the two i prefer.
Systems Thinking: Creative Holism for Managers by Michael C. Jackson
A brief guide to interactive planning and idealized design by Russel Ackoff
Application of soft systems methodology to the real world process of teaching and learning by Nandish V. Patel
An Application of Checkland’s Soft Systems Methodology to the Development of a Military Information Operations Capability for the Australian Defence Force by R. J. Staker
Defining innovation: Using soft systems methodology to approach the complexity of innovation in educational technology by Glenda Cox
The viable system model: A briefing about organisational structure by Raul Espejo
Complex Adaptive Systems by JASON BROWNLEE
Sustainability, complexity and learning: insights from complex systems approaches by A. Espinosa, T. Porter
Stafford Beer’s Viable System Model An Interpretation By Trevor Hilder
Principles of the self-organizing system by W. Ross Ashby
Guidance on applying the viable system model by Sandra Hildbrand Shamim Bodhanya
Embracing Human Experience in Applied Systems-Thinking by José-Rodrigo Córdoba-Pachón
The Need for a Systemic Approach to Change Management—A Case Study by Guangming Cao, Steve Clarke and Brian Lehaney
I have just included titles and authors, not direct download links to the PDF as unsure about copyrights. Some of my copies of the PDF are stamped with the date-time i downloaded. My email is in my profile if you want more.
Let's get some things straight because the volume of disinformation regarding WSB is enormous and keeps spreading at a rate worse than covid, and the amount of BS i have read even here is just mind boggling.
RoaringKitty/ DeepFuckingValue simply observed that GME had value, did his due diligence, talked about it/presented his thesis on youtube and reddit a myriad of times and there are other thesis as well backing him up [1]. The short squeeze had nothing to do with it. When I joined in I didn't know what a short squeeze was, I read the thesis and it made sense to me, so much so, that I found additional paths based on observation that further increased GME's odds of rebound.
The squeezing was not orchestrated by any single entity. WSB is not a collective, it is not a 'group', there are no hierarchies, nor master minds.
Here is how WSB operates:
A user does some due diligence (DD), and decides that X is a great investment opportunity because there is value (this is what DFV did). Any user is allowed to comment or refute said DD. In the end, none of it is financial advice, it is nothing more than, hey this is interesting take a look. All of this is based on public information that anyone and everyone is allowed to access. We don't do insider trading like the politicians or HFs.
Then during the summer somebody realized that it was actually possible to achieve a short squeeze simply because certain companies overshorted the stock [2]. The user presented the thesis and again, anyone was allowed to refute or argue about it. Again, none is financial advice.
Over the next weeks people read more about it and decided that it was a good idea to join in, simply because Ryan Cohen went on board and there were some other catalysts as well.
While all of this was happening. WSB was vilified, ridiculed, attacked, and subject to FUD [3].
If you read anything about WSB from anyone. Assume you have been duped, and that includes my comment as well, see for yourselves [4,5]. All we do is literally bet on stocks based on publicly available information. The fact that the media has attacked and vilified the proletariat with nothing to lose instead of those with billions and everything to lose suggests there is more to the story than a bunch of fiscally irresponsible and self proclaimed retards and autists tanking the market [6,7,8,9].
Some companies have released salary percentiles (relative to HQ) for the adjustment to remote. For example, a company in the Bay Area published this for total comp. Most companies seem to be following similarly:
I will forever associate Larry King with the movie “Spin”. [1] It’s a rather brilliant indie documentary about the 1992 (Bill Clinton / HW Bush) election based on a fascinating technological element: back then, Satellite TV feeds would often just keep running during commercial breaks, or warmups.
So the director recorded a TON of footage from these moments where the politicians and news anchors acted themselves, seemingly unaware that anyone was watching.
The segments with Larry King are, um, memorable. Very candid moments.
"An Amazon spokesman said the company doesn’t use confidential information that companies share with it to build competing products"
Maybe...but in the past, AWS proactively looked at traction of products hosted on its platform, built competing products, and then scraped & targeted customer list of those hosted products. In fact, I was on a team in AWS that did exactly that. Why wouldn't their investing arm do the same?
Ask any marketer — it's (almost) never the marketing. Or, rather, it's never the marketing of the "hype and subterfuge" kind. No product dominates the market for decades due to hype and subterfuge, let alone hype and subterfuge deployed decades earlier. It's always the product. It's just that what matters about the product to most people is often not what matters to some minority that insists that “technical excellence” is defined by their own preferences. In the famous VHS vs. Betamax war, the technically superior product won, it’s just that it was superior in matters that appealed to many and inferior in matters that appealed to few. The few famous cases where it was the marketing (diamond rings, maybe?) stick in our mind because they're the exception, not the rule. Blaming marketing problems is often an excuse to overlook product problems.
Second, the problem with the message of "code written in Haskell is more correct than code written in other [more popular] languages," isn't that the industry doesn't care about correctness. Correctness translates to cost (to a degree), and the ability to write software as correct as it needs to be more cheaply is actually quite compelling. Rather, the problem with it is that it's simply not true (or, rather, hasn't been shown to be true), certainly not to any degree big enough to matter. That, in and of itself, does not make it a terrible message; after all it's just harmless hype, right? What makes it a terrible message is that it is very clearly not (shown to be) true and yet some Haskellers seem to actually believe it, drunk on their own kool-aid, which makes you think of them as out of touch with reality. At best, it's an emotion (it "feels" more correct), which you've mocked, rather than any sort of "critical thinking," that you present as the desirable standard.
Third, the mistake in the perception of the economics of software is not the importance of correctness — that can have an easily measurable impact. It's in the importance of code. Programmers in general, but Haskellers in particular, are obsessed with code. As a result, they grossly overestimate its importance to software. Ask yourself how long it takes you to produce, say, 1000 lines of code of sufficient quality, and then look at a software produced at your company and divide the size of the codebase by the number you came up with. You'll find that the true cost is several times that. The "pure" cost of producing code is not where most of the cost of developing software is. Maybe it's in what you mockingly call "emotions", but it certainly isn't in programming-language semantics. Also, before presenting managers' priorities, it's better to actually speak to actual managers; they just might have some useful insight here, plus, it's what a culture of technical excellence demands, no?
All of that means that unless your language has some clear and direct effect on the bottom line — which, these days, usually means it has good performance and/or observability, a good ecosystem, or a monopoly of sorts on some distribution platform -- there is no "message" that can make it popular, other than "it's easy and it's fun." While perhaps not a sufficient requirement for success, this can create a supply of qualified developers that at least won't put your language at a disadvantage.
And here's another tip: if your retrospective introspection isn't painful, doesn't discuss any serious and conspicuous flaws with the product, and still paints you as being somehow right after all and everyone else as being somehow wrong — it's probably not true. Worse, it seems untrue. And not calling your own practice one of "engineering excellence" and others' as "throwing enough bodies" can't hurt, either. In other words, I don't know what a good marketing message for Haskell would be, but this post is a good example of a bad one.
I basically set up my GDB with commands to stop on a specific pattern of "lseek, then close", and if the pattern isn't met it just automatically continues the program.
This is what the gdb script looks like:
set height 0
catch syscall close
catch syscall read
catch syscall lseek
disable 1 2
commands 2
disable 1 2
continue
end
commands 3
if $rdi == 31
enable 1 2
continue
else
continue
end
end
The lseek catchpoint (3) enables both read and close catchpoints; if the read catchpoint (2) is hit first it disables both and continues. This way we look for lseek followed by close without intervening reads.
It generates a few false positives but otherwise fairly quickly stops on the right syscall, at which point I could backtrace and prod the live program.
- If someone gives you specs and you notice that something is off, what do you do?
- If you have to solve a problem you haven't solved before, how do you approach it?
- What's your take on accessibility on the web?
- What's your process like for deciding that you're at the point in your career where you can mentor others?
- What do you prefer to do when you see someone else getting nit-picked?
- You're just about to finish a feature and have a great idea for improving it. What do you do?
For all of these things, people will likely give different answers but those answers will tell me a lot about whether or not they would end up being really useful for the kinds of teams I build.
One of my favorite patterns for updating configuration in-band I learned from Juniper routers. When you enact a new configuration you can have it automatically rollack after some period of time unless you confirm the configuration. Often the pattern is to intentionally have it roll back after a short period (e.g. one minute), then again after a longer period, (e.g. 10 minutes) and the on the last time you make it permanent. I feel like all configuration systems should allow for a similar mechansim
It shows how important avoiding competition by being in an overlooked industry is, or selling quickly before it becomes a slug-it-out battle between well-capitalized growth companies.
By contrast, the 3 GitHub founders each took home about $1.25B from their $7.5B acquisition. Mark Zuckerburg's Facebook stake was worth about $20B in 2011, out of the roughly $85B market cap. Larry & Sergey own 11% of Google today, 15 years after it became a public company. Kevin Systrom netted about $400M from Instagram's $1B sale. The three YouTube founders took home around $700M of YouTube's $1.65B sale. Jan Koum and Brian Acton together took in about $11B of WhatsApp's $19B sale, including continued stock incentives (they may've forfeited some by departing FB early). AFAIK Markus Frind took home nearly all of the $575M that PlentyOfFish sold for.
I was also surprised at how low the founder ownership stakes were for Box (3% IIRC) and PayPal (Elon Musk was the largest founder shareholder at about $85M of the $1.5B purchase price). It really does pay to keep capital requirements low, profits high, and get on the hyper-growth curve before taking lots of capital rather than taking lots of capital so you can get on the hyper-growth curve.
For the past several years I've become deeply involved in interviewing at my company (hint: it's big and is really good at things like search and ads). I've done hundreds of technical interviews here, and I also teach a class to train employees how to interview. I'm also involved in evaluating candidates who have gone through the interview process.
In my position, I get the occasion to read a ton of assessments written by interviewers. Some of the most striking assessments are the ones where the interviewer is cock-sure that they completely nailed the candidate's utter and complete incompetence. It's usually an interviewer who's been asking the same question dozens of times over a year or more. They've seen every variation of performance on the question, and they've completely forgotten what it was like for them when they first encountered a question like that.
It's total lack of empathy at that point, and if the candidate doesn't exude near-perfect interviewing brilliance on that specific question, the interviewer judges them as essentially worthless. Interviewers like that sometimes even get snarky and rather unprofessional in their writeup, "Finally, time ran out, mercifully ending both my and the candidate's misery."
If I were to diagnose one of the causes of this phenomenon, I'd say it is bias. The interviewer best remembers the candidates who performed exceptionally well on their question, triggering the availability heuristic.
There are tactics that I think can be effective to bust those biases. One might be to put an upper limit on the number of times an interviewer is allowed to ask any given question. Once they've asked maybe 20 or 30 candidates the same question, it's spent. They have to move on to something substantially different.
There are some other experiments I'd like to run. One of them is to have interviewers go through a one-hour interview themselves for every 50 or so interviews they give. Maybe match up an interviewer who has a track record of being especially harsh on candidates for not giving a flawless performance on the question they've been asking for a while. The idea is to see if we can't bubble up some empathy.
I'm going to first share a personal experience from my early trading days to illustrate where I'm coming from. I used to wake up at 4:30 am everyday in the Chicago suburbs to beat rush hour traffic and make it into downtown Chicago at 6:30 am. In order to wake up so early, I fell into a habit of sleeping at 9:00 pm and like a robot waking up at 4:30 am. This simple routine was indirectly helpful when things seemed darkest.
For the first six months, I lost money and was ridiculed constantly by other traders who were more successful than me (which was about 20 other guys CONSTANTLY using me as a punching/whipping bag). The only thing that kept me going was the fact that some of the very same traders that would be making wise cracks at me for losing money were some of the most successful people I knew at the time. For better or worse, if I needed a trader to model myself after, it was the same people that were telling me how bad a trader I was - and although I was not open to really hear what they were saying, they were right about my skills in every way (but their feedback was always packaged in some sort of insult).
After racking up some rather hefty losses, I was determined to quit at one point during month four, but because I had a habit of waking up at 4:30 am I simply "forgot" that the night before I told myself I would quit and spare myself further humiliation...by then I was warned that I was now on the red list of traders ready to be cut. Also, my personal savings were starting to approach zero (the base "draw" for house traders was enough to pay for food; you usually make your money on a percentage of your profits, and I was deep in the red at the time).
To say the least, there were many excellent reasons to be "reasonable", forget about my dreams, and quit.
After 4 consecutive "failures to quit", I realized that I didn't quit because somewhere deep down I was hanging on to a dream, however remote at that point: that I could somehow be as successful as the other traders that I knew. At the same time I realized that I had hit rock bottom in that I couldn't even succeed in failing! Very tough times indeed...
An interesting point to note here is that although my losses were starting to get very large, the people who were funding me as a trader kept me because I had one redeeming quality: EFFORT, and this helped build tenacity. Other traders who barely traded but had a fraction of my losses were cut much faster because they didn't put forth much effort. They were not willing to take losses and be bold/brave and fight it out; I was willing to take risks, and this saved me from getting cut faster than others.
Slowly I began to reinterpret the constant humiliation I was suffering: perhaps the other traders were right about their "jokes" and there might be something in what they are saying that will help me get out of the red. I also realized that since I had failed at quitting (which was now the ULTIMATE failure), there was no further failure for me and that if I took baby steps they were surely to succeed (this translated into taking smaller trades/profits).
Only after improving upon my abilities as a trader and channeling my energies appropriately did I succeed and earn everybody's respect as a trader (and you have no idea how this made me feel!). I quickly made enough in commissions to be trading my own account, and be successful as an independent trader onward. When I look back at those final months of 1999 (yeah that's right, I was losing huge cash at the end of 1999 when the entire market was going crazy UP!), there was more good than bad even when I was getting my ass handed to me. It's just that I was intentionally creating my own feedback (I'm right everybody else is wrong) instead of seeing the results I was getting (losses/insults) as feedback and information that would help me be successful.
I kind of snicker every time I see somebody ask for feedback on their startup on YC.News only to end up justifying themselves by telling everybody why they did what they did when they get negative feedback, which is the feedback of greatest value. If somebody tells you how crappy your idea is, thank them that they even spent a few brain cycles considering your idea.
The lessons I learned from this that are perhaps relevant to your questions:
- Determine if you believe in yourself to succeed as an individual (I know this sounds odd, but for a moment just examine your thought patterns and your actions and see what message you are sending to yourself; do you listen to the voice that says you can't or are you paying attention to the feedback from your efforts and the results you are getting?)
- Search deep down inside and see if the project you are working on is something you believe in or not. If you can't sell yourself, then you shouldn't bother trying any further...
- ANY attention you get for your efforts is good attention. If you get LOTS of negative feedback, then be grateful - you've jumped the first hurdle of getting people to give a damn about what you are doing! :)
- There is responsibility and accountability that goes with both success and failure. You need to be ready for both because they can be equally painful in equal ways. The amount of accountability that comes with success can be more unbearable than the accountability that accompanies failure. I personally know of some very talented people who enjoyed phenomenal initial success only to find just as fast that they were in over their heads.
- The more you resist the possibility of failure then you are less likely to recognize possibilities that will help you succeed. If you are afraid to fail, then most certainly you are afraid to succeed. This sounds counterintuitive but it's based upon the fact that fear makes your mind less supple and less responsive to the changes that will push you out of the game - or conversely it will lessen the impulse to jump on the opportunities you need to succeed.
- The results you get has everything to do with your users/market and less to do with you as an individual; it's sometimes hard to separate these two. See the other side of the equation and what side you are on before trying to solve it. Don't ever think you are above the feedback of your users...EVER!
- Don't have expectations (this is just setting yourself up for failure). Because you are starting out you may not know what is best to help you succeed - ESPECIALLY if you're lacking motivation. Keep in mind that whatever results you get from your efforts will lead to more possibilities (in the form of additional information).
- Have some behavioral "context" within which to exercise discipline and structure. Seek to grow your efforts within this context. My context was my sleep schedule. It was a routine that was so ingrained that my drive had a laser focus. This might not work for some, but it worked for me.
Finally, I will add that in my opinion failing hard and fast is MUCH better than failing slowly. The faster you know for certain something isn't going to work out, the sooner you can cut your losses and move on to your next idea. When you eventually succeed, you will look back at all the times you were quick to cut your losses and get to where you are...
Please do NOT contact me asking for advice in trading/investing. This is a VERY personal thing, and it has everything to do with who you are, NOT with how much information you have, or which tools you use, or who you know.
(3) As you work for clients, keep a sharp eye for opportunities to build "specialty practices". If you get to work on a project involving Mongodb, spend some extra time and effort to get Mongodb under your belt. If you get a project for a law firm, spend some extra time thinking about how to develop applications that deal with contracts or boilerplates or PDF generation or document management.
(4) Raise your rates.
(5) Start refusing hourly-rate projects. Your new minimum billable increment is a day.
(6) Take end-to-end responsibility for the business objectives of whatever you build. This sounds fuzzy, like, "be able to talk in a board room", but it isn't! It's mechanically simple and you can do it immediately: Stop counting hours and days. Stop pushing back when your client changes scope. Your remedy for clients who abuse your flexibility with regards to scope is "stop working with that client". Some of your best clients will be abusive and you won't have that remedy. Oh well! Note: you are now a consultant.
(7) Hire one person at a reasonable salary. You are now responsible for their payroll and benefits. If you don't book enough work to pay both your take-home and their salary, you don't eat. In return: they don't get an automatic percentage of all the revenue of the company, nor does their salary automatically scale with your bill rate.
(8) You are now "senior" or "principal". Raise your rates.
(9) Generalize out from your specialties: Mongodb -> NoSQL -> highly scalable backends. Document management -> secure contract management.
(10) Raise your rates.
(11) You are now a top-tier consulting group compared to most of the market. Market yourself as such. Also: your rates are too low by probably about 40-60%.
Try to get it through your head: people who can simultaneously (a) crank out code (or arrange to have code cranked out) and (b) take responsibility for the business outcome of the problems that code is supposed to solve --- people who can speak both tech and biz --- are exceptionally rare. They shouldn't be; the language of business is mostly just elementary customer service, of the kind taught to entry level clerks at Nordstrom's. But they are, so if you can do that, raise your rates.
My default response to any "good programmer, bad programmer" post:
A smart accountant once told me that the answer to "How much money did you make?" is always, "Who wants to know?" If it's an investor, the answer is "A lot." If it's a customer, the answer is "A little." If it's the IRS, the answer is "None."
Same thing here. The answer to "Who is a good programmer?" is always, "Who wants to know?"
To a project manager, the programmer who hits every deadline (regardless of quality) is a good programmer.
To a customer, the programmer who solves their problem quickest is a good programmer.
To a business owner, the programmer who makes them the most money is a good programmer.
To a PHB, the programmer who makes them look the best is a good programmer.
To a journalist, the programmer who tells the best stories is a good programmer.
To a junior programmer, the best mentor is the good programmer.
To another programmer, the programmer they are most likely to want to go into battle with is a good programmer.
To a blogger, the programmer who best fits the profile of the point he is trying to make is a good programmer.
Those who forget history are doomed to be dogmatic software developers.
A lot of stuff we take for granted are either accidents of history, or powerful counter-reactions to the accidents of history.
There is a practice, and it turns out to be bad. Mild discussion of the virtues and vices would, in a world composed of Asimovian robots, be sufficient to update the practice to something better.
But that's not how humans work! Typically an existing practice is only overturned by the loudest, most persuasive, most energetic voices. And they have to be. Humans don't come to the middle by being shown the middle. They come to the middle after being shown the other fringe.
So a generation changes its mind and moves closer to the new practice. Eventually, that is all the following generation has ever heard of. The original writing transforms its role from mind-shifting advocacy to the undecided to being Holy Writ. The historical context, and with it the chance to understand the middle way that had to be obscured to find the middle way, is lost.
My previous role was as an engineer teaching other engineers an XP-flavoured style of engineering. I often referred to our practices as "dogma", because we are dogmatic. But if we aren't, less learning takes place. Dogma is most instructional when someone later finds its limits.
When I was learning to coach weightlifters, I was told something that has always stuck with me: "As a coach, you will tell trainees a series of increasingly accurate lies". You can't start with nuance. In the beginning, it won't work.
Similarly if a group of tourists gets lost in the jungle we don't call that a study of prehistoric tribal life.