This is one of the key phrases. You built something amazing that someone wants to have. If they set you up with a good job, you should take the offer.
As nhangen said, try to get a long vacation and take it. My recharge tip would be: Find a nice place to stay for at least 3 weeks. Maybe something with a beach and all necessary shops in walking distance (if you are in Europe, Paros is amazing). Stay for at least 3 weeks. The first week will be strange, it's really hard to come down from a lot of work. The second week will feel better, you start to relax. The third is bliss - you come down and kind of only wander between different states of relaxation (wake up, nice breakfast, beach, maybe a nap, afternoon tea, dinner, sleep). It really helps to get ready for the next step and gives you enough distance to re-evaluate what you want to do.
I say this as somebody who has recently returned to work after 2 months away due to surgery and needing rehabilitation post-surgery that was very intensive. I'm still feeling burned out, and I'm hoping to take a couple of weeks out in a month or two to just regroup and gather my energy back.
You need to figure out whether you can take some time out before making a decision, or if you need to make the decision now and then take the time off. If the acquiring company won't let you have enough time off (or more depending on the surgery), well, that's a problem, and you need to talk to your co-founder about whether you can do it whilst in the company.
The absolute top priority in all of this is your health: you can't pivot, sell or work for somebody else if you're not well. Deal with the burn out and surgery as an urgent priority, everything else is secondary.
The harsh criticism against acquihires is mostly reserved for companies who raise too much, too fast and/or lavishly waste money and opportunities available to them. That doesn't sound like you at all.
Use the r&r to recharge, and the acquisition to bolster your track record. Start something new once you vest.
I had a startup, but we never were able to secure funding before we folded. We got approached by a company that was both interested in our product and also wanted to invest. When this happened, we've already been doing the startup for 2.5 years, and I was already pretty tired, burnt out, often thinking about opportunity costs, esp. when having beer with "normal" friends. I had a pretty bad feeling about going into this negotiation for a number of reasons, mostly because I was already pretty tired, and at this point we learned a lot about the downsides of the business we were in (enterprise software sales).
But despite this feeling, we agreed with my cofounder that we'd go for it, after all, this is what we had worked towards! It wasn't a bad decision---it was a gamble, and we took it. But for me it would have been better if we didn't take it. The negotiations went on for a year, it was very painful, I became pretty depressed, couldn't sleep, one time for a straight week (!). In the end the other party pulled out of the deal for totally unrelated external reasons, outside of our control, and we folded the company. But also my then-wife left me and I got divorced. I payed a big price for the gamble I took in that last year.
I'm still happy that I did that startup (2009-2012), and I plan to do one again, this time much wiser. But today I would not take that last gamble, I'd call it quits there. If it doesn't work, if it doesn't feel right, then stop.
One good thought experiment is this: imagine you continue on. Then you probably have to hire people at some point. Imagine hiring +3 people. Two have families, kids: they will quit their current job to come to work for you, on your project, at your company. Does it feel right? Imagine them showing up on the first day, and you're their leader, you have to motivate them, etc. Does it feel right?
If you feel like you need someone to do a mental dump on and you are in the Bay Area, please feel free to contact me. My email is on my profile.
Given the amount of stress you are dealing with, this sounds like a good thing to me. You get to undo the damage this has done to your finances, I assume it also would let you get the surgery you need and you can stop running yourself into the ground.
What are you hoping to get if you don't take this? What makes you hesitate to take it? Are the things that give you pause genuinely realistic scenarios or issues?
I've gave up the startup life a few years ago(without really counquering anything beyond experience) meanwhile I've got married, moved to a better country etc.
But I know all those things happened because my first tries with startups and so on gave me the work ethics to conquer the shit I wanted, and this will be kept my whole life, just as it does for you.
You can have your new shot when you are bored off your new job, and perhaps even with more funds as before... to perhaps make something even greater.
Just sell it. Almost none of business people generate today are actually make a profit or grow big, but there are many which makes competitiors or old companies be on "fear state", making they buy the business and you cash out well. That's a pretty good plan!
You don't need to end up with a billion dollar company to be happy. Even making 500k in 2 years is a good amount of money. You can invest this in funds and go salaried mode again.
You are doing well! But please don't neglect your health. It's the only thing that really matters. Make sure now that your health is perfect, you get enough exercise and you are satisfied with your life.
And I'd agree with others that 18 months isn't very much, 6 months without pay is even less impressive. But that doesn't really matter, in the end it's up to how you feel. Just don't expect too much sympathy. A better way to look at it is this: what are the chances that your startup becomes a 10x:er? Investors donttreally care if you keep it up for another year and increase the calue of the company by 20%. Could it become massively successful or not?
Are you suffering from burn out?
If you are, I have some bad news for you. An acquihire likely won't provide a short term fix to your burn out. Instead, going from co-founder to employee will be stressful. You will have a new set of organizational politics to deal with, and you may find yourself plagued with constant "what ifs".
If you do take the acquihire, remember that your start date is an incredibly important part of the negotiation. If you are burned out (and seriously my friend, you sound burned out), take a bit of time off before you start.
From what I understand (no disrespect meant, just anecdotal accounts), it's more difficult to remain hired as a coder after 40 (especially with kids). Getting some management experience on your resume will help later in life.
Then when you come back, spend a week brainstorming with your co-founder on a new idea (pivot). Prepare a few slides, setup a meeting with your investors and ask for their support.
If they don't like it, sell.
It's possible to be a true believer but still have doubts about logistical matters, such as ability to execute or the product's sales potential.
If you and your founder are completely demoralized on all fronts, have been for some time, and there's no way to rectify that (e.g. perhaps fixing your burnout), then by all means throw in the towel.
If there's still a spark somewhere, then do what you think is best.
>...and hundreds of thousands of dollars of opportunity cost income, I am tired.
I know the feeling, and it burns. Perhaps you can negotiate the acquisition offer to make up for that?
Also, you can give it another go in a few years. There's nothing stopping you from doing that.
also: White People Problems. (aka: extreme First World Problems.)
At one point I was juggling full time university with a full time job and an open source project on the side. My grades suffered, the startup I worked for failed, my open source project failed. I did manage to graduate though.
Then I started another open source project, worked on it for 2 years, it also failed because of tough competition.
So then I started yet another open source project and finally it did well and people seem to like it (almost 4k stars on Github) - It's been 3 years.
I was working full time the entire time and I was exhausted all the time.
There is no point complaining about your situation because there is always someone who has it worse than you.
You have to learn that nobody cares and nobody will try to help you - I think this is the right way. I personally don't mind the struggle but I hate to see people getting easy exits because someone wants to protect someone else's feelings. Nobody deserves anything.
I wish more people would understand how it really works and you can only get that from continuous failure over many years. It gives you a more accurate feeling for what the odds really are.
Open source (-ish?) Yubikey alternatives
https://sc4.us/hsm/ $75 | https://news.ycombinator.com/item?id=12053181
https://trezor.io/ $99 | https://news.ycombinator.com/item?id=10795087 (not much on HN)
https://www.floss-shop.de/en/security-privacy/smartcards/13/... 16.40 (OpenPGP Smart Card v2.1; 4096-bit keys)
https://www.fidesmo.com/fidesmo/about/privacy-card/ 15 (NFC only; recommended by the terminated SIGILANCE OpenPGP Smart Card project; 2048-bit keys)
It is also hackable: https://doc.satoshilabs.com/trezor-tech/resources.html
The device uses strong encryption (where legal), and goes beyond U2F to include password management, certificate storage, OTP/Google Auth, and plausible deniability. The hardware is teensy-based, and the firmware is open source. The devs have released fairly regular updates, and even encourage hacking on it to meet custom needs.
- Lets me store certificates and PGP keys
- Has two factor authentication (U2F)
- Has open hard and software (source-available)
Basically, a USB pen drive that allows U2F, and is can be made read only (either by a switch or only writable over a special interface). I don't really need tamper-resistance, pre-generated keys, smart cards or any other advanced features.
The alternative to Yubikey that I am aware of is NitroKey, but can't say I am aware of how they match up, feature for feature
It's fully open-source, but the only standard application currently supported is U2F.
Disclosure: this is my product.
I've been toying with the idea of building an open source replacement and fabbing it with a shuttle service but ultimately the cost is really too high to justify.
I've had 2 Yubikeys replaced at their cost after published security exploits highlighted shortcomings. Also haven't had one fail on me yet. Would be curious to learn what your experience was.
The problem currently is a) most sites want passwords b) I do not want to mess with cables c) NFC is not ubiquitous.
That said, I have looked for alternatives and found none.
I am most disappointed in the mediocre coverage of their RDP drivers. I need to use all the features over RDP. Some work and some don't.
AFAIK they are used at Mozilla. The Firmware is Open Source. Downside is that not all their dongles support U2F.
The gotchas I've encountered while using them on OSX:
- The pins for PIV and OpenPGP are separate as these are separate modules on the card. - You can't use the PIV or NEO GUI managers and gpg at the same time. You might have to unplug and plug the token back in when switching back and forth between GUI/cmdline Yubico tools and gpg. - Forgetting to change my environment to use gpg-agent instead of ssh-agent. - Typing in my local password instead of the PIV pin when logging into OSX while I have a token with PIV enabled plugged in.
For people asking about backing up material on OpenPGP modules: these are write only. Generate your material locally with gpg instead of generating them on the smart card itself and use the keytocard command to copy the keys to the card. You can backup your keyring prior to moving keys and restore it before copying keys to each card or ctrl c out of gpg without saving the keyring references for the material that was moved to the smart card.
I used bits and pieces from a few guides to get the setup I wanted as this was my first experience with smart cards and advanced use of pgp:
Overview of my process (on an air gapped machine):
- Configure gpg.conf. - Generate master, subkey, and revocation material on an encrypted USB drive for offline backup of materia along with revocation certificates. - Backup original .gnupg directory to another folder on the encrypted USB drive. - Copy .gnupg directory to second encrypted USB drive for offsite backup. - For each smart card I wanted the same material on: -- Change default user and admin pins. -- keytocard subkeys for (S)ign, (E)ncrypt, (A)uthenticate (without saving keyring). -- Require local touch for all material ( Yubico specific: https://developers.yubico.com/PGP/Card_edit.html ). -- move on to next card. -- save keyring after running keytocard on the last card so the subkey material no longer exists in the local keyring, only references to it (this might not be necessary, I need to test). - Generate a copy of the keyring without master key to use on daily machine(s). Might also only need to have the master material minus the key in the keyring as noted above. I haven't tested how - Copy new keyring to another USB drive for transferring to daily machine(s). - Configure gpg-agent.conf and gpg.conf on daily machine.
Not to dismiss YubiKey but companies that can afford 2 factor and take security seriously already have SecurID for a long time.
Meetups for same reason as above.
Also Craigslist has surprising yield, despite lack in diversity.
Around the same time, it was revealed that my partner who I had a formal agreement with, had known for years, trusted and considered family, had actually gone behind my back, while lying to my face, and began working with the former partners above, to make a deal for herself, to undermine my position from the inside.
Three big betrayals in as many years. By people who I had considered family and the ones I could actually trust. It has been very hard to deal with. Particularly hard was I remembered a time when I actually trusted people and I felt strong and life was good. But as soon as I showed some signs of weakness, it was like everyone I had been close to suddenly piled on to take advantage of it. It really felt like kicking me while I was down, by those whom I considered I could trust with everything.
But I still think of trust as something important, so my question is how do you handle betrayal by your inner circle, and how do you trust people, any people, not necessarily the betrayers, after you've known it?
On a personal level, I find that simply accepting that people will hurt you, and deciding whether or not being an open, trusting person is worth the harm that might occur (I happen to think it is).
Limit the amount and degree of 'credit' you give people to what you can equanimously accept as a loss, expect people to occasionally violate that trust, plan for it, and understand that it is simply one of the costs of being a decent human being.
I never loan a book, I only give them away. If people later give them back, that's wonderful but not required. I don't ever let someone borrow something I wouldn't give them as a gift on the spot. In business, you either have full control, a negotiated agreement (which should cover things like how to make decisions when you disagree), or you're just a passenger along for the ride.
People minds are dynamic systems. Even if you trust a human now, you can never be sure what changes will occur in the future to make that human choose differently then expected based on previous experience - child sickness, family troubles, hormonal disturbances, environmental toxicity, parasites, whatever really ... anything can influence human behavior in radical manner.
Notice that time here is relevant. Given small enough time scale, you can definitely trust people. And vice-versa.
So, the question is not how to trust people, because you can't trust anybody given enough time, the question is how to plan things in your life so that broken trust isn't detrimental for your status.
You can find a lot of similar stories and advice on stackexchange: https://money.stackexchange.com/questions?sort=votes
And regarding your 3 unfortunate betrayals, just remember: people can justify anything.
I recently got fucked over by an ex-GF then long-time friend. Good Canadian girl. Daughter of a preacher. It can be hard to judge someone's character
I don't trust anyone but my parents to put me before their financial self interest. I don't even trust my siblings to do the same, and we aren't on bad terms, either.
The only reason they wouldn't "betray" you is if they saw more long term value in being in your good graces. It's not that they hate you. It's that they love themselves more than they care about you.
A close family friend is a notary dealing in family estates. From what I can tell about human nature, whenever there is money involved, people fight. Fighting between siblings over inheritance is basically the norm, something to be expected. Same goes for business partnerships where two friends decide they will own a restaurant together. And if they manage to not end up fighting, their families will when one of them dies. Something else to keep in mind.
On a site like this most replies will take you at face value and try to comfort you. Alternative take: you are the common factor in all these supposed betrayals. If we asked the others, do you think we'd get different perspectives on what happened?
It sounds like they regretted the verbal only, "handshake" investment, and wanted something in writing. That actually seems prudent. Is there more to that part of the story?
Of course, nothing beats spending a little less time looking at the screen, though...
I wear glasses and would describe my eye problems as being mostly about having dry, tired eyes. As I age, my prescription is changing so I almost need bifocals (but I'm too stubborn to get them).
With those issues, the following has worked very well for me:
1.) Eye drops. Visine is absolutely amazing and, as a bonus, whenever my daughter keeps me awake all night, my eyes aren't red the next day.
2.) Walks. Since my daughter was born, I have been putting on the pounds. So, I kill two birds with one stone and go for a walk about every two hours.
3.) Change my focal point. There's the old 20:20:20 rule (every twenty minutes, focus on an object twenty feet away for twenty seconds). I'm not that rigorous, but I do something similar.
4.) Force myself to blink. At a hackathon in December, I sat across from a developer who told me that I don't blink very often when I am deep in thought. Oops.
I've seen a few Ophthalmologists, official diagnosis is Blepharitis but ultimately my eyes are constantly tired, floaters, sharp pains, dry from the moment I wake up and have nearly constant muscle spasms.
I've tried fish oil, antibiotics, Restasis, numerous drops and gels, various apps, changing behavior etc. I haven't found the silver bullet but I give my eye lids massages and try to drink plenty of water and try to avoid environments that make it worse. I limit computer use to work hours only and am in a role where I only really use a computer for ~4 hours a day. The last few years things haven't gotten worse but haven't gotten better either.
Best advice I can give is take breaks and have hobbies that don't require a computer.
I suggest first minimizing eye strain by ensuring you have proper background light, and that your screen brightness isn't too high. Beyond that, try and remember to blink. It helps to take a moment every once and a while and just close your eyes for a few seconds. Even better if you just take regular breaks, focusing on something other than your screen for a few minutes. Periodic breaks have benefits that extend far beyond just your eyes.
From what a doctor told me after a recent abrasion, your eyes move around while you sleep, and if you have dry eyes your eyelids will irritate your eyes. Obviously, if they irritate you enough it'll disrupt your sleep. After a few days of use when my eyes started to heal I slept like a baby, and felt great after waking up.
I still regularly use eye drops, but if my eyes are noticeably dry I'll use the eye gel during the night, and by the next day my eyes will feel great.
I also use f.lux as well as using saline eye drops at the beginning and end of the day.
Frankly, I don't know what do do else. I'd be curious for tips people have.
I try to couple it with short meditation breaks, 5-7 mins, to get in the habit of switching my brain off and giving my eyes a rest.
Also note, if you put a university on your resume that you never attended or graduated from that university could sue you for fraud if or when they found out about it.
It would be even more severe if this was for a government contractor or agency, as you sign legal documents saying everything listed is truthful. Depending on the job they will actually send an investigator out to everyone and every job you listed and you could get caught up legally before you even start your first day of work.
There is no reason to lie on your resume, would you like for your employer to lie to you in the job application? My advice is to always be truthful on your resume as once you start lying you may find yourself in a job where the lying can only get you so far and you end up in a position above your capabilities and your friends, family and coworkers will find out about it and you would eventually be publicly reprimanded or even blacklisted from your industry.
Pretend you were working at a company with a hundred engineers. Do you understand how easy it is for every single one of them to simultaneously feel like you do? The React mavens feel like they're just knocking together JS and wonder when they'll be allowed to do real engineering. The backend specialists wonder why they don't understand networking or servers better. The DevOps folks envy folks who build things. The American office wonders why they can't speak foreign languages; the German office marvels that anyone can learn Japanese; the Japanese office worries their English isn't up to the global standard.
There's nothing wrong in specialization -- it's how we stay sane. A very workable and easy to understand formula early in your career is specialize in two things; you don't have to be better at X and better at Y than everyone you meet, you have to be "better at X than anyone who is better at Y" and "better at Y than anyone who is better at X." This is very, very achievable, regardless of how highly competent your local set of peers is.
Also, unsolicted advice as a sidenote, but life is too short to spend overly much time in negative work environments. Assuming the negativity isn't coming from you, changing environments to one of the (numerous!) places where happy people do good work might be an improvement.
1. Programming chips in binary, machine code, and C. You need a variety of chips. Try to learn at least 5 from each manufacturer.
3. Learn Scala, Rust, Haskell, C, C#, Java. (Python and Ruby go without saying).
4. Learn R, machine learning, statistics (prob and regressions), linear algebra and multi-variate calculus.
5. Learn growth hacking (edit:) and lean startup, human centered design, and design thinking.
6. Learn accounting, finance (go through Markowitz, to Black Scholes, Fama, CAPM, and factor models. Read the original papers only and implement everything yourself, in 2 languages).
Now you are ready to read HN.
I'm in this for 30+ years now. (Yikes!). My resume is somewhat nice. I've got a deep store of knowledge and experiences. A large group of people considers me somebody you ask for advice.
And yet, every day, I still learn something new.
Sometimes because it's a new paper cycling about. Sometimes an HN article. Sometimes because some other senior person shares from their wealth of experience. And quite often because a junior does something in an unexpected way - knowledge comes from every corner.
I still feel like I have no idea what I'm doing. I'll probably feel that way for the rest of my life. All my colleagues do.
So, don't worry. There's always somebody who's better than you, and that's great, because you can learn from them.
Fast forward ten years and every discipline of web development now goes very deep. It's still worth it to have a broad skillset, but it's no longer practical to be upper echelon across the board in web development. This generally leads to a feeling of overwhelm and regret that I can't learn all the things I possibly might want to learn, but on the bright side the playground is bigger than ever.
My advice is don't spend too much time thinking about the big picture, instead pick one practical project at a time and spend 95% of your time making it the best you can. Even if you only read HN a couple times a month, that's all you need for basic awareness of the landscape. By giving yourself heads-down time you can replace some of the overwhelm with a feeling of accomplishment, and you'll be growing your skills to boot.
To reiterate though, pick your battles, follow your interests/employment possibilities, and make peace with the fact that you can't know everything.
Up to a short time ago, most humans never ventured farther then 5 miles from their birthplaces in their entire lives. Before printing presses, books, and finally newspapers, all news was word of mouth...a very limited bandwidth indeed.
Even newspapers really were nothing but mostly gossip and had very limited work-related information for almost everyone, so feeling totally overwhelmed by the avalanche of targeted career knowledge is not only ok but actually totally appropriate.
Usernames are de-emphasized and there is no indication of karma/reputation. A trick of perception can lead one to read this forum as if the same handful of broadly knowledgeable people are participating in every discussion.
The reality is, I believe, quite the opposite. There are hundreds of us here, and we all have depth of knowledge in vastly different areas. There are developers, DBAs, sysadmins, doctors, lawyers, writers... I think once I saw someone mention that they were a welder.
Keep that in mind when reading the comments here.
I can't design for crap. I don't understand the thought process and don't even want to put cycles in to trying. It's not time well spent.
I'm also an enterprise founder. I don't mind wearing a suit selling to folks who have obscene requirements with 6 month to year long sales cycles.I don't understand B2C companies at all. I could never run one. The idea of catering to hundreds of millions of people with none of them paying you while relying on VC to scale blows my mind. I feel similar about small business.
I like the idea of a smaller number of big name customers with large requirements. I also understand how they work: They are for profit organizations trying to make money or cut costs. I see consumers (despite doing a ton of data) as a blob of irrational behavior I don't want to deal with.
I also can't do marketing. I can kind of write when needed but my main focus is on technical content or specialized pitches.
Being on HN is very similar to being a founder, you see everything and wonder how the people around you do what they do.Don't worry about it! You hired them for a reason.
Hope that helps!
- There will always be people who are better than you, in any field. I see it as a positive and a great learning opportunity.
- There will never be time to learn everything you want to learn.
The question I try to answer is: Am I doing the best I can at the moment? Of course, this can also lead to complacency.
Fill your bowl to the brim and it will spill. Keep sharpening your knife and it will blunt. Chase after money and security and your heart will never unclench. Care about people's approval and you will be their prisoner. Do your work, then step back. The only path to serenity.
Of course, you, by comparison will seem lackluster. Realizing that a single person on here may be lacking in specific expertise may give you solace.
I often dream about building some project that would provide me passive income to no longer have to work a 9-to-5. It's not that I lack the skills to execute on it, but as a father and a husband, I struggle to find time to commit to such ideas while balancing time with my family. The only time I attempted to build my own product, I ended up getting fired from my daytime job because of performance reasons. It only discouraged me from attempting to pursue anything further.
I've learned that I just can't compare myself to others here, because it just makes me horribly depressed.
More money, better work environment, be better at computer science, etc etc.
These are all different things and require a different approach. The sooner you figure out which one you value more, and understand that you'll have to neglect some other things in order to succeed in that area, the better you'll feel.
For example you didn't mention any education - if you want to not feel like a fraud, you'll have to educate yourself on all the things a common 4 year program teaches you. There is no way around it.
You may score a nice paying job in something like web-dev or mobile where there's a lot of demand, but you'll be blindly stitching other people's code together for a long time if you continue down that route.
The solution is to take some time to go fill in the fundamentals.
The more solid your fundamentals, the smarter and more interesting the projects you can be involved in, but you'll have to sacrifice time and money to get there.
Clarifying your real intention is important.
As for not feeling overwhelmed - by being good at your area of expertise. If you know you're better than most people at one specific thing that's in demand, you don't need to worry that someone else is kicking ass in augmented reality, big data or whatever hype phrase of the year is :)
What may sound super bad-ass might just be a 20 year old intern riffing like a BOSS!
I can usually cure it by going to a Sharepoint developers' meetup, or something similar. Running into people who there who are doing consulting work and doing very, very well for themselves while working significantly less that 40 hours a week and using almost none of the cool stuff that gets mentioned on HN.
I suppose the lesson there might be to avoid a game of one-upmanship with alpha nerds. And I don't say 'alpha nerds' in a derogatory sense. It's just that on HN, you're going to encounter lots of people who will run circles around you in one domain or another. And some people love being the absolute expert in their particular technical domain.
That's okay. Good for them, actually! Everyone should do what makes them happy. You might find you're actually happier in a role that is more concerned with the business problems you're solving than with needing to be an expert in everything you see mentioned on HN. Your technical skills will be important, but not as important as your ability to use those skills to help a business 1) save money, 2) make more money, or 3) both.
Some of it is wrong, some of it will never be relevant to you, some of it could relevant to you but not knowing it will never hurt you. Some of it could possibly be relevant but will be obsolete or out of date by the time you get around to using it. Some of it is nonsubstantive self-promotion. Just focus on some area you want to improve on at a given time and do it. Read what you want to read and have time to read and ignore the rest.
Just because someone puts up a nice-looking blog post with some information doesn't mean they're right, or better than you. Not that it matters if they're better than you. You could be in the top 10% and that still leaves hundreds of thousands who are better than you.
That's assuming there's some pure linear scale of developer quality anyway, which there isn't. People are fingerprints, not points on a linear scale.
It's a fantastic book by a now tenured CS professor that provides a good framework for how to think about your career / career satisfaction. He encourages working backwards from the lifestyle you want to the skills you need to master to where you are right now. His framework provides a lot of clarity and helps you ignore the roller coaster of announcements, updates, and new "things" you FEEL like you need to stay on top of.
You can also just read some of his blog posts - calnewport.com/blog - if you don't feel like buying the book. Or check out some of his interviews, etc.
And calm down: HN users are really heterogeneous. Trying to be like everyone here is impossible. Even you find someone with the same profile as you, it is a nice thing to know that there is something new to learn. A bigger problem is when you don't have anything new to learn.
Edit: And answering your question: I feel overwhelmed when I learn somenthing new here, and there is already another article telling me that what I learned is obsolete.
No, or at least not much. Most people have a specialization or two, whether it be front-end, back-end, mobile, application, embedded, games, etc., which limits the scope of what you really need to care deeply about.
Beyond that, it's a matter of your own personal curiosity and desire to expand your abilities; my reaction to most articles is "hmm, that's interesting; I'll remember that in case I ever need it" with just a scant few meriting a "I need to dive into that because I also want to have that knowledge / skill."
Then I remember the following.
1). I'm employed, my manager is happy with the work I do, and I make enough money to pay my bills, have savings, and live in a decent place in a safe neighborhood.
2). I don't have to be better than everybody else at my workplace. I just need to find an area where I can contribute.
3). When I apply to other jobs I get some positive responses. I know people who would be happy to recommend and hire me if they can.
4). I've met more than a few people who can talk about data science like they can solve any business problem under the sun, but cannot actually do much of anything except talk.
5). There is plenty of stuff I read on HN that is clearly wrong or exaggerated.
I think the key is to focus on what you need today to stay employed and have a realistic assessment of your weaknesses and where you want to go. Then figure out what you need to get there and slowly work towards that that. I don't need to know Rust, Go, and Vue.js because they have nothing to do with my job or where I want my work direction to go. If they day comes when I do need to learn that stuff, I'll learn it.
I've found that it's not often that I need to be as intimately acquainted with a subject as those who are feature on HN appear to be. In fact, just knowing about something has been enough for me to intelligently answer an interview questions, converse with a senior engineer, or make the right decision on a project. And usually that's because what's most important is being curious and asking questions - e.g. admitting to myself that I'm not an expert.
Now, instead of being a testament to my ignorance and personal failings, HN is portal that let's me feed my curiosity.
You may want to do some research on the impostor syndrome. It's been my experience that anyone who's any good at anything is convinced they'll never "catch up."
Yes, there's so much to learn that you'll never have time for it, even if specializing in a small area. It reminds me of a Chomsky interview. He said that he has so many books left to read in his office alone that a lifetime wouldn't be enough. You're in good company.
It may sound obvious but don't forget that HN isn't one person. The guy that knows about particle physics is usually not the one that tell you about the latest type theory research. Don't compare yourself with a collective mind.
Besides, I'm sure there are people less bright than you in all positions you can imagine. Retrospectively, I realize that there are a lot of things I didn't even try for fear of failing or because I thought I wasn't smart enough. It's only a few years later that I realized I missed so many opportunities.
The irony is the more i know the lesser confident i get and i reflect it in meetings. I dont know how to avoid it. I am really looking for a mental framework on how to not look like a complete idiot in meetings although what i say is totally factual.
Eventually I just forced myself to choose one thing and focus on it. When I get to the point where I feel competent in it, whether that's a day or 3 months, then I allow myself to move onto something else.
Don't get stuck in your head. Just choose something and commit, no one knows everything, the posts are by hundreds of people, each with skills in different areas. Know one knows it all.
I think this is a perspective problem. You need to stop comparing yourself to everyone in all things. That isn't what I come here for. I just come here to gratify my intellect and enrich my life. You don't need to compare to people here. You need to compare yourself to people you are in actual competition with at work or compare yourself to the work standards you are expected to meet. Don't come here and do that. It will only lead to misery.
Try cutting the cord for a few days. It's refreshing.
- Most solutions posted here probably won't just work for your problem, you have to work it into your needs - concentrate on what works for you not necessarily whats new.
- Many really cool things took someone years to develop, you are just reading a lot of different people's long-term accomplishments not a small group. And most of those people were sticking to things that worked instead of chasing the shiniest technology.
- Theres more than one way to do anything, just because they may be currently more successful doesn't mean you can't find new solutions, don't forget to try your own thing.
Take a walk.
Do what you can.
It is ok.
Your work situation can be remedied. Lots of companies require good engineers who're willing to learn stuff rather than pre-know stuff.
I think a sense of resignation is actually useful here. Just resign yourself to the fact that you'll never be as good as them and that it will take you 10 years to be able to just follow instructions under a Google or Facebook AI scientist (, say). And continue to trod on like the tortoise in the tortoise vs. hare story :-)
Second, think about what kind of site HN is. This is a site whose DAU are mostly highly educated (either formal or otherwise) from very diverse backgrounds in tech, machine learning, etc., etc.. It should come as no surprise that for any given topic there will be a ton of high quality and interesting points of view.
As for the statement 2): "will basically feel the same as I do now." To be completely honest, you probably will. Every new opportunity in life presents you with a chance to learn and while learning most people often realize how little they actually know. But that is why you are learning in the first place!
Yes that I realize I have a lot to learn and I should keep removing distractions/bad habits and toxic people/situations out of my life. Yes that I realize there are Ivy Leaguers in here and also people who work at the world's largest companies.
No also because there is also a fair amount of hubris here. There are also a lot of people who miss the forest for the trees. There is still a lot of room for innovation in certain markets and the means of fulfilling human needs are ever evolving even if the needs themselves are still the same.
I take breaks from time to time. Also I've recently deactivated my facebook and unfollowed a lot of people on Twitter/Quora/Instagram. Feels great.
I think this is one of the (probably many) reasons feed readers failed and chat came to beat email: the feeling of something incomplete. I had to force myself to ignore unread counts to stop myself from going crazy, but Twitter, HN, Reddit, etc. did away with outward signs that there were things unread, and that's a good start.
Sounds like you need to change jobs, if you're at the point of acknowledging that your work environment is negative.
I don't worry too much about it, as long as what I'm building works and can be maintained I'm happy.
The good news about tech changing all the time is if you wait there will be some new language or framework so you didn't waste your time learning something obsolete !
"An expert is someone who knows more and more about less and less till they know everything about nothing" - from a Murphy's laws on technology poster..
Nobody explores all of them.
Figure out what's interesting to you and then go deep on that. Keep an eye on the stuff that's not interesting to you just to develop contextual knowledge, then when/if your interests/responsibilities change and you do need to go deeper on stuff you didn't need before, you can get started more easily.
(1) HN covers a lot of areas of software development; more than any one person can really be expected to know. But each reader is ignorant regarding how big a fraction of the covered technologies are well-understood by the other readers.
(2) HN stories often involve technologies related to web-development, containers, or virtualization. Those technology areas spawn inordinate numbers of tools, frameworks, etc. This exacerbates issue (1).
The thing that helped me the most was to realize that you _have_ to specialize, at least to some extent. It's impossible to know and do everything, no matter how much you would like to.
Pick "your thing", and worry about staying up-to-date on it. Everything else skim through just to understand what's going on. How broad "your thing" should be depends on how much time you're willing to spend.
Don't try to master everything all at once. Just learn what you need, or what interests you and then on to the next thing. There is no "done".
You'll never master everything. No one does. Take it easy. You say you've become an integral part of your team and that you're constantly learning. You seem to be on the right path.
Strive to be a helpful, open, honest team member, with a thorough understanding of core patterns and practices. (e.g. SOLID principles)
HN starts to fall in pattern as a lot of stuff you do. There are those new cool hip stuff, papers, a few deep inside blogposts and it repeats itself.
Enjoy HN as long as it holds :)
1. Very easy to form a company in Germany as a foreigner2. You will need a native german speaker, it's beauracratic and you need to speak solid German to deal with it.3. Taxes are higher than the US, but they are fair. You pay more as you earn more.4. There are many taxes as an individual you can claim back, such as clothes, travel to work, space in your house etc. If you get a good accountant they can really help.5. Berlin itself is very cheap to get a great location, good tech talent but not overflowing, incredibly decent lifestyle, lots of space, lovely place to live a chilled out vibe.
I'd say if you've lived in Germany and Berlin and like it, you can do it. If you have never lived there you should move their first and see if you like the German way of life first, it's not like US or UK.
The procedures to open a startup in Germany are complex. This is the cheapest way:Go to the notary and create a "UG" after "Musterprotokoll". Create a company bank account, transfer the minimum amount of 1 (plus the costs for founding, so you better transfer ~500). This the fastest way and costs you together with an entry the commercial register (150) around 500 (300 for the notary, depending on how many founders). This is followed up by stuff like "Krperschafts Anmeldung @Finanzamt", "Gewerbeamtanmeldung" (25) and "IHK Gebhren" (80/yr) and "VBG Anmeldung" (costs vary by the amount of employed persons). Don't forget the contract for the CEO as employed person.
As already told by others: You need to have a native speaker on your side to deal with the bureaucracy. Is this a startup friendly environment? Does it sound like? Hell no.
On the other hand: You can live in Berlin really cheap if you want to. Infrastructure is great and you don't need a car. There are a lot of meetups and startup events to get around people like yourself. Programmers aren't payed that well. Fundraising is a matter of network and traction like, i'd say, everywhere else.
In recent years I have interviewed as a Software Engineer and Senior Product Manager at a couple startups in Germany. However, after receiving a couple offers, I found that the costs of living in Germany as an American (US Taxes, Visa, USD -> Euro exchange rate) were not sufficiently covered by the salaries, even on the high end.
For American companies looking to hire talent in Germany, I have heard that it is was less competitive, lower cost per engineer and the talent top notch.
Are there any good resources people have used for finding freelance work internationally or that are even specific to Berlin/ Germany?
If taxes are mostly what matter to you, then there are probably better places to relocate to.
Berliners can be very nice in certain situations, such as the people you work with, but they have a hostile service culture. Not every time, or in every service situation, but you will have enough bad experiences in shops, restaurants and trains to find it annoying, especially if you are accustomed to the more positive service culture in the US, UK and Ireland.
The other problem is that many Berliners regard young foreign workers as being the reason why rents are increasing and this became a political issue a few years ago. I'm not sure what the current situation is but, at that time, you would see graffiti around town, letting you know that you were not welcome, and you would frequently hear the same sentiment expressed in social situations. Ironically, the people who were quickest to let you know that the foreign tech workers were not welcome were the same "anti-fascist" trendies who call everyone else racist.
This hostility wasn't something I experienced when living in other German cities, it seems to be a Berlin-specific phenomenon.
Zoom info, data.com and LinkedIn can also be used.
If you have a specific list you are targeting a researcher hired off of upwork might be a good option at a decent price.
(You might disagree with that doc, but if so you should address its arguments directly.)
I don't know where you can get binary stability for decades, but it wouldn't surprise me if some military applications guaranteed that.
Since there's nothing stopping suppliers from selling it, there apparently isn't that much demand for it.
If you want a stable kernel driver ABI, then you're going to have to maintain your own wrapper which will retain all of the anachronisms that have been excised from the upstream kernel.
You are perfectly at liberty to do this for yourself, just don't expect kernel maintainers to willingly make their own lives harder, reduce the quality of running kernels, and reduce the enthusiasm for releasing and upstreaming high quality drivers.
As an alternative to a stable ABI, you can just go with a single LTS release, and you can expect binary compatibility on the order of four years.
Simply don't buy Nvidia. Apart from that there shouldn't be a lot of hardware requiring blobs on the desktop.
This article probably did get flagged by many people as well, since it did seem more like a political fest than something that gratifies intellectual curiosity.
The whole "flag bad political articles that you disagree with" tends to even out in the end. Both US sides are well enough represented here that both left and right things get flagged. HN just tends to have fewer political articles as a result, and that's fine with me.
[Edit: Hmm. I don't see a "vouch" button available there. Maybe this means the mods themselves flagged it, rather than a user?]
So my idea is just what my passion is, I dont even know if people will need it. This is the only time I go by the saying 'build it and they will come'.
I'm very good at identifying needs, in the sense of "here's a fundamental problem, and here's some ways of addressing that problem."
However, I'm not very good at identifying ways of turning that into a profitable enterprise. Often when I think of problems and solutions, it's because others are neglecting something, and aren't even aware of the problem, so there's no motivation to pay for any solutions. That is, you'd be selling something that people don't want because they aren't even aware of the looming problem or risk they have. Later on, sure, when things fall apart, everyone wants the solution I had in mind, but at that point it's obvious and there's too much competition.
My other problem I run into I get too absorbed in my own interests and am not really motivated enough by the profitability of something, even when I know I should be more motivated by it. So here's two ideas, A and B. I'm very interested in A and see it as important, but maybe not so profitable. B is less interesting and maybe less important but more profitable. I subconsciously tend to gravitate toward A, to the thing that I see as interesting and important, but that might not garner a lot of recognition or compensation in the short-term.
I think so far I've been kind of unstrategic about where to go in life, and people have just seen me as smart and valuable enough to have around to solve problems. That's gotten me fairly far, but I've reached a point where maybe I need to be more entrepreneurial.
I've also seen enough things in my life to know that there's a ton of unpredictable social dynamics that go into these ventures, and I'm kind of burned out. Fads, corruption, etc.
What's stopping me? I think it's mostly burnout and disillusionment.
I have a ludicrous dream that I can find talented people and give them the ideas and money and let them go off and build something great, but I know the world doesnt work like this. People would rather work on their own crappy ideas with no money than work on someone else's good idea backed with money.
Once you have thousands of ideas, you realize you can't pick just one. Then you realize they all have things in common. Then you notice a trend, general principles that apply to all of these ideas. Ultimately, you find one idea that makes the previous thousand ideas obsolete. You become obsessed with the idea, try to tell everyone about it, try to figure out where to start.
Nobody understands the idea. People actually reject it. They feel threatened. You start having doubts, you start questioning everything. You look for the meaning of life. You challenge axioms.
Ten years later, you're still thinking about this idea every day. Yet, you achieved nothing. Why?
I don't know why.
- What's stopping you?
Or have a partner that is capable of survive without money from some time.
This was 3 months back. I already run a growing fmcg business . It has drained me of time and resources. I cant find time to give it for this project. I am decent in marketing and especially cold calls and walk ins so i am confident to get things done. But existing commitments and ventures are making it hard for starting the project.
What's stopping me from trying more is that last time I tried I wasted a lot of time not working for somebody else and getting paid plus a lot of my own money for infrastructure costs and contractors to develop mobile apps for my product. In the end it didn't work out and I am worried next time I'd try I'd just burn a lot of cash again.
So happy working for somebody else now and making a good salary.
Add to that - I love building things that solve real problems. As such - for years I allowed myself to become a mini-factory of widgets built upon my ideas. It is a great way to learn new things and keep skills sharp. It often isn't a great way to make money or build a business.
When you have lots of ideas, the skills to start building things around those ideas and you enjoy doing it - it can open you up to a serious problem: all too often you end up with a product that you spent a lot of time on (it might even be a really good product) and you realize you don't have any clue how to take it to market.
Taking products to market is hard. It feels like anything that solves a real problem should take itself to market. It rarely happens that way.
If your goal is to make cool products to learn, build a portfolio, etc. then this doesn't matter. Keep doing it and maybe you get lucky and one of your products takes off on its own.
But if your goal is to start a business - I have learned that it is very productive to spend a lot of time before I build identifying how I will get the product out there.
This isn't said to discourage anyone. It's said to help you know which products to spend your time on.
The exercise is simple - pretend that you just finished your idea and it is now a product on your screen. It's beautiful and has all the awesome features and really works well. What now? If your ideas are limited to "Product Hunt", "AdWords" and "viral" there's a red flag.
When I sit back and think - I realize the many of the ideas I am most capable to take to market (due to my own network, industry, relationship with potential customers, etc.) are often the ideas I'm least excited about. These ideas usually overlap with what I do all day every day so don't seem fresh and exciting to me. They aren't as fun. They feel like work.
To be sure, taking a product to market successfully is absolutely possible. A lot of your engineering skills (repurposed) will help you in this effort to track, measure, analyze and experiment. You'll learn a ton as you do so. Just make sure that through careful consideration you are prepared to give proper respect to the challenge of product distribution, or change your expectations of outcome.
I have also found that not being greedy and secretive helps a lot. Talk openly about your ideas and be willing to bring others into projects if you see they have things to offer that you don't. The participation of others can make a massive difference in the outcome.
I have various ideas, one of which I am actively working on now, but with a full-time job and a young family, my time is rather precious.
Luckily I have a very understanding and supportive partner, who is happy for me to crack on with work in the evenings. Once my primary idea is released, I plan on scaling it up to a true business, rather than a side project. This will mean those other ideas may take a while to come to fruition!
I've started to make a prototype of my idea, but it will take some time before I finish it.
For all other ideas, I write them down in a journal just for this purpose.
Ideas are cheap, its the execution and focus that takes the effort in my opinion
My approximation for a solution is Crowdraising
You can also assume DNT is pretty much ignored. For instance, if I set DNT and I visit a website adhering with those EU cookie regulations, while I'm still being shown that cookies are being used to track me and that by using the website I agree (never mind that 3rd party cookies are already being sent)? I already stated that I do not want to be tracked.
Oh, but maybe you would assume setting the DNT preference in the browser does something meaningful, such as disabling 3rd party cookies, disabling beacons, ServiceWorkers and cache lifetime?
Nope. There is no point in honoring DNT: you are either tracking or not tracking your users depending on which resources you're including on your website. If you don't want to track your users, do not include 3rd party resources. If you do include 3rd party resources, then it's it's up to the 3rd-party to honor DNT.
Somehow I feel that the burden of starting a website today is kind of crazy - analytics, comments (and the implied spam filtering), social media sharing integration, onsite feedback, social logins, T&C, privacy policies, cookie legalities, DNT, ... all apart from the content we actually want to put there, even if only as individuals.
I can't really see any other obvious way to deal with it, unfortunately.
If dnt is set, Google Analytics isn't served: https://github.com/HearthSim/HSReplay.net/blob/8c1f2eb8cfda6...
I completely agree that DNT is flawed but it doesn't cost me much to respect it and the people who set DNT most likely block Google Analytics in one of their extensions anyway. I would rather they see nothing has been blocked.
If you click the play icon under the product shot, and you have DNT enabled, you'll get a modal:
"This embedded content is from a site (www.youtube.com) that does not comply with the Do Not Track (DNT) setting now enabled on your browser.
Clicking through to the embedded content will allow you to be tracked by www.youtube.com."
As much as I'm not a fan of modals, I can't think of anywhere else that's even pretended to care about this.
A way you could (in theory) get around this is by having the user view some virtual web browser, so that Google still gets all that lovely advertiser time but your server is the one making all the requests to their service. One issue is if your site gets more than a few hits a minute, your server will probably either kill over or start providing a terrible user experience if it wasn't like that in the first place.
Long story short, there's no way to enforce DNT from an end user perspective.
From a web developer perspective, even if you roll everything yourself, its difficult to actually track down everything that you could be accidentally sharing. For example are you using a CDN? Does your host track this data, and share it? Do you use a third part API somewhere in a library you decided to use? So on, and so forth.
I can do this, because I am writing my own content management system.
I probably should add a "You are not being tracked by this website" 'thingie' ?
I wrote a blog post about it, though..
We should have moved away from privacy-theater by now.
Which is not to say you shouldn't enjoy your job, or aim to do fulfilling meaningful work. But doing one thing to exclusion of all others is not healthy. It's not productive, either - work/life balance will make you more productive: https://codewithoutrules.com/2016/11/10/work-life-balance-so...
First I can recommend an essay of _Bertrand Russell: In Praise of Idleness_. Not because what he says is true because it is more a reflection or a philosophical enquiry than a demonstration of something so it cannot be true of false in itself. But because it might provide some questions to ask about the source of ideas behind the concept of how we do work.
Second: related to a new mental model. I think in order to have a new mental model there should be a problem (a crisis) with the existing one.
What is the existing model?
A possible speculation (in IT) based on common mainstream ideas:
- There is/was a general move from seeing jobs/work as means to live to "making a dent in the universe" or "changing the world"
- There is/was a supporting atmosphere of believing that work can happen anytime and anyplace - we have access to what we need to work from everywhere and every time we want to
- There is/was a general idea that everybody should love what they are doing and should want to do that all the time
- There is/was a large support for work from home, which (at least symbolistically) means that work and home are not antagonistic concepts
- There is/was (maybe not majority) support and focus on spreading concepts of: one should hang together with one's peers afterwork, one should go to hackathons in weekends, one should read more about technology during personal time, one should come early to the office or one should leave late ...
- Now the outsiders are seen as being the ones who are saying that after work they are not doing programming but something unrelated to IT
Based on the mainstream ideas above then one possible logical conclusion could be that: (in general) we are not moving toward a work/life balance but to work being the main activity of the day and life being a complement.
What I agree with is that we don't yet have a name or a good understanding of the current model works - what what it is (which is not work/life balance). And it might be that we don't have such understanding because we are in a transition period.
Historically I think we passed through multiple periods for the vast majority of people:
1. When there is not life after work (and no concept of happiness, well-being ...) - from the dawn of humankind until manufacturing era
2. A period when the focus was on the life after work. When people were working to have money to spend after work. In this case it did not matter what kind of work was. It matter how much time one spent there and how much money could bring it. I think it lasted up until 70s - 80s.
3. A period of high purpose - let's called it "enlightenment" - when people wanted to "make a dent in the universe", "want to change the world" and basically everybody was talking about passion, ideas, ....
4. Now - a period of unrest or anxiety about the future
In the end I think there is one subject we are not talking about and I think it might define how we explore the topic you are providing and that subject is a question to ask ourselves: What is a GOOD life? Where GOOD is a personal concept including morals/ethics, happiness/well-being, tranquility, being content with life, but in the same time a concept defined or imposed by society.
Wife was really excited to see the whole process as 'foobar' opened when she was at my desk. She couldn't believe all this can happen and was super keen to send contact to google and I was saying not-now (we are expecting our first born soon). Yet, to keep wife happy, I did send my contact details without linkedin/github details. May be google recruiters ignored my contact since without professional details - it doesn't make any sense for a hire.
I checked my foobar link - it still opens though. May be after few months will try reaching..
I can send you an invite if you are interested.
If you're quite new, it will take some time to build a strong network of people in the industry that can refer you to current job openings.
When looking for actual jobs to apply for, I'd recommend sticking to recruiters at least at the beginning of your career. There are some good recruiters out there that will help you get jobs to advance your career.
So just send your CV to some local recruiting agencies, search for jobs online (LinkedIn, stack overflow careers and other job sites) and submit your CV there. This should generate a lot of leads, you should get some emails and calls from recruiters. Take it form there.
Later in your career when you will have built a strong network you will often be sent leads for good jobs by people from your network (ex colleagues etc).
The age old problem. Every future employee would like to beat the paper system, while employers want a process that let's them not waste so much time talking with unqualified people.
You really need to attend MeetUps. Hiring managers need to get a recommendation from someone to take you seriously. The fact that you're "self-taught" is against you as well, so getting a few developers to Vouch for you is critical.
Go to Meetups. The rest will take care of itself.
1. Build a network in the bay area
2. Ask details about their employers, work, teams, projects, etc.
3. Apply through referral
(While I really do have a friend that does this it should go without saying that I'm just sharing this story because I find it humorous, and this is in general, probably a terrible idea.)
As a web dev, basic social engineering should become an essential part of your toolkit.
I also try not to get too "taggy" and organized. If I have something new, I just dump it into the top directory of my catalog, and eventually move it down to its own dir and do the minimal op to connect it into the catalog. No DBMS, just the file system.
When I run make on the (personal) wiki, one of the things it does is generate a sitemap, with links to everything, including the catalog part of the wiki. It also creates a catalog-specific json file, which I view directly from Firefox; the addon JsonView makes the json file fields clickable. https://addons.mozilla.org/en-US/firefox/addon/jsonview
Not at all advocating that you use Miki. Just an observation that its motivation is simplicity, to the point that no software was written, I just use what Linux already has, and the filesystem.
The reason for the simplicity motivation is that I've found, over the years, that the more complete a system I've used to try to "get organized," the sooner it will be abandoned. What I've devolved to is this: the "system" will be more usable, and more likely to be used, the less of that system there is.
Of course it's loads of fun to write one of these things, and that's more than enough reason to do it, so go ahead! But you might keep simplicity in mind, start from an attitude of minimalism with just enough added on, and when it's good enough, stop.
I guess all bets are off if you want an OSS project that other people are going to use and work on. In that case, "Release the Features!" :)
> ... "designing the system so that the manual will be as short as possible minimizes learning effort."
The above quoted in "Expert C Programming, Deep C Secrets," by Peter Van der Linden. I used my catalog to find it. :)
I would pick SQLite and not PG, simpler to get it running and simpler to operate.
We used to go there every summer. Now it's getting more crowded and losing some of it's charm.
ServiceBot is a platform for a business to sell their services and automate the administrative tasks such as billing and invoicing.
This really gives me no idea what on earth you do. What problem do you solve? What value do you add?
You don't want to say something like "This tablet has an 8 inch screen." You want to say stuff like "This tablet fits handily in your pocket while having a larger than average screen size and is easily readable in full daylight." Your current description is the "8 inch screen" type description. It is not informative and it is not compelling.
You need to find a way to convey to people what you do for them. Time saved. Money earned. Problems solved. Convenience. Portability. Reduced headaches.
This is the very problem that I'm facing on my project (http://bedefiant.io). Because i don't have a working example yet, it is hard to communicate my vision of how you can use my project. Of course, my project is still under development (I'm working on developing the minimally demonstrable features now), but the situation is the same for both: If you want people to use your software, then you have to show them why they need it and how you can solve their problems.
2. Link to the documentation (https://docs.servicebot.io/) instead of the company page
3. Any travis-ci up yet?
5. Consider "spin-off" libraries of reusable components. Make them available via NPM. Give them documentation as well. Creating a popular dependency library attracts more interested users.
6. Did you apply for Y Combinator yet?
7. Try to contact AdWords to see if you can get free credits to advertise the corporate website. Bing has some too. It may not give much but even one or two clients would be a sign of momentum.
8. Consider contacting startups and offering your service free / discount in return for feedback and a testimonial
9. On the website, try an intercom.io widget. It makes it easy for people to open up a chat window to reach you.
Honestly the best answer is to find someone to help market it. Since you're asking "How do I do marketing?" the answer probably won't be in an HN comment.. its in a 4 year degree or years of experience.
But apart from that, define your target market and reach them where they congregate. If you want to reach freelance developers, go to whatever website they congregate at and talk to them there.
This reddit thread  has lots of reading and some decent ideas. Maybe try writing a marketing plan.
Ad optimization has reduced the cost of customer acquisition for millions of businesses. In the bad old days you just had to buy a billboard or tv spot and hope for the best, acquiring customers was an order of magnitude more expensive than it is now.
Many of the online services you use today (SaaS, online dating, mobile games, etc.) would have very different unit economics without ad optimization - a lot of them would be economically unviable.
Ad optimization might be unglamorous but it has an important role in market based economies.
Thankfully they work in the adspace, because it keeps them out of other industries where the code is important and their presence would be a burden.
I think this is a natural consequence of a disconnect between what the economy values and what the popular imagination values.
A disconnect mirrored by the mythological transformation, experienced by nearly-all it seems, from naive youthful idealism, to somewhat-cynical grown-up pragmatism.
I'll have a stab at describing the disconnect in the following way: our minds are born in the gutter, with our imaginations looking up at the stars, but as we grow up we come to value, not the lights of distant stars, which come to seem cold and providing no sustenance, but the closer more familiar lights of the homestead, the township, the city. Those things which end up reminding most of other people, of home, of money and security, rather than lofty and distant ambitions which our culture also mythologizes as ludicrous and insane.
As Picasso said, and Zuckerberg for a while echoed on his profile, and Musk seems to against-the-odds still embody: "that every child is born an artist, the problem is how to remain one once we grow up."
Random note: My Chrome autocorrect would like to "autocorrect" Zuckerburg to Cheesburger -- you'd think the closest string in terms of edit distance would have been "Zuckerberg" but hey, maybe it works off some other metrics.
I was planning to do some serious coding this evening. But cooking and had too much wine so now I'm useless for everything except waxing ridiculously on Ask HN.
TL;DR - ad optimization is unglamorous but necessary. And not even evil. More relevant ads are a lesser evil for sure. We are raised taught to reach for the stars, but as we gain that much-sought-after "independence", they get us to trade, "a walk on part in the war, for a lead role in a cage", as Pink Floyd so eloquently put it. In other words, what's economically necessary is not-as-yet completely in line with what our pure souls aspire to be.
Civilization is still an infant. What can you say?
With remote work, it's about what you can show for it, not just the words. What do you have to show for what you've learned?
So, I started Moonlight , and started working for a variety of companies remotely on a contract basis. We're working to expand the marketplace, and are adding more projects every week. One of the factors that helps getting remote contract work is having a track record - meaning, at least 3 years of experience working professionally in technology.
About a month ago, I sold all of my stuff (I currently own a carry-on suitcase and backpack) and hit the road. I'm currently in Mexico City until the end of August, working about 10 hours per week through Moonlight to pay for all of my living costs.
I'm a Sr software engineer, and was hired because I taught one of the co-founders while I was a teacher at a coding bootcamp.
We've hired one Jr engineer who I knew personally beforehand (a former student). And we've hired one mid-level engineer whom none of us has ever met in person.
My thoughts based on personal anecdotal evidence:
- Hit the job boards hard and don't stop. Persistence wins. Here are some great resources
- 100% remote companies are the way to go. You don't want to be the sole remote employee (or one of a few) at a mostly on-site company. You'll be a 3rd class citizen. I've seen this numerous times.
- It is entirely possible to be a Jr engineer and get successfully integrated into a remote company. We've done it this year. We allocate some extra time for our engineers to further their own learning. We also do lots of screen-sharing sessions, etc.
 SO remote jobs: https://stackoverflow.com/jobs/remote-developer-jobs
Hacker News monthly job listings (search in-page for REMOTE): https://hn.algolia.com/?query=who%27s%20hiring&sort=byPopula...
The company downsized and they closed the office and I was sent to work from home.
I worked from home for 2 years as a senior dev. My wife reminds me that at first I wasn't happy about working from home. But after a month, remote is the only way to go.
I left that company and went remote for a startup for 90 days, and left before it imploded.
Now I'm stuck in a cube! Help me!
(also when applying to remote jobs, it seems that having remote experience is very beneficial.)
I'm a senior developer. Company contacted me about a position in the Bay area. I told them I recently moved across the country and asked if they would accept remote. They said that's ok (they had other remote workers and almost everyone is remote now). Phone interview the next day and an offer the day after. Flew out about a week after that for two weeks on-site. I go back for a week every now and then on-site. The irony is that I was looking for a full-time, remote position in the Bay area for years and less than six months after I moved, there it was.
Definitely recommend looking for companies with a remote culture. At another company, they flew me in for an interview, told me they wanted to make me an offer, then refused when I told them, as I had made it clear before the interviews, that I was not interested in moving back to the bay area. I've never been so speechless in an interview as when they asked me, "What would it take to get you to come back to SF?" and I knew the figure I wanted was nowhere near what they would want to pay. I also would recommend not doing any sort of take-home assignment for any company, but especially for remote jobs. That will be a lot of wasted time and the company might not even look at your work after you've spent hours or days on it.
I spent 2 years as a digital nomad while fulfilling that role. It was a bumpy ride as our 4-5 person team figured out the logistics and managing expectations and productivity. But now 3 years later, even after I got my US work visa we don't have an office, meet up in coffee shops a few times a week as 2-3 people, and each of us take a month to work remotely from a different city or country regularly for a change of pace at our convenience.
The biggest reason we support remote work is that once we learned how to make it work, not paying office rent and increasing our salaries proportionally was seen as a win-win all around.
I went through their rigorous interview process which was definitely harder than any I've encountered, but once in, I've had the best work experience in my life.
My clients have been amazing, Toptal handles payments for me so no problems getting paid, and they're always there to help me out. I chose my hours, and rate, and being a part of the community alone has taught me so much.
Prior to Toptal my only source for questions was Stack Overflow, since I'm self-taught. Never before had I discussed the new features of a Rails launch in a Slack channel, or discussed the best ways to handle my SQL queries.
 Toptal Referal Link: https://www.toptal.com/#contract-just-respected-software-arc...
Disclosure: Shortly after joining the Toptal Network, I joined their Core team. However, their community and company culture is definitely the best I've ever seen.
I am now back in an office- I received an offer I couldn't refuse, and they unfortunately are hard-line, at least for the moment, about not allowing remote work on any consistent basis. I did receive offers that were ok with remote, and one that was a completely remote job. Unfortunately, they were all about 20% less than I was making before. Hopefully this job works out in the long term, but my main driver in taking it was to bank enough such that in all future jobs I can afford to take a pay cut (have retirement fully funded/become financially independent) and work remotely if I want to.
Anyway, to answer your question- Amazon supports remote work, as do a lot of consulting firms- NearForm, NodeSource, Joyent, etc. Auth0 is a fully remote firm as well.
I did it like that:
1. Saving money in my non-remote job where I worked for 7 years, so I didn't need to work for like 2 years.
2. Quitting my non-remote job, so I had time I could pour into working remote.
3. Doing some remote OSS work. Most OSS projects are remote anyway, people like free developer help, so this was an easy way to get into remote teams without much barriers like interviews etc. I also did a masters degree in computer science and had to do 2 projects, which were remote too. Never finished the master, lol, but still got that remote experience. Also I did a few projects, started doing all the coding at coffee shops etc.
4. Put my resume on online job websites that allowed me to say I only want remote jobs. Took me 4 months till I got a job, but I never wrote any company. Two companies wrote me and one gave me a job in the end.
5. Started working remote 2 years at a startup that was about 300km away from my home.
6. Quit the startup and started freelancing, which I'm doing for 6 months now.
I mostly learned about myself in the process. For example that the wish for remote work was just a wish for no bosses, more free time, etc.
Majority of the work I got via my website/blog.
A few months back I wrote a blog post how developers can have exposure to their work. Check link at:- http://blog.adnansiddiqi.me/5-ways-developers-can-have-multi...
My next remote position found me through my existing network. I was asked to do some work for an agency that they didn't have enough bandwidth to handle, and that eventually turned into a full-time gig.
Personally I don't think being a junior remote employee is a bad thing, but a lot of the time hiring manages are afraid of hiring remotely.
I have worked remotely for a couple years now, and I found both of those jobs via Hacker News' "who is hiring" threads. A lot of companies on that thread are hiring for remote folks.
If you are in a situation where you are junior, but cannot work in an office for whatever reason, there are ways to dig into certain positions.
Companies with significant open source projects are a good place to start. If you can make significant contributions to a company's code via open source they might be more open to hiring you.
Be careful to not slave away for a company as free labor, but if you're learning and trying to grow your skills, some strategic open source development could be a good start.
After my interview, circumstances changed and I needed to leave NYC, I told the company and they decided it would be ok for me to work remotely from Boston. Haven't looked back since, love being remote.
lmk if you have any questions I can help with
If you worked for company A at one point in your career and left on good terms, you might do some part time contracting for them from home. If you worked for companies A, B and C and you can swing the same arrangement you're now a consultant.
I was incredibly lucky and know it put pressure on them to find special remote opportunities or 'fly and build/fix it' type opportunities for many clients. I work in network security and networking.
my employer already knew me and was very happy with all of my work, otherwise I cannot see anyway I would have obtained this opportunity.
I was moving away from the city for personal reasons and discussed options with my manager/team. It helps if you've demonstrated your ability as a self-directed high performer.
I got out there and then I got lucky.
http://www.cburch.com/logisim/ is a logic simulator that's a bit clunky to use, but not terribly buggy like some others and powerful enough to build a simple CPU in it. (See this https://github.com/reds-heig/logisim-evolution for a list of maintained forks, but for starting out there shouldn't be anything wrong with the original)
His forgetfulness was legendary. He could barely remember what happened in the morning or what code he wrote. He made this his strength by writing the cleanest and well-structured code I have ever seen. So, not only him, but anyone, without any prior knowledge, can jump into the code at any point in time and immediately understand the flow and be productive. Obviously, it helps that the code was in Python, but being in python by itself does not a great code make.
https://www.youtube.com/watch?v=vunIDi9Z-_8 (Introduction to SQLAlchemy, 2014, 2:52:50)
http://www.aosabook.org/en/sqlalchemy.html (Overview in The Architecture of Open Source Applications)
>board = chess.Board()
I'm pretty sure I'm a genius.
> import this
And think that the chapter on Simplicity is one of the most important chapters any developer can read -
But what you're saying points to a larger problem. How do you know that anything you download from any vendor (and that includes such hallowed things in the industry as Apple/Ubuntu/Red Hat/Microsoft/Google updates), is really secure?
The only way to get true security for anything is to build your own processor, build your own PC, write your own operating system, build your own network card, and then hope that there aren't any bugs...
Historically, things that were once thought to be secure -- have been proven over and over again not to be. Case in point: Windows NT -- it had labels all over the box, to the effect, "It's secure, it's secure". Well, fast forward 17 years or so. Numerous incidents and issues have historically proven those assertions to be in error... don't take my word for it... look at the history... Google "Windows NT security vulnerabilities" and you can also add the word "historical" in there, if you want.
That, and I'm pretty sure as a novice computer historian, that history repeats itself, although chances are that your BIOS might be perfectly safe even if you do download it with http (although, make no mistake about it, you are taking a chance, so "chance-taker beware", as the old saying goes...)
Computer security is a tough business, because on the one hand there's too little security, and on the other is outright paranoia... what's the correct balance between those two extremes? I sure as heck don't know...
Anyway... good luck with your BIOS update...
Having said that I would start with ScratchJr (https://www.scratchjr.org/) on a tablet and Alice (https://www.alice.org/) on the desktop. Alice will require your assistance for scripting but he would be able to select and position the 3D characters.
Just recently she got a Lego Mindstorms ev3 and the lightbulb just went on when she was using the PC program to program her robot.
So really, just have patience, introduce things to front load but he won't catch on until he's intrinsically motivated at the right time.
For the vast, vast majority of developers (no matter skill level), their github profiles are somewhere between "non-existent" to "a collection of weirdo stuff I played around with for a few minutes five years ago that doesn't reflect my professional output or interests at all". It just doesn't have much correlation to anything.
I've got several things on github, but even then it's not really representative of anything. If you look at my profile you'll see that it's a mess of random projects and toys in random languages. But it doesn't reflect how I spend most of my time.
There are a few niche cases where a github profile might matter - like if you are a consultant that specifically works supporting a OSS project and you want to show evidence of that to potential clients. But otherwise, don't worry about it.
I also think that the developer community far overestimates how much "have a good Github" is worth in terms of creating career equity, both because the people who you attempt to influence via it are largely not developers and, to the extent they are developers, are unlikely to spend hours looking at your Github profile trying to extract signal from it. You can probably get superior results for far less effort by writing ~3 good technical blog posts. (Do what makes you happy, naturally, but to the extent that getting well-paying exciting jobs generally makes people happy I'd recommend almost everyone treat having a small number of technical blog posts like exercise, in the "simply too useful not to do" bucket.)
Now I've learned that (1) burnout is real, (2) work CAN be intellectually stimulating enough to not create that OSS desire, and (3) eventually your job ends at 5 and life takes over.
With that said, I WISH more developers opened issues on the projects they've used.
All too often I've seen people drop one dependency for another due to an edge-case.
Even a simple issue explaining the problem, providing a test case or sample code would be great as an indicator to how a developer approaches problems and seeks help.
At Google, a candidate was referred to our team but had chosen to do all his interview questions in Python. This left me unable to discern "Can this candidate write code in C that actually understands memory handling and pointers?". Luckily, he had a GitHub repo for his work on a FUSE layer he had written that demonstrated that not only could he write in C, he also had reasonable commit hygiene (good commit messages, reasonable granularity, etc.).
I would never begrudge someone for having an empty GitHub profile (mine is unimpressive), but I've definitely both decided for and against candidates given the extra data it provides.
It seems to me that working on distributed OSS projects with strangers on Github or working on personal projects in one's spare time is a very different experience from how most software development shops are run, so there's only so much overlap there between the skillsets.
It does show you that the person knows how to write some code with no clear scope or deadlines, but that's a pretty low bar for most places.
Many, especially older developers it seems, only begrudgingly have a profile for tickbox judgments encountered during job seeking. The best developer I ever worked with just didn't care about bothering with a Github profile, and the worst guy I ever interviewed had an expansive profile, including a repo with 80+ stars that was trivial and terribly coded, and our team's conclusion was that he got his bootcamp associates to star it.
At the end of the day it's a private company seeking a profit, and it's a little ridiculous that it's become defacto mandatory for proving you are a good developer, in the same (somewhat annoying and unfortunate) way that FaceBook has become defacto mandatory for proving you lead a social life.
When during an interview someone says they are passionate about software engineering and they have a github profile that reflects this, it gives me a reason to believe this person. But, I take the attitude that 'absence of evidence is not evidence of absence'. When another person makes the same claim but with an empty github profile, I don't assume this person is lying. You can usually tell if someone is passionate or not by the way they talk abot their previous projects as well.
That being said, a well-used github profile is not a reason to hire someone and neither is an empty one a reason not to. Some of the best people in the field that I have had the chance to work with had zero, or close to zero, github contributions.
From the other side (the 'looking for a job' one), when interviewing with a company I worked for some years ago - they did ask me for a link to my github profile and some open source code I did. But the company made most of their software open source and they believed strongly in OSS. I believe this was done not to judge a person for the quality of the work, but rather to get an idea if the person also liked OSS.
* How interesting are those projects generically and in the context of what I would need this developer to do?
* Are these projects actually used by anyone? Are there pull requests, etc?
* Does the developer actively keep working on existing projects or move around? I.E., are these learning vs hobby vs commercial?
* How is their readme? Does it exist? Is it sufficiently complete to convey meaning?
* How is the code organized? Is it reasonably laid out? Do they make use of third party packages and tools? Does it seem like they are re-inventing the wheel?
* Does the code work?
* Is the language chosen the right language for the job? Are they using idioms of that language or more generic ways of expressing loops, vsriables, etc.?
* How extensible is their design? Does it feel krufty or is it a pleasure to read?
* Is the code novel? Are they re-inventing the wheel or are they actually fulfilling a need?
* Are their projects wide and varied in scope and tools?
Those are a few things off the top of my head. Not an exhaustive list.
The presence of a high-quality, well-rounded set of projects in GitHub is mostly indicative of the fact that the candidate in question has the spare time to work on Free Software. That's a lifestyle thing, and not relevant to the hiring decision.
The code within their Github repositories, on the other hand, can say a lot. But I won't spend too much time perusing it; I'll probably look at their resume, see "Oh, they can write Ruby and Golang and have a Github account", view their Github repositories, see their code, say "Okay, they can write ruby and golang" or "Oh no, they can't" and move on.
You could find developers that:
1. write good code and are active in the community
2. write good code and are not active in the community
3. write ok code and are active in the community
4. write ok code and are not active in the community
5., 6., etc., (... you get the idea)
So, with number 2, you could see an empty GitHub profile and perceive it as low quality, but that's the wrong perception. See `pyrophane` comment as example.
Obviously on a hiring process a GitHub profile with activity is a great plus, but, again, it depends.
- big companies: it's all about eliminating fake Resumes. they only use your web presence as a background check since they already have their own hiring process in place to evaluate a candidate (whiteboarding crap). In other words, they ain't care
- small companies: they will dig deeper since they don't get many Resumes on their desk. In this case, it will be about code quality, complexity, comments, design, etc. think of it as a coding assignment. It's much faster to pretend that the assignment was a project you've already worked on in the past. The evaluation criteria are the same as a coding assignment.
1. Participates somehow in popular open-source projects, by posting bugs or updating wiki entries.
2. Opened merged PRs for popular projects that fix bugs or add test coverage.
3. Opened merged PRs that add new functionality.
4. Is one of the maintainers of a popular OS project.
5. Created a popular OS project.
I've worked at startups, and banks.
Thats 20 different people at least ... and all pretty good imo.