hacker news with inline top comments    .. more ..    14 Nov 2016 Ask
home   ask   best   3 years ago   
Ask HN: How do you handle the business structure and taxes of side projects?
170 points by misthop  6 hours ago   87 comments top 22
joshuaheard 5 hours ago 8 replies      
Lawyer and entrpreneur here. There are 2 main reasons to incorporate: liability protection and ease of administration.

You don't say what your side project is, but you have to ask your self whether you need liability protection, that is what are the chances someone is going to sue you for damages. If you feel you need liability protection, then you should form an entity. I recommend an LLC in most cases. It is a pass-through entity for taxes which means you pay taxes on your individual return (though it still must file a business tax return). Also buy insurance.

The other reason is ease of administration. A legal entity will have some form of controlling document. In an LLC, it is the Operating Agreement. This spells out the rights and duties of the principals in the business. It also allows for common ownership of the business assets. As principals come and go, the LLC continues on. Finally, if you get big and you bring on investors, they will want to see a legal entity for their protection.

The drawbacks of forming an LLC are the time and effort of drafting and filing all the proper incorporating documents, paying the filing fees (in California $800 per year), and the extra tax forms.

This is a complicated topic and I have given a high level view. There are lots of resources on the internet and in bookstores on this topic. Nolo.com would be a good place to start.

walterbell 9 minutes ago 0 replies      
Has anyone outside the US looked into the tax implications of Stripe Atlas? These articles urge caution:



up_and_up 5 hours ago 1 reply      
> 1. Have you incorporated?

No I operate as a sole proprietor.

> 2. Do you pay quarterly taxes?

Nope, I pay the penalty since my income and ability to shelter it vary from year to year. The penalty is something like 3% on the total taxes you owe. Not too bad given the flexibility holding your money provides. Maybe I can load up a i401K that year or need to save for some big purchase which is more valuable then just giving the IRS the money.

> 3. Do you list it as other, unreported income on your returns?

I file a Schedule C

I do it all using TaxAct. Super easy and cheap. Helped me to understand taxes as well.

simonebrunozzi 4 hours ago 2 replies      
I have been using Stripe Atlas for about 6-7 months now, for a small side project that I spend part of my weekends on.

I have to say that Atlas might be one of the easiest, and least expensive, ways to deal with the incorporation and the rest.

jstanley 4 hours ago 1 reply      
I run several side projects[1], with varying degrees of profitably.

I haven't incorporated any of them, I see that as an unnecessary hassle.

I'm in England, and (as far as I'm aware) quarterly taxes aren't a thing here. Until this year the income was negligible enough not to bother paying taxes, but this year I've been keeping track of finances with ledger[2] and I intend to pay taxes as "self-employed" for the first time at the end of this tax year.

And to make sure I'm going in the right direction (not going to run out of money) I add up my net worth, split by category (bank account, peer-to-peer lending, stocks and shares, Bitcoin) at the start of every month and keep track of it in a big text file.

[1] currently focusing on SMS Privacy, read my Indie Hackers interview at https://www.indiehackers.com/businesses/sms-privacy

[2] http://www.ledger-cli.org/

chrisgoman 2 hours ago 0 replies      
You mentioned "projects" (plural) and the way I have it setup is pretty similar to those recommending an LLC (or S-Corp) in CA.

While the annual cost of $800 minimum tax plus maybe another $500 in administrative fees (accountants, legal, etc.) is real money spent, you can make it back in tax deductions and potential liability. If you have a structure in place (another entity that is not you personally), it is much easier to deduct expenses (less red flags) IF you make an attempt to actually generate income -- the government cannot stop you from being a bad business person :)

If you are in a 50% tax bracket, this could easily be offset by $3000 in expenses such as hosting fees, domain names, costco membership, cell phone, even your car lease. If you are renting, you can possibly deduct some portion (~20%) of your rent (do not do this if you own a house). Get a separate bank account + debit card, a separate credit card (maybe a business one with rewards) and pay everything using that entity. You will end up making "owner contribution" from your personal bank account to your business account every month.

The extra wrinkle if you have multiple projects is that you can further separate your different projects into "DBA"s (Doing Business As) which costs an extra $100/yr (County Clerk Recorder, Publish in Magazine, separate bank account, credit card, domain name) 100% owned by your LLC (or S-Corp). If you shut down a DBA, it will cost maybe another $50. You will need a DBA to open a bank account under that name.

While this may look like overkill, this keeps everything clean and if your side project does take off, you will have some history with the business.

On a day-to-day basis, what I usually end up doing is setting aside a day to deal with all these entities. Most bills are on each "company" credit card and I call all the credit card companies to align the closing date. For example, all my credit cards close around the 22nd or 23rd of every month. On the 12th of every month, I pull up each account and pay them all using one screen of online billpay if you have all your business accounts tied together using your SSN.

Note: I have other companies that are their own entity as they are generating income & have other partners. The setup here is specifically just for my side projects.

mosburger 4 hours ago 0 replies      
I incorporated w/ a basic LLC pass-through back when I started freelancing just for the liability protection. I don't freelance (much) lately, but I've kept the LLC going in the meantime and run my very small side projects as part of that LLC. If you decide to do a side project w/ an LLC you might want to read up on "piercing the corporate veil" and be sure to keep your project's income and expenses separate from any personal stuff. I personally have a completely separate bank account, again from my freelancing days, and keep the two things separated paying myself w/ distributions occasionally. I'm no lawyer or accountant so I don't know if this is "enough," but I figure it can't hurt.
brentm 4 hours ago 1 reply      
If you're in the US I would consider forming an LLC in your home state and use that as a catch all entity for your projects. If any of the projects take off you can spin that project off into a different entity type (if you want). LLCs are mostly painless to create & file taxes for.
edoceo 4 hours ago 1 reply      
Entrepreneur here, on my fourth company.

Lawyer and Accountant. Budget about $10k/yr

Start as LLC then move to C-Corp as it grows and takes investment money. Accountant files quarterly federal and state taxes. My wages are taken out on W2.

When smaller the project is an LLC. Accountant still files paper but under $100k only annual. Just take the money out as distribution.

Tax implications from either route. Encourage you to find a trusted advisor on those matters

moeamaya 44 minutes ago 0 replies      
If you're based in California, we wrote detailed steps when we incorporated earlier this year: https://dixonandmoe.com/writing/how-to-form-an-llc-in-califo...

The $800/year is indeed painful but it's cost of doing business (and maintaining continuity).

analog31 3 hours ago 1 reply      
I make a small electronic gadget, non computer related.

I've got an LLC for basic liability protection.

PayPal is my business system. All sales come in through PP, and I use the PP credit card for my purchases. All documents are electronic. At tax time, I download the entire year's transactions into a spreadsheet, add things up, and enter the totals into a Schedule C.

Rather than filing quarterly taxes, I've simply bumped up the amount of withholding from my regular day job.

dicroce 3 hours ago 0 replies      
Personally speaking, enough of my side projects never made a dime that I decided a while back to wait until I made $1 before incorporation. This has saved me quite a bit of hassle.
kkoomi 2 hours ago 0 replies      
If you start an iOS app under your own name, then decide to form an LLC after validating your idea, do your reviews and rankings get reset?
atwebb 4 hours ago 1 reply      
>have you incorporated?

My state LLC

>Do you pay quarterly taxes?

Absolutely, mail a check with the coupon based on income earned.

>Do you list it as other, unreported income on your returns?

Schedule C and income from business, you pay Self-Employment Tax, SEPs are nice to push off the income to retirement and see a tax benefit if it's supplementary.

I also carry worker's comp and liability insurance, pricey, annoying to setup and deal with but worth it from my perspective.

caspg 46 minutes ago 0 replies      
For those from EU, which country within EU is the best to incorporate? Estonia with their online residency seems interesting.
jayess 5 hours ago 0 replies      
99% of the time there's no reason to incorporate in Delaware for your side project. Just form an LLC in your state and it'll be considered a "disregarded entity" on your tax return and you'll report the income/expenses on schedule C of your 1040.

If you're making more than a few grand (net) then you might consider having your LLC taxed as a corporation and enjoy the 15% tax treatment. If Trump gets his way, corporate taxes might finally be reduced and you'll get even more favorable tax treatment.

However, if your intent is to enjoy the income but you expect a narrow net income or loss (lots of expenses can be attributed to your business), then stick with a single-member, disregarded entity, LLC.

cdnsteve 5 hours ago 2 replies      
Unless you need the liability protection or have very high income, the overhead in Canada of having a corp is very costly. Hiring an accountant to file corp taxes is usually over $1500 a year alone, then you need payroll, etc. Then you're also paying double tax on that income with a corp. Corp receives income and pays corp tax, pays employee (you) you pay income tax.

If you have a small side project with low risk then I recommend sole proprietor for sure.

In any case, soon as you start generating income you need to track income/expenses, register your business, register for HST and setup a separate bank account. I think TD here charges $25/mo just for that privilege.

So yeah, sometimes a fun side project loses its excitement when your stuck doing paperwork and start adding up the expenses, it's not worth it.

lcall 3 hours ago 0 replies      
I'm finding that the book by Entrepreneur magazine called _Start Your Own Business: the only startup book you'll ever need_ is very helpful (no connection with me).

EDIT: specifically, in the index entry for "business structures" and the chapter on taxes. I also bought a few "personal MBA" books, & on marketing etc, but this seemed clearly the best one to start with; those others I think I'll come back to, later.

PaulHoule 6 hours ago 1 reply      
I have not incorporated. It is expensive to incorporate in Delaware and to do it anywhere else is a big paperwork headache. (You'll need a board of directors, annual meetings, etc.) If you are making less than $20,000 a year it is probably not worth it, if you are making a lot more it probably is.

As for taxes, the penalties are not particularly punitive if you screw up and you have years to manage the situation before anything critical happens. In particular, if you go one year without making quarterly tax payments you will probably walk away with no penality.

jv22222 4 hours ago 1 reply      
I recommend that you do not form a company until you have validated the project. I wrote a blog about it that explains why:


ohstopitu 5 hours ago 2 replies      
As someone based outside the US (Canada), would it be advisable to incorporate in Delaware?

If not, how would I go about the income from my side projects?

brownedge 4 hours ago 1 reply      
Does anyone have experience with incorporating a UK Ltd for such a use case?
Ask HN: Is Xamarin worth learning?
149 points by ceeK  11 hours ago   135 comments top 50
gressquel 5 hours ago 1 reply      
Xamarin Native developer here,I started off by trying to create a Pokemon Go Map app. Although I got off to a quick start, slowly it downed upon me that I started spending too much time finding fixes for Xamarin issues rather that programming. I used macbook as agent and visual studio as IDE. Sometimes the deployment would take 5 minutes! I then had to restart the agent to fix it. As a programmer I am rather a person who runs a code, change a little bit in code, then run it again. If I dont understand things I google it or find the documentation. Thats my way of learning things instead of reading through programming books.

For me Xamarin Native was slow and rigid. I highly doubt I could make 'innovative' apps with Xamarin. Maybe it is okay for people who want simple things like a "to-do app" or somethign that fetches list of images and displays it.

I wanted more and found no solution for things I needed, so I gave up and started xcode (swift + some objective c).

And let me be clear here, if I had spent same amonut of time on xcode as xamarin I would have been iOS dev master :)

Things just works much better. You can do anything you imagine with Xcode and swift. With Xamarin its more like find whatever library is out there and try to create something by combining these. Too many bugs.

This is no sly dig on Xamarin or Microsoft as I use alot of MS products myself. I have also tried phonegap, react native etc. and Xamarin is the best when it comes to cross platform without a question, but none of these can match true native coding (xcode swift/objc)

eonil 4 hours ago 0 replies      
What you have to deal with;

* Xcode = iOS bugs + UIKit bugs

* Xamarin = iOS bugs + UIKit bugs + different runtime, language, memory model abstractions + .NET bugs + P/Invoke bugs & overheads + GC inter-op bugs & overheads + C# bugs + slow followup of platform updates

* Xamarin Forms = iOS bugs + UIKit bugs + different runtime, language, memory model abstractions + .NET bugs + P/Invoke bugs & overheads + GC inter-op bugs & overheads + C# bugs + slow followup of platform updates + extra UI abstraction layers + lack of fine level controls & features

lanestp 8 hours ago 7 replies      
I've been extremely disappointed in Xamarin. The main issue is that you don't really get code sharing. I would estimate that only 25% of the Xamarin project I manage is cross platform code. The rest is this bizarre merger of native APIs with C#. It's difficult to write because of the lack of examples and documentation. It's also buggy, even with simple things like page views.

The real problem is that I can write a native iOS app in a fraction of the time it took to write a Xamarin app. Swift has improved iOS development speed so much I'm not convinced we need cross platform app engines (excluding games).

As for Android, yeah, native Android sucks. Activities and fragments are the worst idea anyone has ever had and no one agrees on best practices. But even with cross platform high levels of abstraction like Unity3D you still need to understand them. So, my current advice is to suck it up and write it native twice. Pick your favorite OS, start with that, and then port the logic.

mathijs 9 hours ago 2 replies      
I've used Xamarin for several projects and I greatly regret that decision. Granted, most of my hatred is targeted towards Xamarin Studio and Xamarin.Forms so if you use Visual Studio and build only native UIs then maybe your experience will be better.

However, in my experience, both Xamarin Studio and the build system are buggy as hell. Random or inexplicable build errors, things that break during updates, incompatibilities with official Android support libraries... I find myself doing 'clean project and rebuild' to fix random errors, or switching between alpha, beta and 'stable' channels all the time depending on which one does not have the bugs that I'm running in to.

Xamarin.Forms is simply a disaster. Because it aims to unify the apis for the UIs for various platforms it boils down to only the most common denominator of those platforms. And then makes it worse. Not only is it buggy, it is also very slow and incredibly limited. In our office we're keeping a list of all of Xamarin's silliness we encounter, here is just one of those:

 "Clicking a Button changes its text alignment from center to left-aligned; it requires writing a custom Renderer to solve this."
I admit that Microsoft is usually quick to fix those bugs, but it doesn't instill much trust in the system if you're constantly running into issues. Many days I am literally working 50% of the time on my app and 50% working/fighting my way around Xamarins issues.

I'd love to hear from someone using Visual Studio if their experience is more positive, but my advise is: please stay away from Xamarin.Forms and Xamarin Studio as much as possible.

FlyingSnake 6 hours ago 5 replies      
iOS developer with multiple years of experience of burning fingers in cross-platform development here.

I've tried Cordova/Ionic, Xamarin, Dropbox Djinni, and native iOS development. C++ is the closest I've got the a performant cross-platform solution, even though it go it's own quirks.

The problem with Xamarin is it'll always play second fiddle to quick moving targets of Android and iOS toolchains. In my case the Reactive Extensions support was utterly broken, and Visual Studio kept crashing on MvvmCross, Android SDK updates would make things hell, and I would waste at least 8 hours a week to fight the toolchain. The promise of cross-platform doesn't deliver much as you're trying to tweak your MVVM solution to Android/iOSs whims and fancies, which leave you with a fragile common logic.

If you want to write a TODO list of simple CRUD app, it might work, but for professional iOS/Android development, Xamarin is not enough. Xamarin doesn't free you from learning ViewController lifecycle etc and platform specific implementation details. So you're stuck on a foreign platform, with extra overload of learning C#/F# along with Android/iOS platform overhead.

My Advice: Learn Swift and Kotlin, and do native development. Cross-Platform is a illusion, and the road is paved with dead and failed projects.

ghuntley 8 hours ago 1 reply      
Xamarin has unfortunately muddled their branding.

Xamarin Forms is not Xamarin, it is a DSL. You do not need to use it. At its core Xamarin is c# with pinvoke to the underlying native platform implementation. You'll still need that platform knowledge but now you can share the core business logic between platforms.

To get maximum code share you'll need a MVVM framework such as ReactiveUI which is based on the Reactive Extensions and modeled on functional reactive principals check out https://github.com/reactiveui/ReactiveUI/releases/tag/7.0.0 or http://reactiveui.net

bobbygoodlatte 6 hours ago 1 reply      
You might want to look into Exponent. They're a YC startup that build a framework on top of React Native. https://getexponent.com/

The team is made up of a few React core devs and some ex-FB folks. They actually helped organize the last official React conf. The scope of what can be built using Exponent is expanding rapidly. And you can build apps that are virtually indistinguishable from Swift/Java apps.

If you want an example, I'd encourage you to download the Android version of this app: https://li.st/

m_fayer 5 hours ago 0 replies      
My experience with Xamarin is mostly on the Android side, so that's what I'll mention. Spoiler: mostly positive, with some big caveats.

In no particular order:

Stay the hell away from Xam.Forms, unless it's improved drastically in the last 6 months. Though I also think the whole idea is misguided.

For Android, go with Xamarin or Kotlin. I would take C# over Kotlin because of the maturity of the language, the tooling around the language, and the ecosystem. Either way, having a powerful modern language will be a godsend.

Concurrency on Android is much easier to deal with in Xamarin than with native. This extends to things like complex orchestration of animations.

You will do backflips trying to get startup-time down. But once your app is in memory performance is basically native-level.

Xamarin gives you some nice framework-level things that native Android doesn't. A good API for sqlite and http. Proper data-binding. MvvmCross and ReactiveUI are light-years ahead of anything that is available in native-land.

Xamarin builds are faster and more reliable than Gradle.

Xamarin introduces its own layer of bugs and glitches. You've added another slice of Swiss cheese to the stack.

Xamarin plugin for Visual Studio is crash/glitch city. Xamarin Studio is tolerable at best. Either way, your tooling will be faster but less feature-rich than Android Studio.

Every time you want to use an existing third party library, you will go through this process: Has anyone done an official binding for it? If yes, use awkward Java syntax in C#. If no, try to find an unofficial binding. If not found, try to bind on your own - 50% chance it just works, 50% chance you fiddle for half the day and then fail. If it's the latter, try to decide if you want to do a code-level port, or abandon your idea. Code-level ports are possible nearly line-by-line, it's slow brainless work.

zihotki 10 hours ago 1 reply      
MS stack developerI think yes, MS invests a lot into the Xamarin platform, so I expect it to become more stable and more developer friendly than it was before. I have a plenty of experience doing cross platform mobile development and I tried several other alternatives, Xamarin was actually the best - easy to start, easy to implement stuff, fast enough on mobiles, has a lot of components, etc.

Also I would like to recommend to focus more on Xamarin.Forms, it's using more modern approach. XAML (it's a xml-derived language) is actually quite good for writing UI part. Add there some MVVM framework and you'd love it.

Edit: fixed spelling

jmkni 9 hours ago 1 reply      
I am using Xamarin.Android currently for a project, and I really like it.

One thing I love is that because it maps so closely to native Android development, you don't need to look specifically for Xamarin.Android tutorials/SO Answers/blog posts etc to learn how to do something.

Most of the time, information targeted towards native Android development will apply to Xamarin.Android also, and you can basically map example Java code to C# because they use the same classes/namespaces.

I'm going to be getting into Xamarin.IOS soon, hopefully the experience is as nice.

cryptarch 4 hours ago 0 replies      
I've very recently worked with Xamarin Forms for about 5 full-time months and it was terrible.

My main complaints are:

* It's full of bugs

* The build system is unreliable and mysteriously breaks, which generally takes a full day to fix

* Basic functionality such as merging resource dictionaries (which are stylesheets, kinda) is missing

* No graphical UI designer or preview, so every layout change requires a recompile and deploy before you can see it

* Apps feel sluggish and crash at runtime without specific error messages

* It makes VS crash all the time. I'm not a regular VS user so I'm not sure if VS:CE2015 is a POS or if Xamarin is.

calferreira 9 hours ago 2 replies      
I'm currently developing an app integrates Google APIs like SignIn and a google product that i plan to make available on all major platforms (Android,iOS,Windows).

In the beginning, i thought about making a hybrid app, because it could save me time on the long run, but starting to developing with Cordova and EmberJS or even Xamarin was frustrating.

My major reason for frustration is the tooling, cordova emulator just sucks (Ripple?) and working with javascript mvc frameworks isn't just for me (too complex IMHO).

Xamarin on VS has some bugs that would only go away if i restarted the IDE in order for things to work. Also, i'm concerning about being dependant to a third party framework.Can they keep up to speed with Google,Apple and MS?

Another valid concern is app size distribution that seems to be considerably higher with cordova and Xamarin.

Since i started on Android, using Android Studio made my life a lot easier and i'm progressing daily and enjoying it, something that was a PITA with other tools.

In my experience i would say that it will be more time consuming (expensive) to develop a single solution for each platform as well as giving support, but the tooling is a lot better, also you can give users a better experience because you end up developing native apps for each platform that can take better advantage of it's ecosystem.

I'll find out in the future if i'm right or wrong.

Meph504 3 hours ago 0 replies      
I think where Xamarin shines is in places where the development stack is already .net. If you are starting green pasture, and don't have .net developers already, then it seems to make very little sense.

With that said, I've made a number of apps in it, and it works well enough, but the more abstractions, the more problems, and you want to do anything outside of simple UI apps, you are likely going to have to learn how the native methods work anyway.

martinpinto 10 hours ago 1 reply      
Ionic 2 is a very promising hybrid approach. It's still in beta but should be out of it soon (better wait until it's released). The current beta version is quite fast. It has lots of components which are beautiful and has great support for ios, android and windows phone. It's JS (angular2) and html based.
alex4Zero 1 hour ago 0 replies      
I've spent last 3 years working with Xamarin and native iOS and Android apps.

Xamarin wins if you need something for Enterprise. A lot of entry fields, validation, integrations with SSO, Sharepoint, other rest API. If you use MVVM well, it will lead to ~75% of code reuse between iOS and Android. Even more with XamarinForms. No complex effects, no complex animations, just enterprise.

Native wins if you want to make it more beautiful for end-users and you need to have a lot of customization. For example, customize map, pins and callout views. You will hate everything if you do it in Xamarin. No code reuse here

In general, Xamarin has very great chance to be #1 choise when you choose platform for Enterprise development.

vblord 4 hours ago 0 replies      
I've been a life long Microsoft developer. So when I started down the mobile app path, I naturally gravitated to Xamarin. Xamarin allows you to build mobile apps in the best development IDE out there. This is true... but it has it's issues. I've created 3 andoid apps with Xamarin (and tried more), but each time i've run in to bugs or oddities that make life suck. I wish it was better, but if I could go back in time, I would have probably chosen a different language/tool. Maybe Unity if I still wanted to stay with the C#/VS IDE.

One nice thing about it is that all the methods/classes are named almost the same thing as native android. If you want to know how to do something, you can find the android solution and just change a few small things.

So my vote would be to not do Xamarin and to choose a different cross platform development environment. Cross platform is the key. If you do choose Xamarin, I would spend some time and do a little bit of training before jumping in. It's not like the ease of building windows applications in VS.

pritambarhate 8 hours ago 3 replies      
Yes it is worth learning. It's a skill which is quite in demand especially from established companies for their business applications.

However, as others have pointed out, Xamarin Forms is a bit of let down.

In my experience, if you try to create custom designed UI (which is quite common in the native apps), then you find that Xamarin Forms is very limited. To overcome this limitation you need to write something called as a custom renderer for each OS you want to support. So it doesn't really save you much time.

Xamarin has something called as Xamarin Labs project on Github: https://github.com/XLabs/Xamarin-Forms-Labs But it's progress has been very slow.

If you have a business data collection / reporting app, where how things look is not very important, Xamarin can save a lot of time while creating cross-platform apps.

However, I wouldn't recommend Xamarin Forms for B2C apps.

jasallen 8 hours ago 0 replies      
Hey Guys, Xamarin University Instructor here,

Obviously I think it's worth it, I learned it well enough to teach others. We have a bunch of free Self Paced Learning modules and videos at Xam University, as well as obviously the paid stuff that pays my salary ;-)

There is a ton of investment and effort from a small team, remember, we've only been with a "big company" a few months, so the improvements come at a blistering start-up pace. If you haven't seen it in a couple years, you should really check back.

If you are going to develop "all platforms" or even just iOS and Android, it is _certainly_ worth a long look. Access to every API you get access to in their native languages and the ability to avoid that language "context switching" pain. Plus, some amount of shared code (varies wildly, 25% - 75% depending on how heavily your app is just about custom UI and animations ).

Because we use the same APIs (except when we have better ones), you can leverage the same documentation and StackOverflow posts when you need to (yes with a little language translation), but you often don't need to because Xamarin has a _lot_ of great documentation as well.

And, as has been mentioned, "Xamarin Forms" does not equal "Xamarin". Although it is a valid choice for developing in Xamarin, it is only one option. Here is a super shallow comparison:

Xamarin Forms: Super fast for super simple UI's and interactions with common elements. It is highly opinionated on what it should do and look like on all platforms. Customization is do-able but starts to increase the complexity of the app quickly to the point where the below would have been a better choice.

"Xamarin" aka "Xamarin.iOS and Xamarin.Android": Use essentially the same development patterns as Native Android and iOS developers and use the same API's (plus .NET library, and many .NET 3rd party libraries). You get code sharing (as noted, amount varies considerably), ability to "think in one language (often including your server, which might also be c#), and access to some additional libraries (because we support both the Native libraries _and_ the .NET ecosystem).

Hope this helps :)

Oh, and a quick plug. Xamarin University is live classes taught by real, very experienced developers who can actually help you learn and understand, so we are, you know, worth asking questions of. Also, we'll be doing a free presentation all day on November 18th as part of Visual Studio Connect, so check us out there and see what you think of Xamarin _and_ Xamarin University!

gtsteve 3 hours ago 1 reply      
I have read some fairly negative comments in this thread. I have experienced many of the negative aspects myself, and while I don't disagree with them, I would still say that it is worth learning this technology.

Microsoft's strategy with bringing a phone to market appears to have failed so they're going to have to take the next best thing which is owning the development tools. I expect the outlook for the software to be extremely bright and if you plan to be a professional mobile developer I strongly suggest learning it.

Of course, this does not excuse you from learning how to develop for iOS and Android natively, but it is a great addition to your toolkit as a developer. It's also another box to tick for the recruiter or hiring manager.

santiagobasulto 9 hours ago 0 replies      
We've been working lately with React Native and Exponent (getexponent.com) and we've had an amazing experience. The apps resulting have a great experience and performance. Vue.js and Angular are also making progress towards the Native world. I honestly don't think hybrid apps are going to be a think 2 years from now (of course I could be wrong, this is just an opinion).
LyalinDotCom 3 hours ago 0 replies      
Just one comment to bring up as many folks still don't know, Xamarin is free for many developers along with Visual Studio Community edition, the full info is here in this announcement from March 2016: https://blog.xamarin.com/xamarin-for-all/
dep_b 9 hours ago 0 replies      
I tried Xamarin once for a macOS application. I migrated a Forms application by extracting all logic that I could from Forms-specific (code behind files) into more generic classes.

Then I had a .dll that I could use in my Xamarin project. The Xamarin project was razor thin and I only used C# to connect my XIBs or Storyboard (I forgot what I used, but it was in Interface Builder) to the existing .dll calls and a specific type of hardware scanner.

The hardest part was getting that scanner to work, which would be not so easy for me even in Objective-C. But I basically had to create an Objective-C wrapper wrapped in some kind of C# wrapper. It wasn't easy but it was doable.

The hardest part was getting everything signed correctly, since I was using all kinds of layers you usually wouldn't use in "just software" project.

The overall experience was really good despite that the native editor for macOS wasn't that spectacular. I did the meat of my programming in Visual Studio and Visual Studio is a really great tool. Another part was done in Interface Builder which is a great tool in my opinion.

A friend uses it a lot for a cross-platform app written in Xamarin Forms. The thing with Forms is that unless you keep it simple you will run into Xamarin bugs, iOS specific bugs or Android specific bugs in your layouts and that can be challenging sometimes.

I would say that if you would make the UI in native code or storyboards and it still seems like an attractive idea to use Xamarin, use Xamarin. Don't use Forms.

wsloth 9 hours ago 3 replies      
When using Xamarin I always get the feeling I'm writing Java code--but in C#. The cross-platform project is a blessing, it's truly amazing to be able to write code once and use it on all platforms (especially if you use Dependency Injection for even more sharing).

The downside to this is that making a UI seems to even out your gained time--it's extremely messy and even complicated. Code that's valid in C# produces vague underwater bugs in Java code, which makes you keep hacking around until you find a working solution.

Not to mention the docs: some parts of the documentation are completely outdated to the point of not even compiling on an older version of Xamarin. For example, the tutorials on using Google Maps in your Xamarin.Droid application are way out of date, ignoring the fact that the "Google Play Services" component has split off into thirty-or-so components. Some of the most used API's are not documented at all, simply having a "To be added" description.

All in all I find much potential in Xamarin, and I really want to love it, but it's a messy nightmare to use, and it only makes me want to use Java and Swift separately for apps.

andyjohnson0 3 hours ago 0 replies      
I've been using Xamarin since mid-2012 and have developed a couple of niche imaging products on Android and iOS for my employer, plus some internal tools on Android.

Overall I've been very happy. Code re-use hasn't been stellar, but good enough to repay the investment. We have re-use not only between apps, but also between mobile apps, Windows desktop apps, and our application backends. I also feel I'm more productive than if I had so swap between Java/Swift/ObjC/Andorid Studio/Xcode.

Stability has improved a lot in the last year. Paid-for support was pretty good (esp. guys like @jonpryor), but the self-serve forums can be a bit hat-and-miss. I never had any killer bugs (but then I never used Xamarin.Forms...)

Overall: 85% happy with Xamarin.

hitgeek 4 hours ago 0 replies      
i'm mostly a web developer with C# and JS. I've tried to learn Swift, Xamarin and React Native multiple times over the last 2 years.

With both Xamarin and React Native there was a honeymoon period where everything seemed so easy and great. But at some point I always hit a problem where there was limited documentation, or unsupported features, and that really hurt my productivity and motivation.

The learning curve for Swift/ObjC always seemed much higher, with a lot more upfront investment required before I could make anything resembling a functional app. The iOS layout system in particular was an obstacle, as well as managing the tooling and dev environments.

If I had a free 6 months, I would just learn full native, but keep an eye on React Native. The dev experience in React Native is unparalleled, and it seems easy to drop down to native code (assuming you know it). Also the ability to easily contribute back to the community with NPM and react-native "link", makes me hopeful limitations will quickly be erased.

bedane 3 hours ago 0 replies      
Xamarin is only worth it if you already have lots of C# code you need to reuse in mobile apps(our formerly windows-only company had to)

As a day to day user, I quite dislike it. But rewriting our business code was not an option.

eonil 4 hours ago 1 reply      
Such cross platform apps are meaningful only if your product doesn't need great UX. But the question is, if your app doesn't need it, why do you need a native app? It's better sticking to a web-app. Make a web-app and cover all platforms at once.
jsingleton 7 hours ago 0 replies      
I couldn't get React Native working for Android (on either Mac or Windows) but I've been pretty happy with Xamarin. I've written a simple game in Xamarin.Forms that I will be posting about.

Purely by coincidence, I have four blog posts on this out this week. The first one (on React Native and Xamarin) is here: https://unop.uk/cross-platform-native-mobile-app-development...

sergiolp 9 hours ago 0 replies      
At flexVDI, we use Xamarin for building our macOS client (Xamarin.Mac), sharing most of the code with the client for Windows, built with Visual Studio. Both of them, link against a shared library which implements core functionality, written in C.

I must say that, having its own quirks and nuisances (specially in Xamarin Studio, which was pretty buggy until version 6.x), it does the job pretty well.

In fact, when we wrote our iOS and Android clients, Xamarin was still pretty immature. But if we had to rewrite them today, it would be one our of first options, right after using the native frameworks (which ensures the best results, but drastically increases the costs).

vibrato 2 hours ago 0 replies      
One downside of Xamarin apps is memory usage. Just launching our app uses >200mb of memory. After doing all we can to avoid memory leaks and excessive usage, we still crash regularly due to running out of memory. (part of this is due to a UIWebView)
grabcocque 10 hours ago 2 replies      
If you want to develop cross platform mobile apps your only other option seems to be React Native. I'd like to see a good rundown of the pros and cons of each approach.
staticelf 2 hours ago 0 replies      
If you already is an iOS dev I think it's easier to just also pick up android instead of Xamarin. Altough, Xamarin seems very nice and so on.
DevInPainNeo 6 hours ago 0 replies      
The Xamarin needs to develop easy and customization should be easy.

Had huge pain in full screen mode dynamically for all the devices.

Calendar with colors forced me to create a new custom control from 0.

To be stable with the controls if you make a tab control in one version should be the same in other versions also, not reinvent and change the wheel.

Easy and clear documentation. Forums all with lots of no one cares why it works int works on my machine stuff.

To new technology and has to get mature and stable. If you are not in the same versions of Xamarin in mac and windows it just not works properly.

Proper error message. I am getting an error like There were deployment errors. Continue. (Not run in administrative mode the vs 2015, closing the emulator or it was opened by other vs before, or you closed the emulator before finished the deploy)There are lots of errors like "aapt exited with code 1" that means there is some bad character in image or in files like -.... or files starts with number.

Also sometimes out of memory exception when loading images larger then 1mb or in android 4.2 larger than 300kb, even going lover to 100kb having problems in 4.2 android.

Proper editor for Xamarin.Forms is a must have if you want to develop. You can't see the design what you are doing with vs 2015.

Also designer is crashing all the time if i open multiple times and make some adjustments.

Taylor_OD 5 hours ago 1 reply      
This is different than your circumstance but back when I was recruiting I helped a Xamarin developer with no professional experience find a gig with a 95K base salary. It's currently niche enough that people are willing to pay top dollar for anyone who can actually work in it. Another Xamarin developer I know consults for 150 an hour. (Although he's probably one of if not the best xamarin guy in Chicago)
ParanoidShroom 9 hours ago 0 replies      
I loved C#, hated Xamarin forms.It was about a year ago no, but I doubt things have changed that much.There were just so sooo many bugs.I have nothing against them and still think .net is amazing, but that was such a worse experience.I think reactive will win though.
shams93 4 hours ago 0 replies      
Yes if you're looking to be a primarily .Net developer, it's not so widely used outside of the .Net community but in many .Net shops it's become the standard tool for mobile development.
ghuntley 8 hours ago 0 replies      
If you are currently doing Xamarin development or are interested in learning more check out the http://weeklyxamarin.com newsletter.
davidgrenier 7 hours ago 1 reply      
F# is worth learning that's for sure.
dvcrn 10 hours ago 1 reply      
Ruby Motion vs React Native vs Xamarin vs Native (Java/Swift) is a question I have all the time. All look interesting and worth learning
tejasv 7 hours ago 0 replies      
We use Xamarin Forms a LOT for our internal and public facing apps. I started exploring it almost 2 years back, because native Android development just sucked, and C# has the async/await keywords, which is simply perfect for asynchronous operations in UI.

It has not been an easy road. After 2 years, I'm finally beginning to reap the benefits. The simple problem is this: this is another layer over the existing layers and it's very hard to get it right, especially if the underlying layers suck.

Just because you've learnt Xamarin Forms doesn't mean you can choose not to learn the underlying native platforms. You can skip over most of the details, but something will always come back to bite you, and then you have to go figure it out. Xamarin Forms works on top of Xamarin Android, that works on top of Android SDK and Android Tooling, which works on top of the JDK, which works on top of the OS you're developing on. So many places for something to go wrong, and usually presents itself in the form of a cryptic error at the top. Developing for iOS is considerably easier.

So there's still a fair amount of expertise to develop if you're completely new to mobile development. Take it for what it is -- an abstraction, and as with any abstraction, any concrete manifestation will have its issues, and you must be ready to roll up your sleeves to figure it out. And it does get keep getting better with every subsequent release.

But it does eventually help -- we have to get the complex bit right once, and then it simply works. Don't approach this like you would approach an Android app -- make sure you understand UI design best practices -- especially reactive design and data binding.

We also have .NET stack, so I'm finally in this beautiful world where all my logic is represented as C# Expression Trees on the server side, that gets serialized and pushed down to our Xamarin Forms Apps. Looking forward to WASM adoption, so I can finally get rid of that JavaScript mess.

So if you're writing a one-time app, and you just want to target Android/iOS, and you don't care how you've done it, no it doesn't make too much sense.

But if you're trying to make a long-term bet, in this awful fragmented device-oriented world, (and having to write the same app twice goes against the very nature of your existence), well that's my bet, I will be cautiously optimistic. If you're on .NET, it's a no-brainer -- there are simply too many other benefits to ignore, and philosophically very true.

The architecture itself (Forms, Xamarin.Android, Xamarin.iOS, Custom Renderers, Platform Effects, Bindings to access native libraries) is theoretically flawless (or very close to it), a work of art -- and I'm a sucker for theory, no matter the real world pain.

paulftw 9 hours ago 1 reply      
Isn't Facebook for Android built in React Native? Doesn't seem to be lacking for them. Airbnb and Instagram [1] are also doing alright.


amelius 9 hours ago 1 reply      
How is React lacking for Android?
miguelrochefort 9 hours ago 0 replies      
If you're familiar with C# and .NET, it's a no brainer.

Xamarin is nothing more than a C# wrapper around the native iOS and Android APIs. Everything you're familiar with (UIViewController, UIView, UITextField, UIButton, etc) remains the same. The main benefit (other than using C#) is that all non-UI code can be shared across platforms (iOS, Android, Windows, server, etc).

Xamarin.Forms is built on top of Xamarin and lets you reuse the same code for UI as well (using their own abstraction that's similar to WPF/UWP). I would only recommend this for relatively simple apps as you lose some control over platform specific details.

wjd2030 5 hours ago 0 replies      
Xamarin for business layer logic, native for the actual app.
UK-AL 8 hours ago 0 replies      
Yes, but only Xamarin, not xamarin forms.
Zigurd 3 hours ago 0 replies      
I have had clients that use Xamarin. This is what I've observed:

1. If you don't use Xamarin and you don't have a team in-house that uses C#, don't bother. You'll be better off doing native development on iOS and Android platforms.

2. Your app won't be as pretty, and it won't adhere to platform native UI conventions as well if you use Xamarin.

3. Xamarin does a better job of it than most but it will still be lagging in access to the latest features.

4. BUT, if you are doing a vertical market app that wants to be cross-platform AND you have C# coders you can apply to that task, Xamarin is the best choice.

There are a lot of places where choosing Xamarin makes a lot of sense. And the people who created Xamarin are excellent. And now that Xamarin is owned by MS, it won't die because it is hard to make money as a cross-platform startup. But as with every other cross-platform tool for non-game apps I've seen, it isn't the best choice in green-field situations.

umurgdk 6 hours ago 0 replies      
I've used in production and experience was good. Xamarin Studio is more than enough for development / debugging. Xamarin is very powerful, but usually people taking the wrong direction with Xamarin and using Xamarin.Forms. As like many other cross platform solutions Xamarin.Forms sucks. If you think making a native iOS application is easy with Swift, it is same with Xamarin too. When i develop applications with xamarin (desktop/mobile) i usually look for java/swift documentations or forums for my problems. This way i don't need separate xamarin community. Because you can write the same code in c# easily. Please check my workflow, for any further questions, twitter: @umurgdk

Recommended workflow:0. Never ever use Xamarin.Forms other than quick prototyping. If you develop applications with other cross-platform frameworks, you already know all of them sucks and Xamarin.Forms is not an exception.

1. Create PCL / Shared project for your business logic (also your view models if you're using MVVM architecture). Believe me most of your application is platform independent (except the view layer). Your api communication, storage operations all handled here. See 3rd article to how to make storage/network platform independent.

2. Create native projects for each platform (iOS, Android, Windows) implement native views here (use xcode, android studio if you need visual designer). This part should be exactly the same as your swift/java code. For iOS you're just implementing an ApplicationDelegate class and UIViewControllers as same as your swift code. Same for Android part, nothing special to xamarin just implement your activity classes. At this level you have the full power of your native platform with one exception 3rd party native libraries. It's possible to use (yes i used some swift/java libraries for youtube player) them but really hard to integrate to your project, that part has to be improved and better documented.

3. Your shared code base need native features, for example storage implementations are totally different for each platform, or changing views (navigation) will be implemented differently for each platform. Since shared code base shouldn't know anything about native platform. You should abstract these functionalities with interfaces. For example create a storage interface with methods like saving/reading/creating files. Another example might be network communication. Abstract it as an interface on your PCL and implement this interface in your native project with full control of your platform. Your shared code base only knows how to use that interface. And then each of your native projects should implement these interfaces. At this point dependency injection may help to register implementations easily. Actually that part is what makes you share your business logic. Writing idiomatic cocoa navigation code is much better than using any cross platform implementations, you have full control but in the same time your shared code base using them without knowing anything about the platform.

T3RMINATED 9 hours ago 0 replies      
I've used Xamarin for several projects and I greatly regret that decision. Granted, most of my hatred is targeted towards Xamarin Studio and Xamarin.Forms so if you use Visual Studio and build only native UIs then maybe your experience will be better.
WhiteHat1 9 hours ago 0 replies      
Microsoft just announced the launch of Visual Studio for Mac (based on Xamarin). It's great if you want to C# development. Have you tried Eclipse or Android Studio?
icemelt8 8 hours ago 2 replies      
No one is mentioning how expensive Xamarin is and there is no proper free version.

In the free version you app expires after 24 hours AND it has to be below a certain size, I dont remember maybe 2 MB or something.

To make something you have to cough up a lot of money, and the sad part is this information is incredibly hard to find, you only stumble upon it when you download GBs of files.

Ask HN: Best things happened to you just because of HN?
4 points by introvertmac  1 hour ago   3 comments top 3
pryelluw 5 minutes ago 0 replies      
Got Jobs, contracts, and most importantly, friends. I've met lots of great people by just sending them a simple email. This community is amazing.
keviv 27 minutes ago 0 replies      
I just started freelancing and a lot of people contacted me after seeing my comments on various discussions on HN. They usually go through my blog where I've mentioned about all the XSS vulnerabilities I found in various Indian sites. These posts are very old but still validates my experience and my skills.

Indirectly, a lot of good things have happened to me because of HN as well. Things change very quickly in tech space. Yesterday's anti-patterns are today's best practises and best practises of today will become tomorrow's anti-patterns. I owe a lot to HN which keeps me updated with ever changing tech ecosystem. Being a full-stack developer, I've to keep up with both frontend and backend changes happening everyday. Without HN, I'd not have found out lots of things for sure.

nicomfe 12 minutes ago 0 replies      
got my first remote freelance project thanks to HN and one of those who is hiring posts!
Ask HN: Do you find writing plumbing code for SaaS painful?
2 points by brilliantcode  2 hours ago   3 comments top 2
keviv 14 minutes ago 0 replies      
I'm planning to build my own SaaS application and I totally understand what you are feeling. I won't billing, auth etc are non-product things. I do feel that all the SaaS companies pretty much reinvent the wheel every time they write billing and auth code. I'm a PHP developer and I work mostly on Laravel. Laravel's creator definitely felt the same and he created Laravel Spark. Spark is basically a boilerplate for SaaS apps. It includes boilerplate for Authentication, teams, billing, subscription etc. It costs $99 which isn't a lot for all the things it offers. I'm not sure if any other framework offers such stuff.

Link: https://spark.laravel.com/P.S I'm not related to Laravel or Spark in any way.

zilchers 2 hours ago 1 reply      
Auth0 does a good job taking some of the pain out of integrating authentication, but I tend to agree. I have a nice couple of templates I use to bootstrap side projects.
Ask HN: How would you choose which language to learn?
3 points by tvanantwerp  3 hours ago   7 comments top 7
itamarst 59 minutes ago 0 replies      
There's also just whether you have the time to learn it. It's easier to find time and motivation (and maybe even support from your boss to learn it on work hours) to learn something that's tied to your job in some way: https://codewithoutrules.com/2016/04/27/which-technology/
milkytron 3 hours ago 0 replies      
If time allows, I'd prefer both. If you have an arsenal of popular languages and unpopular languages (assuming you are sufficiently skilled in them), it will give you a leg up over the competition that knows fewer.

But as the other comment states, B tends to be more exciting, and allows for deeper social connections more frequently. Sure, millions of people might know java and you can say, "Hey I know java too!" But I doubt the conversation will go any further than that. However, if you have experience with a less popular language and meet (or are interviewed by) someone that also knows that language, it will create a much deeper connection.

All in all, do both if you can. If you have to choose one or the other, learn something new and become a part of a smaller community and watch it rise or fall.

tboyd47 3 hours ago 0 replies      
I would consider your own personal preferences over purely economic concerns. How does the language "feel" to you? Does the community inspire you?

But if you want to look at it from a purely economic standpoint, the factors you mentioned interact in a complex way. Another one to consider is the salary curve for a language over years of experience. Not every language has the same pay. I would also consider the number of entry-level jobs over the total number of jobs.

I have an article exploring all these factors here if you're interested.[1] Enjoy!

[1]: https://medium.com/@tboyd/which-language-should-i-learn-answ...

tedmiston 2 hours ago 0 replies      
Focusing on one of the most popular languages on GitHub (see the annual top 10 list etc) is a good approach, especially if you don't have tons of industry experience. Once you have that foundation I think it's easier to choose general or specific. I've done a little bit of both but mostly generalist most experienced in Python.

If you're going to focus on a specific language, make sure you're applying it to a problem where it makes sense.

ohgh1ieD 3 hours ago 0 replies      
Both, knowing Java/C++/C# opens doors but exotic languages keep them open.
AnimalMuppet 46 minutes ago 0 replies      
Let me ask the question a different way: What do you need to be learning now for the next five years of your career?

That may not be a language. That may be a programming style (functional? reactive?). It may be a library or a framework. It may be a platform (Android?). It may be a "language" that we don't think of as a language (SQL?).

My current answer is Android (not that I'm making much progress on it...)

Credit where due: I got my version of the question from my wife. She's asked it a couple of times over my career.

dudul 3 hours ago 0 replies      
I usually favor B)

First, as you point out, less competition.

Second, these languages are usually a little younger, and there is a chance to be part of a nice community from the beginning

Third, learning an "exotic" language is sometimes a great asset on a resume even if you interview for a position involving a different technology. It shows intellectual curiosity.

Ask HN: Has it become harder to rank on the front page of HN?
4 points by throwawaz  4 hours ago   2 comments top
minimaxir 4 hours ago 1 reply      
You're hitting a confirmation bias.
Ask HN: Self Hosted Google Inbox Alternative?
7 points by kolemcrae  7 hours ago   1 comment top
luxpir 3 hours ago 0 replies      
That'll be a no, I think. If you can carry over your discipline in inbox-zeroing, you can set up mutt with gmail and never have to suffer a clunky, slow interface again... Tagging and saving 'do later' messages into a 'Snooze' and 'Done' folders wouldn't take much setting up.
Dear Google, Apple, Mozilla, and MS: Please End Auto-Playing Media in Browsers
1324 points by geuis  1 day ago   312 comments top 85
tfgg 1 day ago 15 replies      
Things that make me just close tabs straight away:

1) Autoplaying videos, especially ads.

2) Pop-ups / overlays.

3) Loading lots of extra elements causing text to jump around.

Especially true if I'm just browsing around and click on something that looks interesting, the above will take that thing from "this might be worth 30 seconds" to "not worth it".

Why kill that little dopamine boost someone just got from clicking on a link to your site? If you're wondering why your bounce rate is so high... though maybe these dark patterns bring in enough ad revenue that it's worth it. I don't see how 3 helps that, though, just lazy coding. Or maybe other people are more tolerant and it doesn't really affect the bounce rate.

Ruphin 1 day ago 8 replies      
What you are really asking is for Google, Apple, Mozilla, and MS to make a better web _for you_. Because you don't want media to autoplay does not mean it is a good solution to just block it outright for everyone.

Some websites have legitimate use for autoplaying media. Some users (believe it or not) actually _like_ their videos autoplaying when they scroll through their Facebook feed or whatever media site they visit. Are their usecases and desires not legitimate?

Your argument is in the line of "I don't like going to Starbucks, so legislators should get together and ban Starbucks stores for everyone". Even if you have a legitimate reason for not liking Starbucks, the solution is for you to just stop going there. If you don't like websites that use autoplaying media, then stop visiting them. Or, like some others in this thread suggested, install some plugin or other software that makes sites behave the way you want to.

A call for browser vendors to implement some opt-in setting that does what you want would be much more realistic suggestion. (As some other comments pointed out, for some browsers this setting already exists)

the8472 1 day ago 6 replies      
firefox -> about:config -> media.autoplay.enabled = false

additionally the dom.audiochannel.mutedByDefault and media.default_volume settings may also be useful if you want slightly different behavior.

If you want a more blunt tool you can also use content blockers to block media content until you opt into it for a particular site.

> I know there are plugins than can somewhat do this, but no solutions are universal or great.

How so? There are about a dozen FF addons covering different use-cases like muting inactive tabs or all tabs but a designated one. If none of them meet your particular expectations that might also indicate that everyone wants something different and it is difficult for browser vendors to cover all expectations. Maybe you should modify an existing addon instead to do what you want.

massysett 1 day ago 4 replies      
This behavior is so bad that I have changed my browsing behavior. I visit only selected, trusted news sites, as "free" sites are horrible offenders here. Google is much less useful while on desktops as it is likely to return obnoxious websites.

So far I have not had a bad autoplay problem on iOS. However a growing problem is obnoxious pop up ads that are difficult to escape.

Overall more of my Internet usage is shifting to apps because the Web is just too annoying. Years ago the Web was like a friendly, boisterous marketplace in a safe town. Now it's like the street in "Casablanca" where I must constantly guard against someone picking my pocket. It's not worth using except for a few sites I trust.

Google in particular had better watch out. With Web hostility their search is not as useful. One reaction of theirs has been to pack more information directly into their search result.

hashtagMERKY 1 day ago 2 replies      
I really dislike auto-playing audio and video as well, for all the reasons you mentioned, but also for a less logical reason: it just makes it feel like the browser isn't on your side. If a site is automatically playing audio or a video advert, its design is not in the user's interest, so in that situation your software has to choose whose side to take. I just want and expect the software I have installed on my computer to take my side, and always act in my interests. It probably sounds silly but I just think software should always be primarily designed for the end user.
fjarlq 1 day ago 2 replies      
There are a couple Chromium bugs filed about this: https://crbug.com/107923 and https://crbug.com/514102

Overriding autoplay can lead to a confusing user experience -- play/pause synchronization issue with embedded YouTube videos: https://bugzilla.mozilla.org/show_bug.cgi?id=1217438

The Disable HTML5 Autoplay extension is often suggested for Chrome, and it has 112,213 users, but it's far from perfect: https://chrome.google.com/webstore/detail/disable-html5-auto...

fgpwd 1 day ago 1 reply      
There should be a media play permission just like there is for accessing your webcam or showing notifications. You give the permission once to a website such as youtube, and from them on videos would play automatically for the domain youtube.com. No videos would play on any website to which you deny this permission.
glandium 1 day ago 2 replies      
My "favorite" case is a site that sometimes embeds videos, and also has autoplaying videos for advertising. You can't listen to anything from the former because of the latter. Even worse, when you pause the advertising video, it autorestarts after a while. So if the embedded video is long enough, you just can't watch it entirely.

So, in fact, while e.g. Firefox has a mute button for each tab, I also wish it had an individual mute button for each <video> and <embed> element.

gkya 21 hours ago 0 replies      
Nowadays I find I can't use the WWW without JS blocked except on a select whitelist of websites. I can't stand downloading 10-15 megabytes for <=1KiB of actual substance. I can't stand the amount of amateurish design decisions I need to fight using websites, some unfortunately unavoidable like my university's web services, or the stupid Edmodo app imposed to us by our professors, etc. And I detest icons, because each and every app / website have different opinions on icons and a different set of cryptic icons which I fear clicking. Also webfonts in many cases are an abomination as many times they are used where a simple stupid half-a-meg PNG would do the job. "Share" buttons that come with some kilobytes of JS, floating headers that leave me five pixels to see the text I'm reading, well, this is an endless list. I'll spare a separate sentence for history-fiddling, I am disgusted when when I hit back unexpected things happen. Google, Youtube, Github, these fiddle with history and replicate browser's things (page loading, history keeping ...) in JS. And as the user I don't have the chance to affect the actual website makers, so blocking JS / cookies / media is the only option.
cyberferret 1 day ago 1 reply      
Another suggestion - enable pausing on video. ANY video. Keep seeing more and more advertising videos that don't even give you the ability to pause.

In the past 12 months or so, I am really finding my web browsing experience hitting new shitty lows. Pretty hard to see the content you want these days behind that clutter of Outbrain ads, pop up newsletter subs, auto playing videos and the like...

emidln 1 day ago 2 replies      
In the past, I was responsible for analytics around a decision to autoplay or not autoplay videos on a media site. The site did both mobile and desktop videos.

 * voluntary customer feedback was universally negative * bounce rate decreased substantially (around 40%) * total interactions with the page increased almost 3x (clicks on significant UX elements such as like/subscibe/additional video plays) * interactions for those using some form of adblock stayed the same (presumably these people also had an autoplay off plugin)
In summary, what users say they like and what they actually like are wildly different. The average user seemed to engage more when we removed the burden of first interaction.

*We did eventually kill autoplay, but only so we could have a consistent experience between YouTube and non YouTube videos (YouTube took efforts to stop counting autoplayed videos for advertising purposes).

ivank 1 day ago 2 replies      
I wrote https://github.com/ludios/mute-new-tabs and I am now happier with a quiet Chrome. The idea is to mute all new tabs and unmute them only when you interact with an in-page volume control (or manually unmute via the tab icon/context menu). This solves only the sound problem though, not the data consumption.
madeofpalk 1 day ago 0 replies      
> In the worst cases such as on mobile browsers like iOS Safari

What site does this? You can't (auto)play media on iOS without direct user action for exactly the reason you specified.

iOS 10 changed this slightly to allow silent or muted videos to autoplay when visible on the screen https://webkit.org/blog/6784/new-video-policies-for-ios/

izak30 1 day ago 0 replies      
I make art installations and UI/UX research. A modern browser is one of the best technical canvases. If you are working on browsers and you turn things off, please always allow me a backdoor for my own browsers to turn them back on.

Complex software control of multimedia and the whole browser experience gives me the ability to develop new ways of interacting with computers.

forgettableuser 1 day ago 1 reply      
I am now a victim of the adage, "Be careful what you wish for because you might just get it".

I hated Flash. I either avoided installing it or used a Flash blocker. So I always managed to avoid the auto-playing problem when the Internet primarily used Flash for everything annoying.

Now that Flash is about dead and everything is HTML5 now, neither of these techniques work any more to avoid auto-playing.

IvanK_net 1 day ago 3 replies      
I completely disagree with this proposal.

All websites should be allowed to play sounds any time they want to. Without it, webapps can not reasonably compete the native apps.

I am a developer of web games and being able to play the sound from the beginning, without any interaction from the user, is one of the most essential parts of the game experience.

If you visit a website which unexpectedly plays a sound, you should stop visiting it / downvote it / ask the authors to stop doing it. When you are surprised by the sound, the problem is not in browsers, the problem is in authors of webpages / webapps.

onion2k 1 day ago 6 replies      
This is eating up our data and inconveniencing millions of people using your products.

The data issue can be addressed by only having videos play automatically when the user is on a wifi connection. This is the default for mobile devices already, so it's arguably already solved for most users.

The "convenience" issue is something that I strongly suspect is actually something that people think one way but act another - lots of users claim to hate auto-playing videos but then they watch them a lot. Facebook's video engagement statistics are hard to argue with - a well designed video that works without sound (eg something from Buzzfeed) gets a tremendous number of shares, likes and click through engagements.

I strongly suspect that turning off auto-playing video, even by default, would actually make the web worse for the majority of people. For those who prefer them not to autoplay, browser vendors do provide that, but the functionality is usually buried in the equivalent of chrome://flags somewhere.

wfunction 1 day ago 4 replies      
CNN especially gets on my nerves. They seem to have gone out of their way to do everything they can to make sure all plugins/extensions that try to block it fail.
inian 1 day ago 1 reply      
It is not as simple as that. Even if videos are prevented from being auto-playing, people resort to much much worse techniques. For example, GIFs - which are much bigger that the corresponding video, worse for battery life etc. To combat this, Chrome recently enabled autoplaying of videos if the video is muted on mobile browser. Hopefully this gets the number of people using GIFs down.

Or who knows, people might start animating images on canvas or something. Allowing auto play in some conditions seems to be lesser of two evils according to me..

moepstar 1 day ago 3 replies      
Facebook is IMHO the biggest offender in that category, dozens of "in your face" videos no one asked explicitly for...

Luckily, there's a setting if you can be bothered - and luckily, for many marketing departments around the world many can't...

"Look, how many views our videos have on FB"...

oftenwrong 1 day ago 0 replies      
I wrote a small extension for personal use that can set various <video> preferences on a site-by-site basis. One of the main things I wanted to be able to do is disabled autoplay. However, I found that a lot of sites just start the video from js instead of setting the 'autoplay' attribute. I was able to put in some stronger defense by using MutationObserver to stop a video that was played without the user clicking play, but then I found that some sites have code that will force a video to be playing, so even a manual pause would be overridden, and the site's js would contend with my extension's js.

There's no way to stop autoplay if we allow free, programmatic access to videos (without blocking js too, which I use noscript for).

I had the same problem with the 'loop' attribute. I wanted videos to not loop. I found that some sites loop videos without using the 'loop' attribute. I would disable 'loop' on the <video>, but the <video> would be replaced by a new autoplaying <video> when the original video ended.

This is about the point that I gave up on my extension.

r721 1 day ago 0 replies      
At least "Click to play" setting for HTML5 audio/video would be great.
chenzhekl 1 day ago 2 replies      
Autoplay is a feature specified in the W3C standard. Thus it's not the browser makers but websites should be blamed for abusing autoplay.
ianai 1 day ago 0 replies      
I remember you had to click play on flash at one point. It was an option you could turn on in preferences. I'd love to have it back.
hashhar 1 day ago 0 replies      
For Firefox:

For Flash, change the Flash Plugin setting to Ask to Activate. For HTML5, switch `media.autoplay.enabled` preference `about:config` to `false`.

Or try out FlashStopper [1] to stop both HTML5 and Flash.

[1]: https://addons.mozilla.org/firefox/addon/flashstopper/

Belenus 1 day ago 0 replies      
There are some sites that display not ads but fake virus alerts. When I visited one of these sites, I got a message blaring out of my computer to call a phone number or to reinstall my computer to get rid of a "virus." (Hopefully it was not.) Every time I closed out of the message box a new one would appear, and I finally managed to close out of the site. It's happened a few times. This may not entirely relate to the topic you were speaking about. :)
hobarrera 23 hours ago 0 replies      
Video: Arguable, since a lot of times is part of the basic design and very lightweight.

Audio: MUST be muted be default. There's nothing that I hate more than opening something in a new tab for later, and a few seconds later, having to track down there that damn noise is coming from.

Always, always, mute tabs be default!

martin-adams 1 day ago 0 replies      
This happened to Flash in IE I think about 10 years ago. Every flash animation on the page had a some form of 'click to play' cta.

I find that pages that have sound more annoying than video, but isn't a major problem for me as I have headphones plugged in permanently.

I think I would prefer such a feature request as a user option, like a permission request. This is how popup windows, full screen, taking control of the cursor behaves.

I do worry about the data usage on mobile though with autoplaying videos. Even pausing them doesn't stop it from fetching more in the buffer.

I suspect there may be some valid use cases for autoplaying (such as background looping videos, YouTube, etc), particularly when run in some type of kiosk mode on a TV. It's another example of where some spoil the experience and the behaviour of the web ends up getting locked down to stop them.

phobius 1 day ago 5 replies      
Agree this is an annoyance - how would you propose keeping features like YouTube or Netflix autoplay/playlists in this scenario?
thomasdd 1 day ago 1 reply      
There are situations when you need to play video on load. (for example, you want a nicely designed content or DIVs.) But Maybe a browser option to enable/disable video playback would solve this. Maybe disabling audio would be as an option, so as webdesigner you can show the relevant visual content but without sound.
Traubenfuchs 9 hours ago 0 replies      
Try out the Bloomberg Website. There is an autoplay video on every page and it moves to a fixed position if you scroll away.Someone should be slapped for this.
dustinmoorenet 1 day ago 0 replies      
As an old Javascript developer, I don't see how the browser could do this without making legitimate websites suffer. You have the freedom to run JS code at any point in the DOM load, after an amount of time (setInterval or setTimeout) or after user interaction. And you can start and stop audio and/or video through JS. So you can't restrict automatically playing media without also restricting the ability to programmatically control the media for legitimate reasons, like media control buttons and hot-keys.

I think it is best to avoid shitty websites. My short list: Facebook, and TV network websites and their affiliates. There are lots of websites that do the right thing.

msinclair 1 day ago 0 replies      
Another problem that Facebook has (and I'm sure others have as well) is attempting to fetch dozens and dozens of videos. At once. This generally locks up even desktop browsers as they try to preload the content. I've seen it trying to grab 130 videos before. Pretty ridiculous.
FullMtlAlcoholc 1 day ago 1 reply      
Here is a chrome extension that mutes audio for all tabs except thw selected one: https://chrome.google.com/webstore/detail/smart-tab-mute/dnf...
therealmarv 1 day ago 0 replies      
There are use cases where this useful. Not that I like that but autoplaying video (without sound) is e.g. needed for some splash backgrounds (like AirBnB is using) and many ads use that feature too. I would like only sound automatically muted (like Instagram and FB is doing with their videos).
zetafunction 22 hours ago 0 replies      
Chrome for Android blocks autoplaying videos. To get around this, sites now use JS to decode and render video into a canvas. For example: https://bugs.chromium.org/p/chromium/issues/detail?id=178297.... As one might imagine, this is not so great for power usage
intrasight 1 day ago 1 reply      
In my opinion it isn't the browser vendors who should decide what content gets displayed.

On mobile, I browse with JavaScript disabled. Pages load fast and I don't get anything but HTML.

rebootit 1 day ago 0 replies      
I found most addons for chrome were broken so I made a less broken userscript for Tampermonkey: https://greasyfork.org/en/scripts/24811-html5-stop-autoplay/...

Here's Tampermonkey: https://chrome.google.com/webstore/detail/tampermonkey/dhdgf...

Houshalter 1 day ago 1 reply      
How can they stop it without breaking lots of things? Javascript has the ability to play sounds and videos without going through the standard video player. If you disable it, wouldn't it break various web apps and games?
Esau 1 day ago 0 replies      
This is something that used to be easier - practically everything depended on Flash and you could either not install Flash or install Flash with Flashblock.

Now with everything rolled into the browser, the problem has gotten much worse.

TheCoreh 1 day ago 0 replies      
Dear browser makers: Please don't. There are legitimate uses for this feature.

If websites are abusing it, simply stop visiting them, or install an ad/content blocker. What maybe browser makers could introduce is a "switch" to disable autoplay and audio, and manually enable it per tab. But this feature should be not active by default.

Also, we should be complaining with the ISPs and Carriers about their data caps, not at sites for using data

lucaspiller 1 day ago 0 replies      
I'm using the "Disable HTML5 Autoplay" for Chrome which works to block it, but it does break some sites. Notable Amazon Prime Video doesn't automatically start playing the next episode, and Facebook videos (and GIFs) won't play even when you click play.

I would suggest at least making it opt-in through the browser-popup. However that's another annoyance - the number of sites I now visit which ask to send me notifications.

sdfjkl 1 day ago 0 replies      
Yes please. In fact, let it be a preference if I even wish to buffer that stuff, rather than just not autoplay it. Because, being mostly on low-bandwidth, metered or very crappy connections, I almost certainly do not want several dozen MB of completely unwanted garbage shoved down my (metered) pipe.
Broken_Hippo 1 day ago 1 reply      
This - so much this.

A common scenario in my house: The spouse or I muttering obscenities over the autoplay ads, along with a comment of, "Use your powers for good, dammit! For good!"

I find these intrusive. So much so that I occasionally browse with the computer muted - especially if the source of entertaining sound is coming from the spouse's computer or if I'm looking at cooking sites. Most times, I'm just wanting text.

hello_there 1 day ago 0 replies      
Chrome already require webpages to ask permission in order to use resources like camera and microphone. I think it should do the same for speakers.
amelius 1 day ago 1 reply      
Imho, a better solution would be to be able to disable sound by default, and then allow sound to be turned on per-tab.
jaredsohn 23 hours ago 0 replies      
Recent versions of the MuteTab Chrome extension (that I wrote) allow muting all tabs by default, along with a lot of other muting-related behaviors. http://www.mutetab.com
nekdev 1 day ago 0 replies      
That's stupid. Many apps really need vido autoplay:

- YouTube- video usages (webrtc)- some apps for people with disabilities...

You may ask for an option of disabling it by default (which will make some apps not working) but not impose your choice and "insult" developers choices that have a far better pov than you. :/

skaplun 1 day ago 0 replies      
I think you are reacting like this because you're over using the medium(the web). For the average person its nice that their family's videos autoplay and autoloop without having to do something.Video and sound are big parts of the experience, which happens to not fit a certain advanced user group like you.

So a browser setting would work but not disable for all

tobyhinloopen 1 day ago 0 replies      
No. Browsers should not interfere with autoplay. It is still a tool. Don't drop features because some abuse it.
amelius 1 day ago 0 replies      
It's not really possible to robustly implement this, because a browser cannot possibly know if you are hitting a "play" button.

So somebody who would like to trick the system (e.g. advertisers) could just make e.g. a menu item behave the same way as a play button.

dawnerd 1 day ago 0 replies      
I can't way I want this default. I do find it annoying though when sites decide to put a very small 100x100 auto playing video at the bottom of the page. Cnet is one of the bigger offenders
untog 1 day ago 0 replies      
I'd be more content with autoplaying videos, but muted. I was glad when iOS 10 introduced autoplaying video because it means people will stop converting every damn thing to GIFs, which are far more bandwidth intensive than videos.
pinsard 1 day ago 0 replies      
Maybe it's about time we start to use the internet less as an entertainment source (web) and more as only a medium to reach what we need, be it business or pleasure. Less is more should help us adjust the industry behavior.
oriettaxx 13 hours ago 0 replies      
yes, absolutely

This summer in Greece we had to pay about 500$ f.... penalty for over using our 3G internet access (we just forgot a laptop & brower open for a night).

greggman 1 day ago 0 replies      
YC's AirBNB autoplays video on the front page. Drives me crazy since while traveling I'm often on a bandwidth restricted connection
timothyh2ster 1 day ago 0 replies      
I simply leave when it happens; what could they possibly have to interest me when they are dumb enough to auto-feed their stuff.
_RPM 1 day ago 0 replies      
Who decides this? I imagine it's much more than a developer's decision. It may be a higher up decision based on business goals.
ClayM 1 day ago 0 replies      
oh man, auto play on mobile apps that kill what you were listening to, requiring you to switch back the other app makes me want to throw my phone out the window.
hd4 1 day ago 0 replies      
1. Use a predefined adblocking hosts file on your system, if you have Linux, just replace your existing /etc/hosts file with this https://github.com/StevenBlack/hostsThis will kill 90% of popups and autoloading, for the others..

2. If you use Chrome, use the option that stops plug-ins autoloading (search for plugins in the Settings search-box)

3. If you use Firefox, remove or simply don't install Flash. For HTML5 you should look for controls that stop autoplaying.

Joyfield 22 hours ago 0 replies      
And Firefox, please remember the sound volume i set on your HTML5 player for a specific site.
timdeneau 1 day ago 0 replies      
Agreed. The default behavior for the web audio/video autoplay attribute should depend on a permission request for whitelisting.
eridius 1 day ago 0 replies      
iOS safari has always blocked auto playing video, so I'm not sure what you're complaining about there. Very recently they've finally started allowing it for video that has no audio track (or that has the audio track muted), which seems to match what you want.
Reverberb 18 hours ago 0 replies      
AI will indeed kill humanity.not by going renegade but doing exactly what we tell. Soon enough we gona lose all capability of doing the most simple tasks
ams6110 21 hours ago 0 replies      
I've disabled all media players in my browsers. Problem solved.
jarnix 1 day ago 0 replies      
It's not up to the software developer but to the developer of the site, I don't understand your post!
ZenoArrow 1 day ago 1 reply      
In my opinion, the problem isn't with auto-playing videos per se, but rather the audio that comes along with it.

For example, GIFV is a format that uses auto-playing videos to replace the GIF, and by doing so cuts down on Internet bandwidth usage. I'd suggest that's a legitimate use for auto-playing videos.

I only really get annoyed with auto-playing videos when I hear the sound from them, so perhaps the fix should be targeted in this area. It may cause problems for things like YouTube playlists, so I don't think the fix is as simple as 'mute them all by default', but whatever the fix is should rely on some form of user control.

jfoutz 1 day ago 0 replies      
how about a :obnoxious selector for links?

autoplay video, please register, and messing with history would be lovely.

I guess it's because there's no good way to populate the selector without visiting the link target.

Scirra_Tom 1 day ago 0 replies      
If auto playing videos is a bandwidth concern, perhaps gif's should be treated similarly.
codecamper 23 hours ago 0 replies      
agreed! investing websites are terrible for this. cnbc starts a video playing for every article. there goes my bandwidth.
Tempest1981 1 day ago 1 reply      
Or at least provide an option for autoplay, so savvy users can turn it off.
hartator 1 day ago 0 replies      
Or bear a world where ad-blocking will be 100%.
ricardobeat 1 day ago 1 reply      
Actually iOS didn't have auto play until recently. Back then the outcry from developers was the opposite - "y won't you implement the standard!"
nextos 21 hours ago 0 replies      
media.autoplay.enabled=false does the trick in Firefox about:config.
dredmorbius 1 day ago 0 replies      
Yes, absoutely, and please.

I filed this bug myself July 2015, though I believe others have existed for years.


In the meantime, I've taken to blocking hosts and/or domains which are used to serve autoplay media. A small list generates exceptionally high mileage.


I implement this on the router via DDWRT, which protects the entire LAN. You can also add this to your own /etc/hosts file(s) on individual machines, or go further and have a local DNS server be authoritative for these services.

The block is intentionally global, and encouraged, as media providers themselves will find that they cannot reach anyone, anywhere so long as autoplay is a default.

Again: the Internet and Web are ultimately a user-determines-policy system. And if servers say "fuck you" loudly enough to users, then users can say "fuck you" back. And win.

DD-WRT instructions: https://www.dd-wrt.com/wiki/index.php/Ad_blocking

mschuster91 1 day ago 0 replies      
News sites are the worst offenders here. Especially those who put an un-pauseable, unskippable, un-muteable ad in front. I want to read the damn article, not listen to a fucking ad that drones over my Spotify music - so I can't even Fn F10 to get rid of the ad.

Worst thing is that many of these video ads can not be caught by Adblock Plus...

mproud 1 day ago 0 replies      
Apple has been going so far as to automatically disable Flash, which really helps.
ccvannorman 1 day ago 0 replies      
Last night I watched episode 8 of Cosmos (I highly recommend Cosmos with Neil deGrasse Tyson) and learned that for 2+ decades (from 1920s to 1940s), oil industry knowingly propagated bad science that poisoned millions of people in pursuit of profits.

Sadly, pop-ups and auto-play videos lead to more profits, at least perceived/short term. No amount of whining by us will change a board meeting at a medium-large company result. "We need to do X that will piss off Y customers but result in Z more profits." Companies always choose profits.

I'm on board with getting these things changed but appealing to big corporations because "it sucks" is never going to amount to "but it makes us more money." We need a different strategy.

cmdrfred 1 day ago 2 replies      
The only problem is I want YouTube videos to do this when on that website.
ffggvv 1 day ago 1 reply      
Ask this on their bug tracker.
quakephil 1 day ago 0 replies      
Step 1. Install adblock.

Step 2. ?

Step 3. Profit

FloNeu 1 day ago 1 reply      
boubiyeah 1 day ago 0 replies      
Can't agree more.
thetinman 1 day ago 0 replies      
Turn off flash. 99% of your problem solved plus other benefits.
necessity 1 day ago 0 replies      
You should be using NoScript anyway so just use it.
Ask HN: Complete list of apps in the Android or iOS market?
2 points by DrNuke  6 hours ago   2 comments top 2
gt2 3 hours ago 0 replies      
You can get some app lists (top apps, etc) from App Annie, and some unofficial apis for it like https://github.com/modeset/app_annie

Might help a bit.

Eridrus 5 hours ago 0 replies      
There is no way to get a complete list of apps from the play store, have a look at the PlayDrone project/paper to find one way to get such a list.
Ask HN: I will quit my job as a PM to join a coding bootcamp. Am I crazy?
154 points by tigertheory  2 days ago   212 comments top 110
tschwimmer 1 day ago 5 replies      
Yes you are. I'm a PM and researched this decision myself a few months back. Most of the "well regarded" bootcamps teach basic front skills (HTML/CSS/JS). You're going to struggle to get a job in any of the the exciting technologies you've listed with this skillset. It's also not widely talked about, but I get the sense that there's a bit of negative signal associated with these boot camps a la ITT/University of Phoenix. I'm not saying this is justified, but I do believe the association is there.

I think your general premise (that management is becoming less relevant) is true, but you're approaching the problem incorrectly.

If I had your goalset, I would cram hard on EdX, OpenCourseware, etc. You need a good first principles education starting with Algorithms, Data structures, etc. I'd also start to learn how to do SWE interviews, which are a whole other skill set.

One last note: even if you do all of the above, the best way to ensure you're working with cool technologies is to start your own company. I work for a major SF tech company, and our ML team is two orders of magnitude smaller than our monetization team. At the end of the day, companies exist to make money and a lot of the stuff you've highlighted is currently speculative/nascent. There's just not going to be many jobs until these technologies prove their financial value.

noname123 2 days ago 4 replies      
Yes very crazy. I have a anecdotal survey of all coders I know: most of whom all graduated from only median Tier-2 US & News Report Ranked Nat'l Universities (>15) and whom have on average, earn only median Fortune Magazine's Best Jobs annual ranked salaries as Application Developer, and only very few employed by Forbes' Most Admired Companies list or who are on the Mattermark's Top 100 Startup Index.

Most don't feel like they're building lasting career skills, as agism persists in the industry and most people work on web applications to satisfy enterprise project business specification and project managers. During lunch, I hear conversations about the future of technology and the type of technology that we can work on if we only quit to start or work for a cool start up (e.g., Tesla, SpaceX). The consensus is that there is a tremendous opportunity for these emerging technology area's while other disciplines such as closing JIRA tickets will become marginalized. So I'd advise you to stay away from the enterprise coding bootcamps and only apply for the specialized tech bootcamp that emphasizes on these emerging technologies. The few that come to the mind are, creating new cryptocurrency payment models (for Paypal), writing self-driving cars hardware/software (for Tesla) and harnessing deep/learning AI (for Google DeepMind).

dontJudge 2 days ago 1 reply      
Yes, you're crazy. Keep your high paying job. Learn computer science on the side.

The really interesting stuff usually requires deeper knowledge and skills. For problems worth solving, 15 years experience as a CRUD developer is no better than 15 years experience as a project manager. Making this career change won't necessarily help you gain the skills you want.

ageitgey 2 days ago 1 reply      
A coding bootcamp is fine, but it won't get you much closer to doing block chain or deep learning work.

The analogy is you wouldn't necessarily take the Olive Garden line cook training class if you wanted to be a French chef. Sure, it won't hurt to learn how to use a knife and it might be a decent Step 0, but it won't get you much of the way towards your goal.

You should really consider a more in-depth CS education, whether that's through a traditional university or something like a Coursera / Udacity nano degree in your areas of interest.

As a practical matter, it might be better to stay employed while you pursue that. But that's up to you. Plan on spending some significant time learning (1-2 years at least) before you can do what you want, not just a few weeks.

You're very smart to consider getting into something like deep learning. The opportunities will be good over the next 10 years like you said - but only for those who are really good at it. It's a very technical field that requires lots of continuing learning. The competition for the best jobs is high. Don't get into coding unless you are very excited about it and willing to invest in learning it for the rest of your life.

If you are excited about coding and willing to put years of learning into it, go for it! But otherwise you could take the impressive skills you already have and find a way to reinvent yourself and apply them in the deep learning industry without becoming the actual coder yourself.

DelaneyM 1 day ago 3 replies      
I'm a CTO and active developer with a Harvard MBA, and I think you're nuts.

Not because the opportunities you see aren't there; they are. Not because management isn't losing its lustre in tech companies; it is. But because coding is hard.

I have a great software education (top school, top program), I've had tremendous opportunities to learn from the best and build amazing things from scratch, and I've been coding professionally for 20 years next year. I'm only just now starting to really "get it".

Having a top-3 MBA (I assume you mean Wharton) puts you pretty advanced on the product/management track, one it will take a decade to catch up with as a developer. Embrace that, dive in, enjoy it.

Here's an alternative suggestion: you don't need to code to understand crypto/blockchains/AI/etc. Those are complicated and sparsely understood, and they are math. Knowing what you can do with them and how to apply them in products is much more rare than being able to implement the algorithms. Why not focus on the theory beyond the code?

keeptrying 2 days ago 0 replies      
You're not crazy but your math is wrong.

Calculate the opportunity cost of doing this in dollars. That cost is REAL.

People seem to think opportunity cost is an abstract concept. It isn't. Your retirement and your personal situation will be less $Oppurtunity cost.

Other false assumptions I see in your thinking:

1. Underestimating the difference in competition in engineering versus PM

2. Large error in the number of years of low beginner status in programming

3. Your personality as a PM puts you at a disadvantage when trying to get technical buy in from other engineers

Investigate other paths:

1. Study on the side.

(If you can't do this for 6 months, you won't be able to sustain it full time either.)

2. After Work 1-on-1 face to face engineering coaching

Use the money you make now to have a full time tutor who sits right next to you (I.e. they only have 1 student and thats you and you sit side by side and code) after work. I think this is a much cheaper and much more effective way to learn that isn't available even at bootcamps. You keep your optionality but you also learn more/faster than at a bootcamp.

(Ping me - I'll do it for $150/hour. :)

iamben 1 day ago 1 reply      
I avoided replying to this earlier, but I've thought about it a bunch, so here's my 2cents.

You're crazy to do this. I've been (largely) a developer for years, and I struggle to get excited about client work now. It's amazing to be able to MVP something myself, or throw up a project over the weekend, but that's kind of it. Kids are younger and hungrier than me. Having experience is fantastic and certainly helps with day-rate, but I just don't have the time or the energy to keep on top of everything anymore. Now it's time for me to transition to other things.

In your position - keep the job. But invest time outside of that to learn to code. Build fun things. Experiment, learn, grow. Having an idea of what can be done, how it can be done and the time it takes will make you 10 times more valuable in your roll and moving forwards. You will be better positioned to talk to clients and talk to developers.

If or when the time comes that you want to run your own business you will be in a better position to recruit and to muck in yourself.

But for now, spend your spare time learning, and save as much money as you can to take a chance when and if you're ready.

That said, good luck with whatever you choose. Right or wrong, you can only learn from your choices :-)

FullMtlAlcoholc 1 day ago 2 replies      
PURE INSANITY, even if you are TRULY passionate about it You work at a top 3 tech company. You are in the best place in the world to learn exciting new tech. I'd kill to get a peek at the codebase of a top 3 tech company. Leverage your job as your coding bootcamp. Maybe you can negotiate 1 day/wk for learning CS.

If you can, take a sabbatical. If you can't and live in an ethical gray zone, go to a psychologist and get disability time off of work. Depression and some other mental maladies are treated as disabilities, at least in the state of CA.

Otherwise, find time outside of work. I assume you are able to teach yourself if you graduated from a top 3 school. Teach yourself to code. There's more than enough resources on the web that show how to go from 0 to capable engineer. Keep in touch with devs from work. Hang out in dev chat rooms/forums on IRC, discord, slack, or MOOC forums.

Coding bootcamps and online resources don't teach you truly how to code. The ultra basics they teach. Only actually coding, failing, refactoring, repeat teaches you how to code.

edimaudo 1 hour ago 0 replies      
Please do not jump blindly into becoming a programmer/developer/software engineer. You should try out a few classes to see if it is something you are interested in and want to do for a long time. Don't forget that after 35 most programmers are moved to management roles since programming is a young persons game. Good luck!
ghufran_syed 2 days ago 0 replies      
As someone who has had several 'crazy' career moves over the years, it may well be crazy to do it, and yet still be the right thing to do for you. I think the best way to do this would be to keep working, but to study part-time with Udacity. Continuing to work in a good tech company gives you a big advantage in that your "professional network" (aka "people you know") contains a lot of smart developers, a small number of whom may have made similar career moves. It would be worth asking around in person or on your internal work chat groups etc to see if anyone has experience with Udacity courses, then meet up for a coffee and a chat. Don't say you want to change jobs, just start by saying you want to understand better what developers do, and that's why you want to learn to code. That makes you a more valuable PM, while at the same time you are building the skills that would let you make a career change.

As you learn more, you should keep in touch with those devs, and you can ask them for feedback on the projects you work on (clearly, the onus is on you to not abuse their time, but most people like to help someone who is hardworking, enthusiastic and respectful). Then, by the time you've developed your skills to the point you could take an entry level developer position, you will also have a bunch of developers in the company who know you, know how hard you've been working, and will often be willing to pass on knowledge of openings, and put in a good word for you in the hiring process.Also, don't ignore the possibility of joining a startup once you have sufficient technical skills, a growing startup is exactly the kind of place that would greatly benefit from someone who understands team and project management and can deliver good code. They will hire you for the technical skills, not the PM skills, but that doesn't take away their value.Email me if you'd like to discuss further, and best of luck!

blacksqr 2 days ago 1 reply      
Bootcamps are for people who need employment quickly. Since you are employed, you can take evening and weekend programming classes to see if you like it before taking the plunge.
zoom6628 1 day ago 0 replies      
You have a MBA and you are a PM shows you have the skills to reserch, and put in some deep thinking. On that basis it would be folly to think you havent given seriously analytical thought to this i.e. you know what you are doing. But is this question a confidence crisis or you want some support?

My 2c is that if you dont have any dev skills right now then work night and day in your own time to get it. Choose a language, any one will do because you need to learn the fundamentals soundly. Do not be swayed by the tech-du-jour or you will never finish anything nor learn anything in depth. tschwimmer advice is sound. However know your learning style first - i got more out of 3 months messing with C on Arduino then i ever got from a textbook because i like learning stuff with sleeves rolled up and the coffee strong.

And lastly, follow your heart. npostolovski did it. It is far more important to enjoy what you do than much anything else (practical considerations of food and housing aside). Happy and comfortable is a whole lot better than miserable and wealthy.

Disclaimer: Im a PM, have an MBA, and dabble in C# at work, Python/C on home projects.Experience: Im a much better software PM because i can also code/hack some of my own ideas.Have been co-founder of a corporate restructuring company and my ability to code meant i could get the data and calculations needs to make turnaround decisions while others just drowned in their spreadsheets.Im now 53 and learning new things - currently IPC and mesh networks(home) and cost accounting(work).

eagsalazar2 2 days ago 0 replies      
If you want to become a dev via this route, right now that is a risky move and a long road to real expertise that would carry you through an economic downturn where very junior people are let go. If it is your passion to be a dev, maybe, but expect it to be difficult. Maybe just consider going back to a proper university for that CS degree you probably should have gotten to begin with?

If you want to become a much better PM and have the tools to start building apps on your own, then yes DO IT! Right now the economy is great, if in 3mo you are back on the job market saying "I'm an awesome PM and I did a coding bootcamp to increase my understanding of the products I manage so I can be an even better collaborator" you will just have increased your value significantly. Probably you could just go back to your old job with a promotion.

soneca 2 days ago 3 replies      
I am on a similar path, if with a much lower opportunity cost. I am 37 years old, one failed startup as a founder, a few marketing roles on other modest startups and some years as social project manager on the resume.

I decided to quit my last job and study full time to become a developer. Not through a bootcamp, but through cheap or free resources online. I chose freecodecamp.com to go for now.

I did an Ask HN too and I did not receive much support either from the HN crowd. I don't know if people here think being a developer is not a good career path, or they are tired of wannabes and impostors, or they consider a developer career is just for a few selected ones; but I was expecting much more support here for people wanting to learn to code.

My answer to your question: I think you should go for it. Just consider very carefully if a bootcamp is the best way. But if you have the cash reserve to use, I think might be a good first step. After that, keep searching for knowledge in other places. And follow with laser focus the exact field that you consider interesting.

If in one year you regret this decision, it is not too late to reverse the career change and go back with your great resume as a PM, with more added value by your experience learning to code. Go for it, it is not a path of no return and it will be a valuable experience either way.

ivan_gammel 2 days ago 0 replies      
Yes, you are. The best opportunities are in cross-field expertise, so keep working as a PM, but learn coding and other software development disciplines in parallel. Don't underestimate the management contribution to the quality of the code and to the final result: through building the right process, through the deep understanding of development team needs, weaknesses and strengths you may influence the resulting product much more than one of the coders. Everyone can code or learn to code - it is much harder both to possess the coding skills and manage people at the same time.
furyofantares 2 days ago 0 replies      
I'd think the answer would depend on which of the top 3 tech companies you work for: Apple, Samsung, or Foxconn.

Edit: Let me try a more helpful response (though I did intend to make a point there). You seem very focused on what you have: a good salary, a top 3 education, a job at a top 3 company. Things you expect should make you happy, basically, but you aren't, and this is confusing, and it's always scary to give it up if you haven't figured out why those things don't make you happy. But IMO, if that interpretation is correct, it's more important to attempt to find things that do make you happy rather than dwell too much on why the things you have, which are often equated with success in our culture, are not doing it.

RandomOpinion 2 days ago 1 reply      
> e.g. block chain, deep learning, etc.

Most bootcamps that I'm aware of are for training web developers, with a few going into mobile app development. That will give you some basic coding skill but is probably not going to get you very far in the direction you want to go.

You'd most likely be better off seeking an online CS degree.

throwthisawayt 2 days ago 1 reply      
Sounds like we are of similar backgrounds. I was a well paid PM, I've worked at a top tech company, and I had strategy consulting experience before that.

I quit my job went into a bootcamp and have been a software developer for a year plus. I've been pretty happy with the decision. My reasons were completely different though and were more about understanding what I was good at and passionate about.

I think I can help. Ask me anything.

vamsinator 1 day ago 0 replies      
Strongly discourage this move.

I've made the transition from developer to PM over the last 7 years and it's enabled me to work on progressively larger projects and to set direction.

Being a PM is about making sure the right thing is built at the right time.

Admittedly my technical skills have gone stale and to do any of the really interesting technical things would require 6-12 months of intensive learning if I were to do it on my own. This is with undergrad degrees in Comp Sci and Physics too.

So I decided to hack the problem and join a startup in SF thats doing novel hard tech !(business process automation, ecommerce, apps, small marketplaces etc). Here in Sydney they're few and far between.

I'm pretty excited to be working with them, its an opportunity to work and learn with a smart tight team.

So advice to you would be to is find a smaller business unit in your current company where you are closer to the coal face or go join a 100 person company working on a hard problem. Usually they'll have a team of 5 PM's supporting a tech team of 30.

ioda 2 days ago 1 reply      
As someone who runs a startup,here are some personal observations.

I would say, a PM has to understand the user needs, and drive the product.The former has got two parts1. Understanding the user needs which the user can articulate2. Understanding the user needs which the users cannot articulate.

I have had the opportunity to work with some of the best coders. Though I greatly admired their intellectual capability, I was not a big fan of their ability to think from customer's shoes. I have figured out that "Common sense is not so common". Now, having an MBA does not guarantee common sense, but if you think that, you can communicate effectively with your users, understand their needs, empathise with them, and can comfortably put yourself in their shoes, your are definitely adding value as a PM on Point No 1

Understanding the user needs which the users cannot articulate - This is where innovation begins. Now, if you are a PM without the ability to code, you may be at a slight disadvantage here. The ability to code, or perhaps the understanding of the fundamentals, would help you to structure your thoughts. It gives you a clear picture on what is possible and what is not possible at the present, from where, you can start to innovate.

To me, Quitting the job appears certainly crazy.

codeonfire 2 days ago 1 reply      
Companies have this ridiculous idea that you have to either be a PM or a developer but you can't be both. Virtually everybody in an organization except developers wants to reinforce the view that developers are just dumb coders who's only purpose is to implement the whims of everyone else in the company as fast as possible. Every PM thinks they would be successful if only they had more devs to boss around. Becoming a developer is not going to be like you think.

Even as a former PM, PM's at your company will try to exert power over you if you are a dev. They will be backed up by executive management, board members, investors, the media who all have an interest in maintaining this outdated view of the programmer who takes the specifications and simply types in the code. Why not fire PM's and just hire PM's that code? PM's don't like that, executives (who don't code) don't like that, even the janitor doesn't like that. Nobody likes that except for devs and devs have no power in companies because of self reinforcing old school ideas about job roles.

theflork 2 days ago 0 replies      
I think about the future and get excited about technology and the types of things you can build and contribute to if you know how to code (e.g. block chain, deep learning, etc.)

You will learn none of these things at a coding bootcamp. If you are really interested in going deeper, check out Georgia Tech OMSCS - you can do it while you are holding your current job (employer may even pay for it for you if yr lucky) and more importantly the courses are relevant to what you state actually interests you about future of tech.http://www.omscs.gatech.edu/current-courses

I have a feeling tremendous opportunity will be available over the next 10 years to software developers while other disciplines such as management become less and less important.

I disagree, solid managers and leaders will always be important. Perhaps you are focusing on the negative, rote aspects of yr job too much?

fullshark 2 days ago 1 reply      
This is like a construction foreman deciding to take a step down and become a construction worker because he's insecure about not getting his hands dirty building. It's a bad career move.
jupiter90000 2 days ago 0 replies      
No, not crazy, people change careers all the time. My suggestion would be to go over your reasons with someone like a counselor to determine if they are true for you or not. What I mean is, you said some things that are made up meanings. If you're cool with what you made up, then no worries, it's just something to look at, that you may be convincing yourself that "if I do this, then I'll finally feel fulfilled." (Not sure if this is true for you)

Like "I don't feel like I am building tangible skills as a PM, it is more about project management and coordinating." Perhaps you are learning many tangible skills (just not ones you prefer). Also, "I have a feeling tremendous opportunity will be available over the next 10 years to software developers while other disciplines such as management become less and less important." That could be true, but maybe it won't be.

My 2 cents

NetStrikeForce 2 days ago 0 replies      
I'm surprised you dismiss serious skills like "project management" and "coordinating" like if anyone could do it at all, not to speak of doing it at a top 3 tech company (we're talking Google, Facebook, Apple level).

They either come very natural to you, hence why you think they're easy, or you're not good at your job and oblivious about it or you have a very junior position and someone else makes the difficult decissions.

Either way, I would love to be a PM with an interesting product, not to mention being in a top 3 tech company. The money must be really good and the feeling of fully conceiving and creating a product has no equal. Coding it is fine and feels good too, but steering the ship is where it's at.

mifeng 1 day ago 0 replies      
No, you're not crazy. While I disagree that managers will be less important, I think that you're making a good decision because technically differentiated managers will be more valuable.

Even if you go back to PM, the ability to code will help you communicate with engineers and identify the right solution for a given problem, enabling you to transcend the project management aspects of PM.

Also, many executives struggle with strategies that entail deep learning or blockchain, because they simply don't understand them. To position for a future where those technologies are critically important, it's a good idea to invest time today to learn how they really work.

maxtudof 2 days ago 0 replies      
Do whatever the fuck you want. It's your life and your career. Opinions are divided here as voters in the USA so no one will help you make a decision in this better than yourself. :)
shoefly 1 day ago 0 replies      
If you've ever done a job search in tech, there are always 10x more software engineering jobs than PM jobs. There is that.

A thought... I have worked at monoliths, a mid-sized corp, a hatchery, and my own. At a monolith, your job is very narrow. I was bored out of my mind and left. At a smaller company, the role of a PM is much more interesting.

I was a PM but I had a coder's heart. I took the route you are thinking about. I would never go back to being a PM.

Two words: software architect

guifortaine 1 day ago 0 replies      

Definitely go for it. Especially, please have a look at my previous comment in the thread entitled "Sorry, developer bootcamps: I was wrong" :


To resume: to my knowledge, the best training to start your journey as an aspiring Software Developer is the one suggested by Founders & Coders :


(Note: Codewars is just so awesome... https://www.codewars.com)

By the way, if you can get into it, I would strongly advise you to apply to FullStack Academy, they seem to have the best teaching around there (at least their students have very high rankings on Codewars) :


Good luck :)

Trs cordialement / Best Regards,

mrborgen 2 days ago 0 replies      
Nope. But you should make sure you actually enjoy coding. I did the switch like you (from running a small startup to doing a bootcamp and becoming a developer).

Several of the people in my cohort didn't become a developers though, as they didn't seem to have the proper motivation to put in the necessary work (at least not to manage it in a 3-5 month period).

You can read about my experience going from non-technical to technical here:https://medium.com/learning-new-stuff/from-non-technical-to-...

bluebeard 2 days ago 0 replies      
If my PM was interested in improving coding skills and went through a code bootcamp I think at the very least it would foster some mutual respect and understanding. Also in my limited experience using ML and deep learning frameworks the tools aren't about knowing how to code, they're more about "turning the right knobs" to achieve desired results. That said I think if you find the right code bootcamp it will teach you how to use the tools you're interested in. And yes you're crazy. But it helps to be crazy to do this kind of work.
20andup 1 day ago 0 replies      
Quitting your job isn't the problem. It's takes courage to do what you do. The problem is coding boot camps. They promise things they can't deliver. As a programmer I can tell you all the things you learn in those three months can be learn from any beginner textbook you download from amazon. $50 versus $10,000.

Some of the problems I deal with in programming can take months of thinking to solve and any course that says yo can become a professional programmer in three months is a joke. What happens when you stumble a problem that doesn't have a ready made answer for you or you encounter a bug take days to discover.

If you want to become a professional programmer, just start coding. You don't need certificates to tell you who you are. Programmer is an occupation based mostly on meritocracy, It's a well known understanding in the industry that the best programmers are self taught.

Start by learning some text books and doing side projects. Try and get a job from there. It will take you 4-5 years of hard work to get to the level you mentioned. And note. There are many bad programmers out there that stop learning after 6 months and just accumulate time. Don't fall into that trap. Learning is hard but the personal reward is great.

wanderr 2 days ago 0 replies      
As a hiring manager who has interviewed many many bootcamp grads and supervised a couple, I don't think they're are worth it. They're vastly overpromising what skill level you will be at when you graduate and how easily you will be able to find a job.

Because they are trying to compress a lot into a short period of time, and because they are trying to keep it interesting and give students early wins, they seem to not spend nearly enough time on the basics, and jump straight in to using frameworks that do everything for you, the end result being that a bootcamp grad can quickly whip up an ok looking app that has basically no functionality but as soon as you ask them to do something complicated, they get stuck. Sure, that's not true of all grads, but I'd argue that the ones who come out of a bootcamp with serious skills are the passionate ones who would've done just as well or better on their own, so at best they wasted a bunch of money.

You are much better off going the self taught route to start off, maybe take community college classes on the side. If dabbling like that doesn't inspire you and give you the fuel you need to learn what you need to know on your own then software engineering may not be the ideal career for you anyway, what you know is a small part of the job, what you can figure out and learn are also huge factors.

pfarnsworth 1 day ago 0 replies      
You'll become an experienced coder just in time for you to be old enough so that no one will want to hire you anymore.

Then you will think "Fuck if I were a PM, I would be a VP at this point, and my skills would be more sought after as I got older, not the opposite for a coder."

Stick with being a PM. If you like technology read up on it or program on the side.

dwaltrip 1 day ago 0 replies      
You can do it, but it will most likely be very difficult. Learning how to write software well is quite hard. On a fundamental level, we still don't know exactly how some people write much better software than others -- there are no perfectly objective measuring sticks to compare two pieces of code.

Boot camps are like dipping your toe in the water. Most people are not qualified after only a few months of learning. It might take a year or longer to become skilled enough to get hired . A small number of very talented and lucky folks can get there in 6 months with no prior experience.

Before quitting, it seems important to validate the assumption that you will actually like programming and have some success in it. Try building a few toy/example applications on the nights and weekend for a month or two.

That being said, after much consideration, if you want to do it and feel strongly it is the right path for you, go for it. I personally love writing software. It feels like magic sometimes -- you type some words into a file, and very cool things happen :)

asafira 1 day ago 0 replies      
This might get lost in the comments, but I wanted to ask anyway: I am actually currently doing a physics PhD, and am considering becoming a PM. Am I crazy?
nul_byte 1 day ago 0 replies      
Don't quit your job, and learn coding on the side. That is what I did. I was an architect in a well paid senior role, so I learned to code and got familiar with the modern frameworks and tools and then found a job (or rather it found me) that recognised my professional experience with my knowing the development world and meant I kept my same level of salary. I now get to work more in engineering where things are more creative and their is lots to learn, and not services (which I was growing to dislike, due to the same old bullshit around 'escalations' and dealing with 'customer expectations').
cocktailpeanuts 1 day ago 0 replies      
First of all, "crazy" is a good thing if you're trying to make a difference. Think about that for a moment. It's not that obvious. When I realized this, I felt extremely liberated.

Anyway, one good way to do this may be to:

1. Take a hiatus. You may either tell your employer that you want to learn coding, or you may decide not to. Either way it's fine. Even if you tell your employer, if they are really top 3 tech company, they will understand and even encourage it. You can spin it as "I want to be a better PM and want to understand coding."

2. Learn coding

3. While you're learning, you may feel the urge to really jump in and become a professional programmer. Then be so.

4. If no spark comes during your time at those bootcamps, come back to work and continue. But even in this case, the world will be a completely different place for you than now.

Don't worry about people telling you that's crazy. Crazy is good.

tigertheory 2 days ago 2 replies      
Thanks for the responses guys. A few more points of clarification. PM means product manager. Top 3 tech think Google, Facebook, Amazon, Apple. In terms of my motivation I think today we are where the internet was in 1994-95, at the cusp of the next big technology wave. I think technologies like deep learning and AI more broadly will fundamentally change every single industry and the next big tech companies will be created during this period. Not knowing how to code I think places me at a big disadvantage when it comes to the software jobs that will open up and at a disadvantage if I want to take a stab at starting a company using these technologies. It is a risky bet for sure, but if I think long-term I have a feeling learning to code and being immersed in engineering by working as a software engineer will be a very smart move. But I could be completely wrong lol :)
ChemicalWarfare 2 days ago 0 replies      
You're not crazy per se but have you ever written any code? Try to get your feet wet do something like a weekend project type deal to see if you have it in you :)
mathgenius 1 day ago 0 replies      
I don't mean to sound elitist here, but if you were really a dev then it probably would have bitten you in the ass already. What you are saying here sounds completely backwards to me. So here is my advice: spend some time testing the waters, if it doesn't completely intoxicate you then go back to PM. Real dev's go through so much pain and agony in their work, if it isn't also pure joy then it just doesn't work. Getting "excited about technology" is very much not the same thing as actually doing it.
bitwize 1 day ago 0 replies      
I would suggest that rather than a "coding bootcamp" you take courses from your local community college, state college, or similar (do you have something like Harvard Extension School?) in actual computer science and software engineering.

But yes, by all means, if your goal is to learn to write software yourself, go ahead and get that extra education.

Coding bootcamps produce people who are conversant in the hot technology of the week, but if they were weak on fundamentals going in they're still probably going to be weak on fundamentals coming out. If you want to be a leader in the field, and not in the rank and file, you need strong fundamentals.

peace011 1 day ago 1 reply      
A successful career switch depends mostly on your ability to support yourself with money throughout the process, your ability to be dedicated to your goal, and ability to do lots of hard work. There is a tremendous opportunity to make the switch to many other fields, but a switch to our field is a lot easier in regards to bureaucracy because many companies in our field tend to focus more on the value that you can provide and a lot less on your background (this also depends on physical location). I made a career switch myself about six years ago. I can hardly call it a career switch though because previously I didn't have a solid career; mostly I did odd jobs for a living.

In my experience it hasn't mattered that much where knowledge has been "downloaded" from (college, bootcamp, self-teaching, etc). What has mattered is maintaining this "downloaded" knowledge and having it always updated to keep up with current times. Also, having actual projects to show to employers has helped me tremendously (e.g. open source contributions, client projects, personal projects, etc).

I'm self-taught and work at a BIG-BRAND company now as a Front End Engineer and make a six figure salary in the SF Bay Area; no college degree whatsoever, just a high school diploma. My resume says "Education: self-taught" and I'm happy to explain what "self-taught" has meant for me in the past six years to any employer. I've been able to work with people from all kinds of backgrounds: devs from bootcamps, self-taught engineers, devs with degrees unrelated to CS, devs with BS and MS degrees in CS and other subjects, and from many more backgrounds.

I'm contacted by many other BIG-BRANDs and small companies all the time to interview with them, and before I even accept to interview, I make it clear that I don't have a CS background, and that I'm unwilling to waste each other's time white-boarding algorithms - usually they're fine with this as they can clearly see my experience and instead they focus on the value that I'm able to provide. Many times I come across companies that ass-u-me I'm incapable because I chose a different path than them, but I've learnt to ignore the ignorant, and instead I focus on improving my skills and bettering myself as a programmer and a human being.

Any path you choose will lead you to a similar result. That's the beauty and uniqueness of our industry. As a final note, don't bother with comparing your salary with other people's salaries when/if you make the switch, as it won't matter at all if your income will allow you to live a really good life.

zubat 1 day ago 0 replies      
Nobody can say! But the main thing technology is doing now is pushing us to engage design skills and critical thinking. Just "knowing ML" or "knowing blockchain" makes you a potentially useful product or service, but not a change agent. And being good enough to command the big bucks is a superstar game played per subfield and specialty. The people who are really, really into engineering work latch on to a challenging problem and can't let go - it's a pretty rare mindset and most working programmers don't actually have it, as they are there to fill seats and go to meetings and unambitiously do enough to get by. And most businesses employing them don't need a level of technology much above that either - that's why bootcamps are succeeding.

This is a world where you really need to aim to be the best in what you are doing, though. It's so competitive and there is no reason to expect that to let up. If you aren't doing that you can get stuck or hit a career deadend when the market shifts and those surface-level bootcamp skills become irrelevant.

So in my own space I am focused on a mixed stack of design, coding and leadership skills that is more in line with founders. The ability to pitch, to write up planning documents, to prototype and hold a vision, to study the marketplace and identify opportunities, to hone the vision through philosophy, as well as PM-type managerial duties. Those things are robust to changes in the technical landscape and they build on my own background.

ecesena 2 days ago 0 replies      
No, you're not crazy. But if you desire to learn how to code and you're surrounded by top talent coders, why should you go for a (possibly mediocre) coding bootcamp?

Maybe do the bootcamp to get started, but keep your job and the opportunity it gives you to meet other great developers and learn from them.

My recommendation is: 1. learn the basics however you prefer, 2. study open source code, 3. build something medium-size that you can use, either home or work. If you're very good & lucky this may be your next gig. If not, you'll be a PM with coding skills, which usually is a pleasure to work with from a dev perspective.

orthoganol 2 days ago 0 replies      
I agree with your projection for the future and that PMs in general develop only limited skills for building products or contributing at the ground floor, but I would not get into programming unless you feel like you're wired for it, because you may invest years only to become mediocre, and can even grow to hate it.

Why not contribute by launching a startup as CEO? If a Harvard MBA with deep pockets and PM experience reached out about her startup idea, that is a beer or coffee I would take seriously. In other words it sounds like you have the background to attract a talented programmer cofounder.

paulftw 1 day ago 0 replies      
I'm going to get downvoted for my "elitist" opinion but have to say this, to warn those few who'll listen.

Recently I was hiring on a tight budget. I've interviewed a dozen people from various coding boot camps, self taught web developers, etc. None of them could solve a Fizzbuzz level problem on a whiteboard.

(One thing I've learned after 15 years in industry, 8 jobs, 2 continents - a person who can't do fizzbuzz-type problem is not worth having onboard even for free).

It seems to me that even with best training in the world and a ton of prior IT experience it always takes people at least 2-3 years to start thinking in code in a way where you don't waste everyone's time.Learning to code is not about a bunch of syntax rules. It's about retraining your brain to use different mental models, developing intuition about where a bug might be, finding your way around a large and hostile codebase, anticipating how your today's decision will interact with all the features you'll implement over next 6 months, and so on.

Basic rules of programming are simple, but so are the rules of golf or snooker, or making bespoke suits, or wine tasting.

If you are prepared to spend next 3 years aimlessly poking around the debugger struggling to figure out the simplest thing only to realize at 11pm you were looking in a wrong place - go for it. It's frustrating but also rewarding.

If you think in 6 months you'll be able to build the next facebook with AI - only thing you'll learn in that time is how much there's still to learn.

sumanthvepa 2 days ago 0 replies      
Well I made the transition you talk of. Although I didn't have to go to coding bootcamp. I was a developer before I went to business school and became a PM. While I found the job of a PM interesting, I loved coding, and always kept my skills current. So when the time came, I quit to do my own startup, where I play the role of the CTO (initially the only programmer.) It's a wonderful feeling. I haven't really given up my PM function. I'm very much in charge of the product. So try this route. You may find it works better for you.
baccheion 1 day ago 1 reply      
Well, if you're not sure, then do it over the weekends and at night. Are the hours at work enough that you won't have time in the evenings to work on this other skill?

Is this something where you could first try some of the online courses (Udacity, EdX, Khan Academy, etc) to see if you're actually interested and also able enough to do the job well?

Also, while I worked as a Software Engineer, I was not really doing much in the actual job and felt I was stagnating and falling behind. Most of the advancement in ability came during my free time where I'd try to learn new things, dive into new interests, create software I actually wanted, etc.

Eventually, work hours resulted in less and less time to do things on my own, and the crap at work got more and more irrelevant, tedious, and stupid. Also, management was all about trying to rid you of any competitive edge or anything else that makes you worth anything (or that brings you happiness), so in addition to all that was in place, it was known/realized they were going around each day looking for more ways to ensure every path would lead to a dead end.

It wasn't long before I wanted to quit and before I realized the only way to make it work would be to create my own company (or maybe become a freelancer/consultant).

dasmoth 2 days ago 0 replies      
I can certainly understand wanting to make this transition. One thing to bear in mind, though, is that corporate programming jobs can end up having a lot of focus on process and highly-structured modes of collaboration that make it a very different experience from coding on your own. As a tech PM, you're probably more aware of this than people coming from some other backgrounds, but still something to watch out for, especially if you're tempted because you enjoy hobby coding.
gyardley 2 days ago 0 replies      
You're almost certainly crazy from a financial perspective. You're unlikely to catch up, salary-wise, and will hit the ageism wall a lot faster as a developer.

But hey, we all get a little crazy when it comes to the things we love. Just be aware that a bootcamp is just the first of a great many steps before you can contribute to something you'd consider the 'future' and not 'move the button 10 pixels to the right'.

bsg75 2 days ago 0 replies      
Why quit your current gig? Can you find a bootcamp that you can complete over a "vacation"? If not, consider a program that you can acomplish evenings and weekends.

Unless you feel your PM role is a complete dead end, build on your experience instead of trading it away.

Edit, adding: A PM who understands software development, or a developer who understands project management, is a good set of skills to have.

johncch 2 days ago 1 reply      
Yes and no. My question is, what do you want to achieve by going through a boot camp? Using the certification as a pivot for career change? Having an short period of time where you can focus and intensely study the subject? I think it's important to consider what specifically about the boot camp route is important to you, because there are a lot of other ways to be proficient in coding.

Tutorials on various common "patterns" (RoR web apps, iOS apps etc.) are of good quality and easily available these days. As a PM in big tech, you can try to find little ways to contribute into the product's code base, which will teach you both programming and engineering practices. In my experience (disclaimer: was a PM), engineers are delighted when PMs show interest in code, and at least a few would be excited to hand hold you through the process of setting up your dev box, building the product etc. It's not a bad way to get better while making hand and fist full of money.

That said, like any other craft and practice, programming is layered and specializes. It takes 5-10 years to be "good", and it takes equals amount of time to be good in a specialization (say machine learning for example). Even for a good ol' engineer to move from building web apps to building machine learning systems, the barriers are still non-trivial. Furthermore, consider that a career in software engineering is perhaps more akin to spending 20% of your time building somewhat sexy* new thing, and 80% of your time doing boring boiler plate work, trying to pull your hair out digging through other people's APIs and code, and wondering why the build and CI system is so broken. If that's what you want to do, then go for it.

* most likely it's just a boring CRUD app using somewhat unfashionable technology.

sumoboy 2 days ago 0 replies      
Keep your job and fund a company on the side hiring people to do the hands-on stuff your dreaming about. The software industry is full of challenges and tech so it's endless and extremely diverse. You could spend the rest of your life on deep learning or whatever discipline. Today your just another drone PM, if you want to make a difference build a company, don't be another drone techy dude.
wasd 2 days ago 0 replies      
I personally think you are better off trying to learn this on your own. It seems like you have the enthusiasm. It sounds like you're also unhappy with where you work. You could try changing jobs to something where you have lots of free time (good/work life balance, no commute) and work on learning to code. Coding boot camps are very web development focused.
cheriot 1 day ago 0 replies      
If current tech managers have a hard time over the next decade, it won't be that management is less important. Instead, there will be a growing number of people that have written software and are going into management that will be better at it. They actually understand what's going on around them. Software is an outlier in that front line managers can't do even a little bit of the job their direct reports do. This only happened because the industry grew so fast that the bulk of programmers were so young.

That said, make sure you actually want to write code. Boot camps prepare you to make simplistic websites and mobile apps not the interesting stuff you mention. You'll have years of learning to get into those in a meaningful way.

bernardino 2 days ago 0 replies      
I think it's definitely okay. Though part of me thinks you should have kept your job as a PM. You could have approached the engineering team at your company and learned a bit about the process to see if it was something you would like to do for a career. And possibly you could have learned some programming skills at home and maybe built some side projects with your coworkers (to get your foot in the door in regard to getting a job as a programmer while still having your job as a PM). After all, you do want to code for a living, right? You ought to think about how you want to use your time. On the other hand, if you have the money, I say why not. I hope you chose something you are excited about though (things like back-end, front-end, or mobile engineering, etc).

Otherwise, it's quite odd. It seems you ought to be in my spot and I ought to be in yours. I plan to pursue a career as a product manager after I graduate (hopefully join a rotational product management program). I am currently studying computer science at a University of California. I have yet to have my first internship though but I plan to attend Recurse Center (https://www.recurse.com/) this upcoming summer to work on some iOS projects (I am more interested in mobile than say back-end or front-end engineering). And while I have good grasp of a few programming languages and tools, I do not think I would like to code for a living. It's fun building things and the future of software is indeed bright. I just find the aspect of programming on a daily basis will result in burning out, personally. Plus even when I do a gig as a product manager, I will still would like to develop mobile applications (particularly iOS).

Above all, there's nothing wrong with changing your mind and learning more. Plus you have an MBA and now you are going to have some coding skills. You are golden. So long as you are excited about what you are pursing, and not let that excitement fade.

wkoszek 13 hours ago 0 replies      
You're absolutely insane and you need help. Seek professional advise from your school counsellor, if required. Below I wrote some paragraphs to help you. If you do this, someone should go, figure out who you are in real life and revoke your MBA. Or you should just request a refund of your $150k tuition.

If you really work in top 3 tech firm, your colleagues are Stanford/Berkeley/MIT/CMU grads, who ate rice and ketchup writing operating systems and compilers. This will be the level you have to get to to contribute to any technical project in a meaningful way. But basically: when you were doing business case studies and traveling around the world to meet world leaders and learn from the best CEOs how they handled corporate crisis, they kept hacking algorithms in a black window with grey letters. I know--I did that too.

I have 15+ years of UNIX experience, 10+ years of programming experience and 5 years of real-world software engineering experience. I'm thinking how to get your job all day long :-) This requires reading tons of books: http://www.koszek.com/reading/ which I do and I sacrifice time with my gf because of that. If you look at this list it's business, management, investments, people stuff. You'll have to do the same, but read about software and hack code in front of the computer, etc.

Most of HN experienced crowd are smart technical people with worse credentials, who are attempting to move from coding job to architecture/design/management job, which you now have. You are our target :) You can see it in many threads. It'd be like moving from a coffee shop manager to a waiter. Ask some senior buddies from a random technical team whether they'd like your job. It's good to see people appreciating each other professions, and we appreciate that too, but don't do this job switch yet or we will crucify you :)

My advice is this: take a break from work (just because you can -- you have a shitload of money anyway, or maybe just "enough" due to loans; go on leave, but for god's sake, don't quit your job), join the bootcamp if you really like, and don't tell anyone you did it. You see from this thread bootcamp, unlike your MBA, don't have established value in the industry yet. It won't harm you, for sure, but you won't be a software engineer. Bootcamp sounds good for you--you're a smart person and wants to learn more, since I think you haven't hacked much code before.

Better idea is what other guys say: just get yourself all online programs there are. All of them. They are $30/month at most, and Udacity is $200. Get them all for a month. You'll spend maybe $200 + 5*$30 = $350, but maybe $0, since first 2-4 weeks are free. You'll pick one that you like, because it'll fit your learning style. Stick to it and just do exercises. On top of that get books. Books are dirt cheap compared to value they bring to your portfolio. Whichever books you need; all of them. I think you'll have to end up doing bs I do for business/management books: google "top 10 programming books" and get them. Even if you don't read it, get it. It'll be maybe $350, since you may end up getting 10 books. So it's $350-$700 investment at most -- you'll get a grasp on what's going on. Then maybe $30/mo for 6 months to teach you one thing well and 2 in a sloppy way you'll kinda understand. And repeat it maybe 2 times. Basically: watch classes, do exercises and immediately after that write your toy programs on the side or (better) real products.

So you'll spend at most $1k to learn something you want. It's also spending $1k to save your $150k investment you've made by doing MBA in top 3 school. It's 0.7% cost of what you've spent on school, and still much, much cheaper than a bootcamp.

If you're a good MBA you're a cheap, stingy bastard that can get people to pay for your stuff. And top 3 high-tech companies have educational grants. Some up to $9/yr. They pay you for your education. So have the company pay for this bootcamp, if you come up with good enough reason, it'll be all free.


If you absolutely truly love hacking code and are obsessed with it and you think that yes -- this is your 2nd calling and you basically don't see yourself talking to people anymore - congratulations. You are eligible for leaving your job, retraining yourself and entering coding workforce. Trade your suit for dirty sweater and you're all set to apply for a junior dev role.

But I think it won't happen.

What will happen thanks to my advise instead is this: you'll make yourself be in like 0.1% top category of MBA people who truly understand what software is all about AND have a PM job. People who you work with will see that, so you'll be getting good reviews etc. You'll come back to this thread, see how wrong about PMing you were, and you'll apologise. You'll then keep studying and getting better at being a PM and being technical manager. You'll learn how to manage technical people, how to partition tasks, build features, build products and build tech companies. And no, it's not very easy and it's not fading away. I see you posted some stuff about machine learning in the past. If that's your field of interest: go and get TensorFlow original publication from Google. It's a paper where you see an abstract is shorter than a list of authors. Do you think these guys would have built Tensorflow without any PM of some sort?

Anyway, story goes: then you will quit your top 3 high-tech firm, and start a high-tech startup, get $20M in funding. And then you'll come back here, DM me personally and offer me 1% in your new enterprise for having a profound impact on your life and you'll offer me a PM role in your new startup. I'll gladly accept it for this 1+ hr free of charge advising.

olegious 1 day ago 0 replies      
Maybe you're in a place where Product Management (I'm assuming that's what you mean by "PM") is done poorly? If most of what you're doing is project management and coordination, then you're not really doing Product Management. PM work is about knowing your market, knowing your customers and their problems, knowing the tech that can be used to solve those problems, building a strategy to deliver validated solutions to the problems and then delivering the solution, all while considering company and stakeholder goals. It is a incredibly fun, sometimes, incredibly frustrating job.
swivelmaster 2 days ago 0 replies      
Well, you've got a lot of answers here already.

I've worked in startups and the game industry as a programmer, designer, producer (probably more like your version of PM), and kind of as a PM (which, in gaming, is probably like some percentage of your job now, but not all of it).

It's definitely true that having worked as a designer and programmer was INCREDIBLY helpful in making me a better producer. The ability to communicate with people you manage or need to make decisions for at a passable level of their domain knowledge will be very fruitful and will help you command their respect. You'll make better decisions too, of course.

Feel free to email me if you want to know more. (That goes for anyone here, I'm always happy to give advice.)

colinmegill 1 day ago 0 replies      
I think you should do it. No one's an expert in these technologies yet, really, since they are moving so fast. There's a lot of room left. Excitement and meaning are much more important to long term happiness.
lazyant 1 day ago 0 replies      
In most best scenarios, if you are good enough as developer after a few months of training you'll be able to land a job in a random software company at 1/3 or 1/2 your current salary doing probably 'boring' stuff, you know, the things that 99.99% developers do.

The chances that you happen to turn out very good at programming and that you land a job doing exciting stuff that you love in a cutting-edge company are virtually zero.

You may have an idealized picture of what developers do. You can try and learn some programming in your own time (yourself, with tutor etc) and see how it goes before taking the plunge.

snowwrestler 2 days ago 0 replies      
Management will only become more important in the future. As technology gets more complex, it will take greater numbers of people to create and maintain it.

And truthfully, most companies today are really bad at management, particularly related to technology.

Learning to code is a great idea but I would think of it as supplementary to your management work.

You're right about all these amazing technologies that are being developed, but truthfully, the stuff you learn in a bootcamp is not going to put you in a position to do much in those fields. It might be a small step in that direction, but you would need to go way beyond it. Advancements are coming from folks with deep knowledge of math, algorithms, systems engineering, etc.

apapli 2 days ago 0 replies      
Your are crazy. I taught myself rails part time using Lynda.com. I'm a sales and marketing manager, but love tech and wanted to build stuff.

The skills you pick up learning to code will be tremendous for managing others to build what you need.

Coding is hard to do well and takes years to get really good at it, and you will likely need to start at the bottom of the food chain to get the right coaching and support. I'd recommending learning enough code to be dangerous but get experts to help you do the hard stuff.

That said if this choice is about happiness, then go with your heart. Money shouldn't factor into that decision, it will come over time.

rebelidealist 2 days ago 1 reply      
NOT crazy at all. Actually this is a very good idea. Being able to code makes you a much better PM and help you gain respect of engineers. It will also will help you become a better tech entrepreneur or exec if you ever choose to be.

Having some kind of hard technical skill very important. It help you tackle harder problems that arises in the future. For example let say AI becomes increasingly important. Since you know some code, you ability to lead in this a new technical field will be better than someone with no technical ability.

FYI i'm a coder and founder of a software company. Most of my time is spend on PM now.

jdavis703 2 days ago 0 replies      
By PM do you mean product or project manager? If you're a project manager can you move over to the product side? That way you'll be able to leverage your MBA by learning a new set of skills. These will include SQL and data analysis, whatever field your product serves, and I even knew a couple of product managers who would occasionally sling code, write copy or design mockups when the project deadline was slipping. I feel that coding is going to be a dead end career field in 10-20 years, because everyone will simply do it as part of their job. Better to work on those soft skills, rather than just a pure technical skill.
GavinMcG 2 days ago 0 replies      
There's a self-paced in-depth program I can highly recommend that might allow you to do/explore this in a moderate way - that is, without quitting. I'd be happy to chat about it. My email is in my profile.
eachro 1 day ago 0 replies      
You are not crazy to make that career switch, but I'm not sure that a dev bootcamp will really help you get there. Dabble in the aforementioned areas in your free time. I'm guessing you probably have at least a few software engineer friends who could probably give you some pointers along the way. IMO it's not worth the $$ and time to attend a dev bootcamp to learn how to build a few web apps.
jonathonf 2 days ago 0 replies      
> I have a feeling tremendous opportunity will be available over the next 10 years to software developers while other disciplines such as management become less and less important.

We're in a period when everyone is "learning to code". This means the potential pool of developers (ignoring their actual talent levels) is growing.

Someone has to check whether the stuff people are making is following whet needs to be created. Someone has to be able to manage the teams of people making these things.

I'd suggest your premise is the wrong way round.

readme 1 day ago 0 replies      
Shit dude. Just code at home for fun and keep doing your job. Save hard for retirement and stick out a decade and some change or so and then you're free!!!

Or, go back and become an expendable framework of the week coder and then find yourself needing to relearn those skills every 5 years to do the same rote job.

Coding is great fun, until it becomes a routine. Then it's just like anything else.

novaleaf 23 hours ago 0 replies      
Crazy, if you are primarily interested in salary, and you are a good PM.

Not crazy if you hate PM'ing, or you are not good at it, or are not motivated by climbing corporate ladders.

fouc 1 day ago 0 replies      
Learning to code will make you a better software project manager. Unfortunately coding can take a long time to get good at.

Take the coding bootcamp. Do one of the longer ones, like the 6 month one if you can. Or do one of the online ones, and be disciplined about it, such as teamtreehouse.

And then go back to being a PM, but use your knowledge of the difficulty of coding to leverage many developers to work towards an important goal.

fillskills 1 day ago 0 replies      
Please don't do that if your goal is to learn Block Chain or Deep Learning. The goals of most bootcamps is to get you a job in software. If you can find a bootcamp that can match your goals, then it might be very worthwhile, otherwise you can probably start by learning on your own online and practice by developing your own projects.
bdcravens 2 days ago 0 replies      
You're not crazy, but temper your job and income expectations. (though you may get hired because of your PM experience, to do PM) Most bootcampers when they come out are ready to be an intern and start learning. Your life will be much different than your used to, but if you're in it for the long term, that's not a problem.

As for learning to code because of things like the blockchain, etc, keep in mind that bootcamps teach you to build web apps, not that level of programming.

ben_jones 1 day ago 0 replies      
Universities are pumping out like 50k CS students a year. Not boot camp grads, computer scientists already exposed to machine learning, advanced algorithms, databases, etc. I really don't see a tangible benefit of boot camps that only teach web development beyond short term web development jobs. This is just my own opinion obviously.
CodeWriter23 2 days ago 0 replies      
Crazy, yes. But is it the right kind of crazy to drive your success? There are no rewards without risk. Bottom line, if you can sustain yourself through your proposed experiment, then why not? But I would preface that with some soul searching. Are the things driving you away from being a PM generic in nature and likely to follow you? If so, it probably means the remedy to your woes is working on yourself.
willcate 2 days ago 0 replies      
Quite possibly, but consult professional help if necessary.
Klasiaster 2 days ago 0 replies      
Quitting a job might lead to something nice, but my understanding is that programming and computer science is overestimated. It's very interesting to learn how things work, but really doing something meaningful with it is mostly very very hard and one has lack of time or not intended all and thus you end up writing things you would never use yourself.
sushirain 1 day ago 0 replies      
If you don't have financial obligations, you could quit. Otherwise, maybe it's better to join an open source project on the side for a year.It takes years to go from noob to proficiency in coding, machine learning, cryptography. Some software positions are very selective.
CalChris 1 day ago 0 replies      
Yes, this is pretty insane. No one of merit will hire you on the basis of a coding boot camp. It's a good idea on the basis of skill set enhancement (you'll know more about how your charges think+work) but as a career change, utterly completely insane.

Most technical careers are competitive and short.

ivan_ah 2 days ago 0 replies      
Learning coding takes five yearsat least. Do you really want to invest this time?

Like several other commenters have said, a better approach would be to learn coding on your own time. (Choose a languageany language will do, learn the basic from a introductory book and codecademy.com, then work on small weekend projects)

coldtea 1 day ago 0 replies      
>I have an MBA from a top 3 school and have a high-paying job as a PM at a top 3 tech company. But I don't feel like I am building tangible skills as a PM, it is more about project management and coordinating.

And how are those not tangible?

dba7dba 2 days ago 0 replies      
Try taking a class in udemy. See if you can get that much first before quitting. Speaking from experience.
overgard 2 days ago 0 replies      
You really don't need a boot camp to learn coding. I would stay at your job and learn on the side.
tehlike 1 day ago 0 replies      
If you feel that way, use your business skills to build a business. I am an eng, a good one perhaps, and I lack the skills of a competent PM.

Find someone to complement you, then try changing the world. one small project at a time.

Lordarminius 2 days ago 0 replies      
What future role do you see yourself playing in the industry? Well paid geek, founder, investor, researcher ?
theparanoid 1 day ago 0 replies      
No. You only have one life.

Instead of something like a coding bootcamp, I've taken courses at the local university. Almost all universities (including Berkeley) allow non-enrolled students to enroll in 1 or 2 courses.

dman 2 days ago 0 replies      
What is driving you to seek this change? What do you want to be doing 3 years from now?
mcs_ 1 day ago 0 replies      

Keep the job, join some open source projects, solve some issues and enjoy the process if you can.

You can learn how to solve digital problems by coding while you work full-time somewhere else.

Good luck in any cases

codingdave 1 day ago 0 replies      
The only crazy part is thinking you need to choose between the two options. Job descriptions can be flexible. Keep your job, learn to code, and work for someone who lets you do both.
atmosx 2 days ago 0 replies      
Learn everything you are excited about on the side. No need to take risks courses and general info is available everywhere, you are smart, you can learn everything on your own.
ryanSrich 1 day ago 0 replies      
I'd think the complete opposite of you. We'll need a few PMs around to manage the army of AI programming bots.
nikanj 1 day ago 1 reply      
As a programmer, you'll encounter much more ageism than you would as a PM, to the point of being unemployable from 40 or so.
piyushmakhija 1 day ago 0 replies      
MK999 2 days ago 0 replies      
just hire a mentor 1 on 1 dont throw away a good job to become a front end dev or mobile app dev its madness
blairanderson 1 day ago 0 replies      
Not crazy. I did it and couldn't be more happy. I switched from sales to engineering.
Bladtman 2 days ago 0 replies      
What's so bad about crazy?Do what makes you happy OP, what else is there?
fizx 2 days ago 0 replies      
You are crazy from a careers perspective, but do whatever makes you happy.
crististm 2 days ago 0 replies      
Read Cal Newport on career capital. Do you have enough of it?
maverick_iceman 1 day ago 0 replies      
look around yourself. How many of the SWEs you see came from a coding bootcamp vs. a traditional CS background?
trentmb 1 day ago 0 replies      
I'll trade my front end dev job for yours.
JakeAl 20 hours ago 0 replies      
I highly recommend you take an hour and a half to watch this Lynda.com video on Leadership Fundamentals. It's focus is business, but first and foremost we are all leaders of our own lives and the lessons apply as much to personal as professional development. It may serve as a good refresher as to what you once learned makes for good leadership as a manager and help you identify your strengths and weaknesses as a leader of your life as well as in your organization. They have a ten day free trial and there are many videos you can watch after this one that will help you no matter what path you choose to follow. It is well worth the 90 minutes. It helped me understand and resolve a lot about myself and my dissatisfaction with own career, my organization, and what was wrong with both.


Pay particular attention to the segments on emotional intelligence, motivation, engagement/disengagement(!), and professional development. It'll not only help you understand what is affecting your motivation and disengagement, but you may also realize your greatest strength is that you are motivated to solve these problems not just for yourself but others in your organization. Understanding the way things should be could just cause you to double down as a PM and master the challenges of the role while further developing your skills to advance your career.

Good leadership focuses on the health (and happiness) and growth of the individual as much as the organization. Maybe you are just in a poorly run organization or one that has poor leaders. Discontent is usually a pretty good indicator this is the case, because even if an individual is the problem, a good leader has the awareness to recognize this and have a good relationship with their staff that enables them to make the staff member aware of their strengths and weaknesses and the source of their discontent so it can addressed be remedied.

It sounds to me like you want to more authority and control, or at least more challenges and your organization's leadership is not addressing that. Without that your growth and personal development is limited. Being a coordinator is little more being an admin that tracks status and doesn't require much tactical or strategic decision making. Your manager should understand this and being stretching your abilities in every area little by little until they trust you to make those decisions. They should always be preparing you for the next level up. Maybe you aren't aware of your weaknesses and they are not identifying them and working on them with you. Maybe your desire to quit and become an individual contributor is just an Escape Coping mechanism for dealing with stress instead of a Control Coping mechanism which is positive and proactive. Or maybe they just have poor leadership skills.

It would be terrible if you quit your job and lost the opportunity where you are to address your weaknesses and strengthen all of your skills in an attempt to start over because you feel it would give you more control over your happiness, especially given all of the capital you have built up in that role over the years. Besides, if the problem is your desire to leave is a just an unhealthy response to stress or a challenging situation, it won't solve anything.

Just a thought, but one from someone who has been there.

What did I do in your situation? It took me a while but I watched that video, combined my awareness from it with formal knowledge of PMP (Head First PMP is good start) as a reminder of what project management is all about and what my organization did wrong as leaders of a functional versus projectized organization (a weak matrixed organization), and then I studied stress management to help me understand my own (unhealthy) responses to my situation.

If I had done that while still at my organization I would have not only felt empowered by the evidence and knowledge, but challenged to work on myself and the organization at the same time, and could have been perceived as someone with greater leadership potential that would have allowed me to level up. Even if I still decided to leave, I could have improved my skills while there to prepare for a move to a healthier organization that I would have been better equipped to recognize and excel at.

FYI I strongly considered a Masters in Data Science which would have had a narrow focus either as a developer, data analyst, or data scientist, but at the risk of competing with people who were younger and/or smarter, and rooted in those disciplines from an earlier age. I decided I should master my management and leadership skills instead, leveraging and building upon my knowledge and experience at a better organization. I am unemployed and working on that now. Once I get a job, even if it's a contract position, I can still take the online courses to get that masters degree from a top university and also take advantage of being around people in the industry that do what I aspire to do as mentors.

I sincerely hope this helps.

sgentle 1 day ago 0 replies      
Wow, a lot of negativity here. To me it seems like this is something you really want to do and, assuming you have the resources to give it a try, why not? Worst case scenario you go back to what you were doing before but with some new skills and experiences.

The two points I think are worth considering are:

1. Coding bootcamp vs postgrad qualification in CS or similar. I'm not in the coding-bootcamps-are-the-devil orthodoxy. In fact, I've seen a lot of great juniors come from bootcamps, but you do have to recognise their limitations. A bootcamp will get you to the point that a self-taught highschool code wizard will be at just before they hit university and realise that they don't know anything. Employable, sure, but lacking in fundamentals. You don't have to learn CS from a university, but one way or another until you learn it there will be a ceiling on how far you can progress as a developer.

2. Part-time vs full-time transition. One thing I will agree with is that you are going to be a way worse software developer than you are a PM, just by sheer weight of hours put in. For that reason if you're looking to make a switch I would do that wholeheartedly rather than learning on the side or moonlighting. Otherwise you'll be pulled in two different directions, and the one that you are better at, have more experience with, and can earn more money from will probably win.

If you genuinely want to be a developer to build stuff, I would do the coding bootcamp, get any job as a developer you can find, then teach yourself CS as quickly as you can while on the job. The CS will mean more and be easier to understand because you already have the practical skills and you'll be able to call yourself a developer sooner. Just be aware that the stuff you build straight out of a bootcamp will not be deep learning blockchain automation algorithms for SpaceX, it'll be web apps with questionable business models.

Another option is to just bite the bullet and get a real CS education up front. This will take longer to get you to a point where you're actually building things, and keep in mind that CS doesn't give you practical skills, so you'll probably still need to start with entry-level dev work, but your trajectory to doing interesting stuff will be steeper from there.

Ultimately it's down to your resources and your priorities. If the drive is to just make stuff then go with the bootcamp, it'll get you there sooner. If you mostly like the cutting-edge ideas and high-level work (and you can afford it) go with CS first. Deep learning isn't bootcamp material.

And keep in mind that either way you're 5-10 years out from being good enough at this stuff to really live up to the picture of it you have in your head, so make sure what you're doing in the mean time is going to make you happy.

heisenbit 1 day ago 0 replies      
Twice in my career I moved from management to more technical roles. Both were somewhat forced by corporate reorgs and I found both quite difficult. Tech is some sort of meritocratic place and if you want to have an impact you need to contribute on an appropriate level. One of the hardest things in these transitions is to be patient enough with myself and not judging myself too hard for not meeting my expectations.

It took me 2-4 years to get on a level I was ok again with what I contribute in my role (lead architect). In these transitions I had the benefit of solid coding skills from way back plus having worked at a tier-1 corporate lab for a few years. I had the benefit that the company supported me but that came also with constraints on freedom and focus in recovering the skills.

Coding school may give you basic coding skills. The deep knowledge you would need to be a good coder however will take many years to acquire. I would be surprised if someone got to a more senior developer role in less than 4 years and going to architect before 6. Only then you will again be able to shape things. Until then you will have to implement what other - often a lot less qualified product managers have thought up for you to do. Often of the code will be for /dev/null as most projects fail in any case before hitting the user. I sometimes think salaries in tech will always be good as frustration tolerance is never going to be a commodity.

I found product management a very difficult proposition. It can be incredibly hard to add value in that role but then on the other hand it can be one of the most powerful and decisive roles too (Jobs do I need to say more). There is a lot communication and coordination and that can be fun but also can feel void. Shaping from that position takes serious political skills to acquire the necessary power and to wield it.

The way I think about these changes:

- what can you leverage into the new role?

- is there a plan B?

- do you truly like that type of work (tools, processes, travel, challenges, conflicts)?

- do you like to work closely with these type of people?

- what drives you? Long term vision?

- what are your strengths?

- what technical and interpersonal skill you want to learn? Will you learn anything new?

Would I have hired you when I was team lead way back? Iff you showed up with lots of enthusiasm for coding and passed our structured technical interview - maybe into a junior developer role. Willingness and ability to change was a key criteria for me. But I know I probably had to argue both technical staff and HR. I never worried about someone going for my role but maybe with you I would have worried about that on my side.

By all means learn coding. You may however want to give some thought on possible paths, risks and contingencies. Coding - considering your starting point - is certainly one option but comes with a high risk of significantly lower ability to contribute and ultimately benefit from it. Project management may be another. Consulting in the area of requirements may be another.

gabosarmiento 1 day ago 0 replies      
Yes you are crazy and Please Don't Do it. I'll try to make the story short so bear with me. Almost 3 years ago I took a Bootcamp Online at Bloc.io, quite recommendable and I was supremely obsessed with learning. I needed to make a fast change in my life knowing that I was going to be unemployed in about 6 months, my wife was pregnant and I had to make a quick jump not to drown. I do not regret it at all, in fact, I greatly appreciate having learned so much with my mentor. You can not imagine how many things I did after investing +90 hours a week for 6 months. I still had to learn on my own for another year testing ideas before I was able to launch a startup that has allowed me to keep a decent income higher than the one I had before. But this scenario is not what I wished for when I started 3 years ago. I did not conceive that learning to code was a permanent and continuous process where you needed concentration and long hours of focus instead of playing with my daughter who is almost 3 years old now. I love writing code, words can't describe what you feel when tests pass and you see it live in production (only to realize a few days later that you were reinventing the wheel and there was a better gem that did it faster and better). I thought this new world was my dreamed land where I could build things without asking anyone for help but that's really the problem. That window I opened 3 years ago showed me that if I continue to develop the way that I did I would spend my life without actually living it as I wanted to. I confess my lines are not that sofisticated, I even consider them quite amateurish, my tests are light, and I guess If I would really want to be a pro developer I would have to invest much more and that sucks because you can't think how many nights I've spent being away from my family because it truly is very absorbing. I do not say that it is bad idea to spend a life in front of a computer but man that is not suited for me.

I can see through your words that your interests are to participate in those great new ideas and to achieve greater things but you can make it happen without that Bootcamp especially without quitting your job. If you decided to attend to a good university it was because you really wanted to leave a dent on the universe. There are cases such as the orchestra director where although he does not play any instrument he must at least learn to play one to understand the essence of music before being able to lead. But in our ecosystem what is rewarded beyond our vision is our ability to execute.I believe that you as a PM have one the most valuable assets because you can take any talented team and give them a vision towards execution, that they will appreciate because people do not know how to execute complex Things step by step the way that you do. Besides that if you give them that strong desire to accomplish excellence that breaks the molds. And that stamina to persevere even in the darkest hours you are set.

If I could go back 3 years in time, I would ask for the refund even if I had to pay something. Instead I would use that money to spend more time observing regular people, maybe participate inside university activities, labs, study groups and invite complete strangers to take espressos or beers with students or teachers and bond with them. Instead of being a solo learner I would encourage myself to be a part of a group. My job would have been to create any initiative with them on the topics I sought were worth it and even if I knew it wouldn't work I would put all my experience to support the implementation of these ideas. I might not knew how to type a line of code but I would have felt more alive to be able to see those ideas become a reality, even if it wasn't 1% my vision, even if if wasn't my code, even if I only was able to sit on a table with just one talented person and be able to keep him motivated and enthusiastic after the first prototype was made and help him with the first sale to come, that would have been enough. Instead of investing in Bootcamps you could interact more with humans, learn more about human behaviors, spend more time with your family or children, travel more to meet with more people and take advantage of the work you have right now to find mentors or talk with your peers about your expectations in those topics that you like to execute instead of being in front of your laptop fighting with your lines of code that someone you work with can do much better in less time.

Finally I have to say it surely was a blessing to become a developer, right no I'm working as CTO/CEO but I 'm about to let go, and I know it's going to be hard, anyways in your current situation where you have much more knowledge and experience, only quit to carry out your ideas but if you definitely want to play don't forget that sooner or later you'll need to delegate and learn to orchestrate and for that you don't need that Bootcamp.

P.S.: Forgive my bad English.

nzjrs 1 day ago 0 replies      
known 1 day ago 0 replies      
Developers respect Senior Developers
Hydraulix989 1 day ago 0 replies      
I fundamentally believe that programming isn't something you can learn at a "bootcamp" -- instead, it requires years of concentrated practice, much like learning to play a musical instrument or to speak a foreign language.

You're not crazy to make that career switch, but you are crazy to attempt to do so in that manner.

Start reading books on programming and teaching yourself instead, and start working through the actual exercises. I think Python is a good language to start with.

gaabytzu 23 hours ago 0 replies      
Do what your heart wahna do!
boatymcdickwad 2 days ago 5 replies      
what is a PM? you're the prime minister?
Ask HN: What should I plan to do on a 6 month sabbatical?
82 points by fred_is_fred  1 day ago   66 comments top 34
dv35z 1 day ago 1 reply      
I recently had a 2.5 month break between jobs. I, too, wanted to make the most of it. These opportunities don't come that often in life.

During my break: I learned squash (so much fun - can't get enough of it, and it's so good for you), studied Spanish (lovevto travel in Latin America), learned a bit of Scala (not really that much, to be honest), took some salsa dance classes (tough, but so much fun. Met lots of new friends), and did some Lynda courses on video editing (for making fun travel videos). I also spent a week and a half doing a road trip through southern France and Italy. Read a lot of books that were on my "someday" backlog - almost 0% TV!

As someone else mentioned, the quasi-unstructured time in the day was so refreshing. I loved just doing some random boring errands, bumming around the coffee shop talking to people, taking a long walk in the park with the dogs (I live in NYC)

I'll tell you: I'm 2 months i to my new job (technology job at a startup), and I really miss the feeling of this unstructured "regular life", or whatever you want to call it.

Cherish it, but don't overdo the planning, as it'll stress you out!

All the best!

GuiA 1 day ago 0 replies      
I am about to embark on a 1.5 month sabbatical - not quite as long as you (I'm jealous!), but here's how I prepared it - perhaps it'll give you ideas.

Over the past few months, I've been keeping a list of things I'd want to focus on. Ultimately, I decided to trim this list to 5 things, because I don't think one can focus on more than 5 things at once. Here they are for me (unranked, equal importance to all):

- Working on my Japanese (I'll be in Japan)

- film photography

- sketching/drawing/painting

- reading

- programming

For the last two items, I've been keeping a list of books to read, and topics to investigate/projects to work on over the past few months as well. Then I trimmed theses lists to end with 1 book per week to read and 1 programming project per week to work on.

Of course, I'm likely to deviate from it, but having these lists and priorities as my guiding star will be helpful.

If I were to do this for 6 months, instead of 1.5 months, I'd probably break it down in 1 month chunks, with varying priorities per month, and a bit of loose time in between said chunks to account for unexpected things/rabbitholes to go down.

I also have a 5 day mountain hiking trip in the middle of it all, because in my experience there's nothing better for your brain than disconnecting absolutely from reality, and centering your days only around walking/eating/sleeping/looking at beautiful landscapes.

eecks 13 minutes ago 0 replies      
spudlyo 1 day ago 0 replies      
* Go to a pawn shop and buy a cheap electric guitar, then go to Amazon and buy a cheap USB audio interface, a classic Shure SM57 dynamic mic, a pop filter, and some cables.

* Learn how to play three open chords on the guitar. I would recommend E, A, and D.

* Watch this video[1] on how to write a song using GarageBand. It's easier than you might think, and a fun thing to do with kids.

Compose, record, and mix a song! Also learn about fun technical audio stuff like levels, EQ, compression, reverb and the like.

[1]: https://www.youtube.com/watch?v=ZNCAGYENNc8

jbot29 1 day ago 1 reply      
- Learn a new skill/craft. If you are in tech, maybe something more physical, cooking, woodworking,etc. Six months is a good amount of time to build a base.

- Learn a foreign language, again 6 months is a perfect amount of time. Highly rewarding.

- Work on holes in knowledge, build a self-course around it. Algorithms, dbs, whatever.

- Pickup an new programming language.

- Build a side project, doesn't have to be commercially viable, could be open source or not. Build a redis replacement for no other reason than to understand it.

- Travel. I understand the constraint of wife/kids, but there are ways to fit it in. Don't have to live in Southeast Asia, but travel, I feel is a great brain boost. Awesome rush of new.

cheriot 1 day ago 0 replies      
The greatest part is doing whatever captures your imagination in the moment. Lists and project plans are important even for personal projects, but the freedom to follow my thoughts for days and weeks on end is amazing.

I'm wrapping up a self declared sabbatical right now. Most of it was traveling and reading history books on the country I was in. There were a couple career inspired prototypes (web and mobile). Now I'm on a a coursera and reading kick for stats, probability, and ml.

Enjoy the "break"!

baccredited 1 day ago 0 replies      
Learn about practical paths to Financial Independence. Saving 25 times your annual spending would mean you could take a permanent sabbatical next time, if you wanted that. You can either increase your salary (harder) or increase your savings rate (easier) to get there. More: http://www.mrmoneymustache.com/2012/01/13/the-shockingly-sim...
NumberCruncher 22 hours ago 0 replies      
Your list seems to be too simple for me. Do you really need a sabbatical for doing those things? Maybe I do not get it because I am not married and here in Germany we have more holidays, but for me life without such basic activities is not worth living.
npostolovski 1 day ago 0 replies      
This question is eerily similar to my current situation: hoping to go on a 6 month sabbatical starting in 2017. My goal is to, basically, work on things that I've always dreamed of doing but haven't pursued because of the demands of everyday life.

See Jeff Bezos' regret minimization framework for inspiration: https://www.youtube.com/watch?v=jwG_qR6XmDQ. Imagine yourself at 80. What would you regret not doing?

ahmadss 1 day ago 0 replies      
Get involved with a local community organization, even if it's temporary. Whether it's the local homeless shelter, the local Rotary Club, or a religiously affiliated organization, the thing that recharged me the most during my brief 3-week break between jobs wasn't the hikes, the long drives, or extra gym time, it was spending time helping people who had a lot less than I did.

Now that I'm settled into my new job, it's the one thing that I'm still doing more regularly than going to the gym or going on hikes.

icey 1 day ago 1 reply      
Have you thought about picking up any hobbies? Six months would give you plenty of time to learn a hobby and really get into it; you have enough time to try a few. It might be nice to think back on your sabbatical while doing your new hobby in the future.
neom 1 day ago 2 replies      
Consistent, frequent, long, unstructured thinking time. Enjoy listening to your thoughts.
FullMtlAlcoholc 1 day ago 0 replies      
Learn to meditate. Few activities, if any, offer greater rewards for such a minimal time investment.
krosaen 1 day ago 0 replies      
Depends on what you are most hungry for. For me this past summer it was to have time off to study without interruption, I absolutely loved it. Also have a family, enjoyed having extra time and flexibility. Took a few vacations.


anotherjesse 1 day ago 0 replies      
I recommend meditation in addition to your list. Developing a daily practice and perhaps an extended retreat.
Kaizyn 1 day ago 0 replies      
I would recommend you focus on only 1 technology/software project to tackle. Spend the first 4 weeks doing no programming at all. Over the weeks 5-8, think about the project goals, what tools are best for it and do your research into project feasibility but don't actually dive into starting to do actual programming work. By the end of 2 months you should be pretty refreshed and rested, but you will have also done all the background/prep necessary to hit the ground running with your project. You may also want to limit your programming project to 3 of the 4 remaining months, however you divide your time so that your project doesn't consume your every waking moment.
Programmatic 1 day ago 0 replies      
I'm curious about how most folks get and/or negotiate a sabbatical? I'm getting to the point that I would really love something similar but would not want to derail my career in order to take one if possible.
tictaktoe 1 day ago 0 replies      
I am in a similar situation. I am doing the following:

1. Finishing real estate course so that I have the license to pursue alternative career in free time/ weekends, etc.

2. Buying groupons for unlimited Yoga classes. Never been able to stick to a workout routine so hoping will get something from yoga (hot) to be in a little bit better shape before Jan/Feb comes and things get crowded.

3. Planning to travel for few weeks.

4. Talk to some startups (I have been in corporate world) that are really making a difference to just know about 'em!

seb_b3lair 1 day ago 0 replies      
Improve your health. I have never enough time for that while working.
_kyran 1 day ago 1 reply      
I understand the family commitment, but could you travel for a shorter amount of time? Even spending one month somewhere else can have a profound affect.

Have you travelled much outside of your home country before?

Kluny 1 day ago 0 replies      
Take a neat course! I have on my list of courses I want to take:

- Powerlifting (one session, teaches you good form for several lifts)

- Small diesel engine maintenance (6 weeks, evening)

- Professional bike mechanic certification (5 weeks, full time)

- Upholstery (workshop format, as many as you want, $100 per session)

- Cobblery (haven't found a course yet, just really want to learn how to make sweet shoes and bags)

- Linux sysadmin (online but with a human coach, costs a few grand)

- Welding C certificate (evenings, 3 weeks)

- Swing dancing (Monday and Friday nights before the mixer, 8 bucks/session!)

atomical 16 hours ago 0 replies      
I recommend Josey Baker Bread for some good recipes. I make great bread by leaving the dough in the fridge for 4-5 days.
nicolaslem 1 day ago 0 replies      
I recently had one month and a half off between jobs. I had many things to do in mind. I started by tech stuff first, and well, tech eats your time.

I ended up doing way less than I expected. So my advice: leave behind everything connected with your job and focus on the unusual.

sn9 20 hours ago 0 replies      
Try to read 50 pages per day of something you want to read.

Learn new things you've wanted to learn. Master new skills. Take a few MOOCs.

Spend more time with your kids.

bbcbasic 1 day ago 0 replies      
I'd say don't do any tech. Can you challenge to live a week like the 80s? No cell phone, no internet, etc.
matt4077 1 day ago 2 replies      
Are you American, or similarly to only have two and a half free days (yes, hyperbole) when you return to work? Then I'd recommend traveling anyway. I'd recommend either Europe or Southern Africa, three or four weeks if possible.

(if you're not essential for childcare or similar at home, and more important if you have not seen the world before).

gniv 1 day ago 2 replies      
Brew beer. It is rewarding, (mostly) fun, non-trivial, and the result is surprisingly good.
xantroad 1 day ago 0 replies      
Are there any projects you've always wanted to accomplish but thought you'd never have the time?
farm_code 1 day ago 0 replies      
Learn to Grow food.
zzoozzoopp 1 day ago 0 replies      
Nothing is something worth doing.
cheiVia0 1 day ago 1 reply      
Play Nethack.
FullMtlAlcoholc 1 day ago 1 reply      
marknutter 1 day ago 0 replies      
Why, plan your sabbatical of course.
misiti3780 1 day ago 0 replies      
travel, read, and work!
Ask HN: Will we have time to understand that singularity happened?
5 points by arisAlexis  13 hours ago   9 comments top 3
T-A 12 hours ago 1 reply      
To call it a "theory" is a wild stretch. The only honest answer is that we don't have a clue, because we don't have a theory of intelligence. Without that, we have no rational way to estimate how far we are from human-like AI or how fast it could evolve past that point, once attained.

My wild-assed guess? Based only on the ridiculous amount of computation needed to simulate neurons, the first roughly human-like AI will stretch the hardware it's running on, and the budget of the organization responsible, to its absolute limit. It will probably not even run in real time, more like 1:100 or worse, with its creators rationalizing that ratio as actually being good for their scientific purposes (a slow-motion process is easier to control, study, debug). Hardware is hard and expensive, and attempts to scale up to real time will only be made once there is a convincing case that there are no easy design gains left to be had. It will take years.

And once that happens, you will have a roughly human-like AI who has no more of a clue how to make itself smarter than you and I do.

usgroup 11 hours ago 1 reply      
I don't really get this. What is it that super intelligence is supposed to be able to do that cannot otherwise be done?

We are pretty well compartmentalised against 'superior intelligence' anyway so it seems. Not too many philosopher kings around these last few millennia.

BjoernKW 12 hours ago 0 replies      
As far as estimates go (if such an event can be estimated at all) the usual time frame is "a few weeks up to a few months" starting from the first strong AI.

Exponential growth starts very slow, even slower than linear growth at first.

How could your company improve its support of its software developers?
4 points by samullen  7 hours ago   5 comments top 4
edimaudo 1 hour ago 0 replies      
To get higher quality code

--Do code reviews

--allows workers to learn from each other as well as other people outside of engineers.

--Have a coding standard

--Use boring technology as most of the bugs would have been found

To improve morale

--Treat people with respect

--Allow people to explore different aspects of the business

--Recognize people when they do a great job

--Allow for constructive criticism

--Don't let management get out of touch with the business

cableshaft 1 hour ago 0 replies      
Have easy access to outdoors, and possibly have some trees and nature like courtyards within the building. I get sick of sitting in a chair constantly and need a change of scenery. A sterile modern office environment really doesn't do it for me.

You'd be surprised how many dirty looks I've gotten for stepping outside in the middle of the day at most jobs and not smoking or going to lunch.

cauterized 6 hours ago 0 replies      
Protect us from open office noise and visual distractions. Hire enough people (or adjust expectations) to move at the desired pace while paying down tech debt instead of accumulating more.
arkitaip 7 hours ago 1 reply      
I think some clarifications are in order. Do you mean internal software developers or 3rd party developers? What do you mean by support, to what end (happier devs, better code quality, lower costs)?
Ask HN: Best Git workflow for small teams
161 points by tmaly  1 day ago   85 comments top 34
grk 1 day ago 5 replies      
We've been using the Github flow (or some variation of it) in teams of 2-10 people for a few years now. We work on feature branches, merge after code review using the github web UI. Here's a few things that help us:

- Make a rule that anything that's in master can be deployed by anyone at any time. This will enforce discipline for code review, but also for introducing changes that f.e. require migrations. You'll use feature flags more, split db schema changes into several deployments, make code work with both schema version, etc. All good practices that you'll need anyway when you reach larger scale and run into issues with different versions of code running concurrently during deployments.

- If you're using Github, check out the recently added options for controlling merging. Enable branch protection for master, so that only pull request that are green on CI and have been reviewed can be merged. Enable different dropdown options for the merge button (eg rebase and merge), these are useful for small changes.

- It takes some time to get used to those constraints. Make sure that everyone is on board, and do a regular review of the workflow just as you would review your code. It takes some time to get used to, but I think it's worth it in the long run.

qertoip 1 day ago 2 replies      
Continuous integration AKA trunk based development is the workflow you want to have. Ensure you meet the prerequisites first though (reliable automated tests, solid code reviews, feature flags, etc).

To be precise, small feature branches are perfectly fine. They are meant to be reviewed and squashed into master ("trunk") in a few hours to a few days maximum.

Squashing instead of merging has a big advantage of being able to quickly revert the changes if things go awry despite all best practices in place.

PS Avoid gitflow and similar workflows as they introduce leaps and thus risk. As everything in software engineering, you want your workflow to be as incremental as possible.

radicalbyte 1 day ago 2 replies      
I had a lot of success with a master branch, all features built in feature branches.

Feature branches were rebased then merged with a --no-ff. This creates a merge commit on master which includes the ticket number and short description.

The rebase is done by the feature branch developer who is usually best qualified to do so.

The advantage is that changes are isolated from each other, so nothing is spread before it's reviewed. The rebase makes the history easy to follow because it becomes linear and you can always easily see exactly what was changed in the branch. You still retain the full history of the feature branches.

Disadvantages: it doesn't scale to a massive team because you need to linearize the merges back to master. So it works for upto around 20 people.

I'd recommend against Git Flow because their method of merging makes it very unclear exactly what was changed in a branch. I actually prefer no feature branches to using Git Flow.

dasil003 1 day ago 0 replies      
I generally like GitHub Flow (https://guides.github.com/introduction/flow/) because it gives you isolation for individuals, but with only one ceremonial branch (ie. master). It might not be sufficient if you have formal release and QA cycles where you need to batch a bunch of changes to push to a staging environment, but all else being equal I prefer to optimize for branching, merging and deploying to production quickly. And with current cloud and/or containerized setups, it becomes possible to have on-demand staging environments (or even using ngrok with dev workstations!), but YMMV.

The main cherry I like to put on top is to always rebase before merging then merge with --no-ff (which is the default with GitHub PR merge button). This gives linear history for purposes of git bisect but preserves the topic branch structure so you don't have to read the tea leaves of the individual commits to piece together the overall development timeline. That one little piece goes a long way to addressing the concern that "rebasing destroys history" (which I don't agree with anyway, but that's the topic of another post).

This might not be worth it for certain types of contributors who are not programmers by trade, but for career programmers I believe mastering git and rebase in all its flavors (-i, --onto, pull --rebase, etc) pays big dividends that your team will appreciate more as the years go by. For git beginners maybe you start without rebasing, then learn the ins and outs of rebasing with local branches only before pushing, before finally going the whole hog and rebasing topic branches with force push before merging.

One last idea I like is Zach Holman's recommendation of deploying topic branches directly and then merging if there are no issues (https://zachholman.com/posts/deploying-software) in order to have easier rollbacks. Then you have 100% guarantee master is always stable.

bas_ta 1 day ago 0 replies      
At my previous team (5-6 people worked simultaneously) we used CI & CD and we relied on feature flags, so we could merge our branches more often and make smaller pull requests on Github. Each part of the feature had its own branch with a clear goal and tests written for it (we never pushed to master, every time you start working on something, you create a branch prefixed with your initials, make a PR, merge after review and then do it all over again). Of course, master branch was always deployable.

Right now, I work on a smaller project, we use similar workflow - we haven't implemented feature flags yet, but I suppose we will in the future (the project hasn't been released yet actually). I personally don't like developing an entire feature in a separate branch and then merging when it's all over, because code review becomes tedious (and ineffective) and the risk of merge conflicts increases. I would suggest you invest time in writing tests, so you can become better at it (if you aren't already) and it becomes a natural part of your development. Same goes for feature flags :) I was a junior when I started working like this (I still am, kind of) and it meant the world for me :)

neandrake 1 day ago 0 replies      
Paul Hammant has some interesting blogs about the topic and he has been talking and promoting Trunk Based Development for a while. We use a variation of it at work, though we have several teams of ~5 working on the same repository.




a_alakkad 1 day ago 2 replies      
We work as small team, 3-5 people max.

We just keep it simple like:

- No one pushes to master.

- For every feature (or update on a feature), create new branch.

- Send pull request for reviewing (one of us is the reviewer).

- Merge pull request into master.


You could try git workflow, but it's just too complicated for small team (and for large teams too?).

atsaloli 1 day ago 0 replies      
Start out by ensuring your CVS refugees understand Git basics. We've got a free talk on this (outline: http://www.verticalsysadmin.com/git/git-intro.html video: https://www.youtube.com/watch?v=j6Se3jH60dA) and provide professional training.

Also, the Pro Git book: https://git-scm.com/book/en/v2

JimDabell 1 day ago 0 replies      
Your master branch really should be your master branch. A branch that represents the most up to date working version you have, that everybody works in relation to.

Only working, tested code should make it into master. Code reviews and automated tests are great tools for this, but ultimately, it's up to the individual developers to not be sloppy.

Avoid long-lived branches and big merges. If you've got big features that take a while to complete, break them into smaller things you can deploy sooner or use feature toggles.

Don't leave it too long between deployments. Small, frequent updates are far easier to manage and far less risky. A dozen deployments a day are better than a dozen a year.

Everybody should stay up to date with master. Rebase on top of master before merging instead of having awkward merge commits that only obfuscate history.

If you have people working on features that take multiple commits to implement, use feature branches. These should be rebased onto master and cleaned up before merging into master.

If you combine all of the above, you're heading down a path similar to GitLab Flow or GitHub Flow, so strongly consider using one of those instead of coming up with your own from scratch. Don't use Git Flow. It overcomplicates things and offers zero benefits over the alternatives. As far as I can see, it's only popular because a lot of inexperienced Git users were feeling like they were adrift without a workflow, and a blog post with a snappy title came along at just the right time to catch their attention.

If your team don't have good VCS habits, you need to do something about this. Small, frequent commits that do one thing and one thing only, good log messages, push and pull frequently, etc. If you can't describe the change briefly, you are doing too much in one commit. There's lots of best practices articles for Git that have been written read them. Also read Pro Git, which is free on the Git website.

shocks 1 day ago 1 reply      
This is what's working for us:

 - Branch off master to make your fix/feature. Prefix branch name with "fix/" or "feature/" accordingly. We occasionally use a "script/" or "migration/" prefix too. - Do work. Use "git app -p" so commits are fairly small. - Make GH PR into master, get code reviewed. CI test are run automatically. - Deploy branch to staging environment and test. - Merge with GH, deploy to production.

 - master is always in sync with production, and so is always deployable. - never commit to master. - we don't use a develop branch.

M2Ys4U 1 day ago 1 reply      
My team comprises 4-5 Software Engineers and 1 Developer-in-Test. We develop three (related) websites + a bunch of back-end services.

There is only one long-lived branch in each of our repositories: master. All other branches in our GitHub repos exist only to perform a Pull Request/code review.

PRs must not be merged in to master until all unit tests are passing (the unit test suite is run for each new commit to a PR branch) and the change has been reviewed by another member of the team. In almost all circumstances the person who raised the PR is responsible for merging it. Once the PR has been merged in to master the GitHub branch is deleted.

Our CI server creates a new build for _every_ merge commit to master, automatically pushes this build to our integration environment, and then runs a series out automated integration tests on the system. If the build or automated tests fail then only PRs that fix the build are allowed to be merged in unless they are trivial.

Once our DiT is ready to perform a test, she promotes a build to the test environment and does her thing. Tickets that have been tested are then reviewed by a product owner and if they are happy the build gets promoted to the Live environment.

contingencies 1 day ago 1 reply      
No branching at all + integrated CI/CD.
richerlariviere 7 hours ago 0 replies      
The link is down. Here is the cache version https://webcache.googleusercontent.com/search?q=cache:Vk2On-...
uniacid 1 day ago 0 replies      
I've used both gitflow and the feature branch workflow which is explained here: https://www.atlassian.com/git/tutorials/comparing-workflows/...

both work well I think for small teams just depends on how well you want to organize things.

mattmahn 1 day ago 0 replies      
For my senior design team of 5 developers using Scrum and JIRA:

master ("production") branch:

- this is deployed

- nobody (not even GitHub Org administrators) can push; master is only changed via approved PR

dev branch:

- the base "working" branch during each 3-week sprint

- pushing is allowed iff the change is trivial or already has team consensus (e.g. changing linter rules)

- this is where we demo to our Product Owner

"story" branches:

- branched from dev

- named along the the lines of "alternate-checkout-TFF-75-story"

- base branch for any work that needs to be done for a user story

"task" branches:

- branched from the corresponding story branch

- (usually) named along the lines of "item-unavailable-TFF-92"

For all branches:

- CI must pass

- all PRs require >= 2 approvals, unless it is a trivial change then only 1

- require PRs when merging upstream (i.e. task -> story -> dev -> master)

- merge freely when going downstream (i.e. master -> dev -> story -> task)

- do not merge from story-A to story-B nor task-A to task-B

- squash commits when going task -> story and story -> dev

- do not squash when going dev -> master

Having stroy & task branches help keep the changes for each new feature in easily digestible chunks. The story branch is particularly helpful when two tasks need the same code, but the story, task-A, nor task-B branches are ready to go to dev. So we merge the shared code to the story branch, then the other task branch can merge down the required code from the story branch.

Currently, there is some contention over our verbose branch naming scheme. Previously, when 3/5 of the team was working on a different project, the branch naming scheme was "name-of-story-TSS-XX-story" for stories and "name-of-story-TSS-XX/name-of-task-TSS-XX".

qznc 1 day ago 0 replies      
Git can adapt to any workflow. Why not start with whatever they are used to from CVS and then tailor it to your needs over time?
kevinherron 1 day ago 0 replies      
We use what is basically the "GitHub" flow... forks and PRs on an instance of GitHub enterprise.

This is nice because in addition to the isolation it provides when everyone is working on their own fork it's easy to code review changes BEFORE they land in the "blessed" repository.

It's also nice because junior developers aren't pushing directly to the blessed repo either.

This model is really nice for maintenance and small feature development.

For major new development (new version, major feature that multiple people will work on) we tend to revert back to the behavior of committing directly to the blessed repo.

adipirro852 1 day ago 0 replies      
GitHub flow is the ideal way to go IMO. It is simple, easy to understand, and widely used.

In the end, however, it is going to come down to the specifics of your app and environment. What sort of CI do you have set up? Do you have anything that controls when or how you are able to release code? These types of things are what generally push teams to other models.

HHalvi 1 day ago 0 replies      
For 5-10 people it depends on what everyone is doing. I typically push some code out in the wild (master) for stuff that wont change and do releases or branching for incremental updates and patches. Git Branching + Git Releases should help you out mostly also bonus if you are using github throw in some good 'ol kanaban action using projects.
zachrose 1 day ago 0 replies      
Like others are saying here, the branch named "master" is always deployable.

Feature branches are named after a ticket. Pull requests are across branches in the same repo, not across repos. (It's marginally easier to collaborate on feature branches if they're all in the same repo.)

We don't (yet) do full continuous deployment, so many feature branches get grouped together before a release. Our strategy is to test* each feature independently and then merge all the tickets together to a branch named "staging". The staging branch then gets run against some extra regression/acceptance tests and whatever manual tests we may want. If they pass we merge to master, tag, and deploy.

Seems fine so far. Specifics about our tests and deployment process drive the Git workflow more than anything else.

*Run the test suite, test manually, whatever.

cdevs 1 day ago 0 replies      
Quarterly website release cycle with 3-5 developers. usually one liner bug fixes are the only thing pushed to master without a branch as in master -> master. Everything else is a branch / independent feature each developer is working on and we pull them all into a staging copy of master to pretest Which makes it easy to just delete the staging if we want to repull a feature or two and scrap what other features we pulled, once staging is well tested we merge with master on bitbucket as the new release.

The biggest change for us when we starte was do not push features for the 3 month release into master so at any moment or bug fix master is always ready to go live anywhere without some dumb new feature we don't want. Keep master clean dammit :)

segmondy 22 hours ago 0 replies      
You need to figure out your release cycle first, before creating/picking a workflow.

Will you only have one version of the app released at a time, (websites) or multiple versions (native, mobile apps). Will you have just one team or multiple teams working on the same app at the same time?

Answer these questions first, then and only then should you seek for a workflow.

znpy 1 day ago 1 reply      
From my experience working in a small team (3 devs + 1 designer). Here are some tips:

1- every dev works on a topic branch

2- always rebase before committing

3- have a jenkins running somewhere\

4- everything that gets merged into master gets automatically built and tested

5- everything that gets merged into -RELEASE gets automatically built, tested, packaged and deployed

6- Use issues from gitlab/github

7- Did I mention to always rebase before committing?

This isn't much and isn't exaustive, but it's a start.

aikah 1 day ago 0 replies      
I'm going to say something not popular but I miss SVN when working with teams. Git is great for distributed open source work but it sucks at being centralized/mono repo . SVN made it easy for instance to lock some parts of a mono repo or to even manage who can access to what. I don't get tall that for free with Git.
rorykoehler 1 day ago 0 replies      
We use develop branch as a pre-master. All feature branches get pushed to origin and pull requests created to merge feature branches to develop from there. Once a sprint is finished we merge to master and deploy to staging. Staging gets promoted to production using pipelines. As we are in early stages the develop branch is good but I can see us dropping it and using only master once we start doing daily releases.
zoul 1 day ago 0 replies      
I am currently solving the same problem and what helped me a lot was the Git manpage about workflows:


quintes 1 day ago 0 replies      
Master, dev, feature and release. Mostly always in fact.

An admin merges a release back into Master and back through to dev after a milestone build, demo or production release.

Keep the same Workflow with other teams in your organisation if it exists - unless it is fatally flawed - so that team members moving around have the same experience. Consistency and all that

NicoJuicy 1 day ago 0 replies      
I Have 3 main branches, alpha, beta and master.

Next to feature branches.

Jenkins for updating

Beta = production databases, but automatically copied, to avoid production errors ( lots of parameters to customize stuff)

No develop in master, just merging

Walkman 1 day ago 3 replies      
Everyone says what Git branch workflow should you use, but honestly, it can be complicated especially for junior developers.

Just commit everything to master and that's all! Sound stupid but worked best for us. I have seen a big software company using this, I learned this from them and never looked back!

gkya 1 day ago 1 reply      
If most know CVS already just use it. The burden of switching a tool and learning a new one is not worth it if the old one is good enough. I'd just set up a CC list for patch reviews, put a TODO file in the repo and go on with whatever VCS my team is used to using.
qznc 1 day ago 0 replies      
There is the philosophical discussion, if you should rebase or not. If your team comes from CVS there is probably no bias yet. Pick for yourself if you prefer a clean or an accurate history.
sdrothrock 1 day ago 2 replies      
Any advice for a workflow using Gitlab?
golergka 1 day ago 1 reply      
I think that a lot of people here make assumptions about the project that are not necessarily true. For example "everyone can deploy from master at anytime" is a great rule for a website that can actually be deployed by one click of a button, but a very bad practice for an iOS app, each new version of which can, theoretically, spend up to two weeks in review.

Also, what's your QA process and what is the usual quality of your builds? How R&D heavy are your new features, and how long do they typically take to develop? Are your programmers own different parts of the codebase, or is every one of them able to work on anything?

Without all this details it's impossible to know which workflow is ideal for your particular team.

Ask HN: Open Source Project for Udemy/Coursera Functionality
3 points by benkarst  10 hours ago   1 comment top
twunde 3 hours ago 0 replies      
If you want to build your own LMS (Learning Management System) the EdX platform is opensource: https://github.com/edx/
Best laptop for Hololens development?
9 points by asadjmalik  18 hours ago   2 comments top 2
Jonnax 6 hours ago 0 replies      
Have a look at the Razer Blade Stealth.It's got Thunderbolt 3 so there's an option to get the Razer Core or another external GPU enclosure. Not Razer specific and will work with for example the XPS series.
tuckerwales 9 hours ago 0 replies      
I'd definitely suggest the Dell XPS range. Both the XPS 13" and 15" laptops are fantastic devices.
Ask HN: Did knowing or learning a not-so-famous natural language benefit you?
52 points by FrancoAustrian  6 hours ago   59 comments top 22
hazbo 4 hours ago 2 replies      
I made an effort to learn Dutch for around 6 months of last year. Although it's a well known as a language, it's only spoken natively by around 20 million(ish), so isn't massively useful outside of the Netherlands and Belgium, among a few other places in the world. My first language is English. I just wanted a second language under my belt and I enjoy spending time in the Netherlands. The problem with learning Dutch is, most people (that I came across at least) in the Netherlands are already fluent in English and from my experience it seemed like they'd much rather just speak to you in English. So to actually speak Dutch there, it's important to be clear that you don't want to converse in English and that you're trying to improve your skills. It was really important to me that I'd speak a bit of Dutch every day, ideally to native speakers. This requires a bit of effort (as I live and spend most of my time in England), but it's suprising how easy it is to either find Dutch people here to speak to and also online.

It benefited me in the sense that I ended up making some new friends out of it and had a lot of fun just learning (or trying to learn) a second language. I think learning a new language like this can open up some doors and can help you meet a lot of new interesting people you'd perhaps not have met otherwise. I'd love to pick it up again next year. So we'll see.

nfg 4 hours ago 1 reply      
I'm by no means perfectly fluent in Irish, but I find it incredibly useful to have a language no-one understands to speak when travelling to maintain some privacy. My wife and I were buying clothes in a market Kathmandu some years ago, while haggling we were able to strategise without the stall holder knowing a word of what we were saying. Once we were done (and had acquired some nicely priced clothes) the guy took us aside and asked what language we were speaking - turned out he'd learned off basic vocabulary (esp numbers) in a ton of the languages popular with tourists but had been left baffled by us!
tom_mellior 4 hours ago 0 replies      
I'm at six natural languages now. I have worked in three of them and could immediately go to work in my field in a fourth. I could refresh the two others within weeks to a level where I could go to work in them, with some initial difficulties.

I would say that, to some extent, knowing several languages helps you with learning the next one. Not just if it has features that I already know from other languages, but also if it has new "WTF" aspects. Those become easier to accept.

What I mean is this. My last relocation was to France, for which I had to learn French. French has a bunch of things that make me go "WTF", but knowing that every language has such things makes it easier for me to shrug them off, accept that French is weird, and carry on. On the other hand, some other expats I know, who know fewer languages, question everything: Why does French do this or that? I have the feeling that some people get caught up in such issues and develop (or reinforce) an internal resistance to learning.

TLDR: Learning languages may make it easier to learn others by making you more accepting of weirdness.

biztos 4 hours ago 0 replies      
Depending on whom you ask, Hungarian probably qualifies as not so famous -- although among linguists it's pretty famous, as unlike all its neighbor languages it's not Indo-European.

Learning it has indeed brought me amazing benefits, chief among them a Hungarian wife. :-) Seriously though, all human languages have qualities unique to them, and once you speak a second language fluently you realize that there are entire ways of seeing the world that are only possible to describe in that language -- indeed, I believe that for every single natural language there are things it's only possible to think or conceive in that language.

This is probably less significant if the language is closely related to your own, but one of the thrills of learning a very very different language is that it opens your mind to concepts you realize you'd never have remotely understood beforehand.

As an added bonus, Hungarian is quite beautiful, and the Hungarian capital city of Budapest is a fantastic town.

So, if you're asking because you are thinking of learning a not-so-famous language then I encourage you to go for it. But understand that without immersion you'll never get far, so make a plan to go live in a place where they speak that language, at least for a year. And once you get there, don't slack off: some great places with unusual languages can easily accommodate you in some more common idiom.

tel 3 hours ago 1 reply      
A friend of mine who has a passion for language tried to get me to learn Lojban with him for a while. It's a complete waste of time in terms of its usability. I have never even heard of someone other than this friend who has spent any time trying it out.

What is interesting about learning a conlang, especially one with such an interest in being unambiguous, is that it aggressively points out how weird language actually is. I'm a native English speaker and the sort of person who just shrugged by all of public school English via the "it sounds good" argument. I really have no conception of what the structure of English is except in my own ability to use it.

Learning even just a small amount of Lojban helped connect my ideas of natural language to similar ones in logic and semantics. It did so even more effectively than learning Mandarin has even though I've learned far more Mandarin.

I think if you're interested in turning your analytical eye toward your own use of language in order to better understand what does and does not make any sense about it then learning a bit of a conlang is probably a good bet. It's the next best thing to having a linguist friend.

sandesp 4 hours ago 0 replies      
I came from several not-so-famous languages to learning English and I am not the right specimen for your questions. However, I wanted to say that learning a completely different language has changed my understanding of what communication is. I started understanding how spoken words are just tags to ascribe abstract ideas that both the speaker and the listener can relate to. At the same time, there are parts of the communication that gets lost and that's why people are not completely understood-something quite common in the internet. Learning a language can help bridge that gap in communication and most importantly, help an individual get a better perspective of the culture the said language is attached to. Because, as it is repeatedly said most of the human communication happens through body-language and tone alone which is only possible in a face-to-face interaction with good attention and focus from both parties.
tobltobs 4 hours ago 0 replies      
Learning Latin in school helped me to understand what this grammar thing is. Before I didn't even understand/cared about the grammar rules of my mother language, so learning Latin did improve my German.
k__ 4 hours ago 1 reply      
I tried to learn Japanese once, only for half a year.

I think it benefitted me, even if I didn't learn much.

It let me look a bit deeper into Japanese culture. The politeness is baked deeply into the language and the sheer amount of Kanji told me that a Japanese person has to constantly be on track to not forget even the most important ones.

On the other hand Japanese seemed antiquated. 3 sets of symbols and one of them has thousands of items. The gramma seems kina straight forward, but the sentences simply get too long fast.

I speak German and English, which aren't drastically different. But while learning Japanese I found out how different languages really can be.

English is a bit compacter than German, no "der/die/das", just "the". Most words are not capitalized, no compound words, etc. but English is A LOT compacter than Japanese.

colanderman 4 hours ago 0 replies      
Was stuck in the Paris train station at 5 AM at the end of a Eurail-pass trip. Needed to get a tram ticket to get to the airport in ~1 hr. Tickets cost 18 in coins, or a chip card; I had only paper money. After hr of panicking, I found a shop that had just opened and I asked the shopkeep, while holding up a paper bill, what basic (and probably incorrect) French I remembered from high school:

"Avez-vous du coin?"

Caught the plane with 3 minutes to spare.

maga 2 hours ago 0 replies      
I grew up as a bilingual since early age. One of my languages was an ancient language only spoken by about a million people who all spoke other, more popular, languages rendering their own language pretty useless in economic terms. Yet there are few things I think this gave me.

I believe growing up as a bilingual with two completely different languages gave me an edge in learning other languages when compared to my monolingual peers. When we started learning a foreign language in school, my monolingual peers didn't seem to grasp just how different the languages can be. All through school they tried to apply the grammar and phonology of their native language to the language they were learning. For me it was always a given that even similar sounds like consonants are often vastly different, that words can be in whatever position they have to, not just where I'd like them to be. Though, truth be told, I had no preferences in that matter to begin with since I was constantly switching in my mind from one language to another with a different word order. I am quadrilingual today, and I am not even a big fan of learning languages per se.

This might be far fetched, but I think it also made me more organized and disciplined, or at least it helped to do so early on. This mental context switching forces you to pay attention to the details for one thing. For another, it also gives a sense of "protocol" early on. You understand that you should speak one language to some people and another to the rest. In process you see that this thing is even more subtle because you have to choose styles withing the same language to match the social situation.

Last but not least, knowing the languages gave an early access to two different and often clashing cultures. This, I believe, made me less judgmental and more accepting of other people, at least when it comes to cultures. Not because it was the moral thing to do, but because noticing all the commonalities and differences between people became an exploration on itself for me as a kid. I am genuinely curious about people that are different from me, either by origins or mindsets. Being a typical white nerd and health-junky, I am easily bored by other nerds and health-junkies, but give me an alcoholic and I can talk to him for hours straight despite never being drunk myself.

mattmanser 4 hours ago 1 reply      
Fluent or just basic? Personally I think it's not worth it unless you really commit to trying to get fluent. I "learnt" Latin + French at school and it's basically useless knowledge that's drifted away in the years, I can barely understand even the most basic French now.

As for knowing it fluently, my Mum and various of her friends are all Dutch living in the UK. Many of them earned some money from it in some way, including:

 - doing translations - getting jobs in the local port because they were bilingual - teaching night classes in the language - emergency translator for customs
And that's Dutch, where even 20 years ago a lot of them spoke English fluently. It can be useful.

My friend's wife is a US Bulgarian who speaks French and got a grant from her uni to go to Bulgaria this summer to interview Bulgarian software companies (I think including Chaos/XCom maker Julian Gollop who lives there now).

Then again I know others who never use their 2nd or 3rd language.

Basically, it opens doors to experiences if you want to leverage it.

jonathanstrange 4 hours ago 0 replies      
I had a Japanese conversation course for only 1 year at the Japanese embassy in Berlin. I forgot everything except "tenki wa ii desu ne". Still it was a very good experience, because the politeness system built into the language is very interesting and there were many other interesting phenomena (like particles for count systems, topic marker, etc.) that helped me later for my work in the philosophy of language and semantics. I also learned a lot about Japanese culture in that short year.
soulchild37 4 hours ago 0 replies      
Learnt a bit malay and indonesian during my school time, I got hired as a programmer recently because I can code decently and translate english to malay/indonesian for the targeted countries.
Finnucane 3 hours ago 1 reply      
Partly as a result of the current political climate, I've decided to try to learn Yiddish, which doesn't currently have a large number of native speakers, in the US at least. I've never been very good at learning languages (nearly failed French and Latin in high school (both required), took a course in Japanese that did not go well). But if nothing else, I can probably use it to annoy neo-nazis on the internet.
fishnchips 4 hours ago 0 replies      
I studied in Copenhagen and did some Danish courses which at the time I considered a total waste of time since pretty much all Danes I knew spoke perfect (if sometimes heavily accented) English. I used it once when I got lost in Iceland and the only person we could find in the vicinity was an old lady who didn't speak a word of English. Danish though, even as rudimentary as mine, was just fine.
dejv 4 hours ago 0 replies      
Sometimes it is just fun, I used to speak some Behasa (Malaysian and Indonesian or vice-versa) and it was helpful to read menu in local restaurant or be able to speak with locals. I picked up some Berber when I was backpacking in Morocco and it did open tons of doors in countryside.

But honestly it doesn't benefit me currently other than some trivia knowledge.

lowken10 5 hours ago 2 replies      
My first job was at a large casino as a systems analyst. The casino switched CMS software and went to an AS400 RPG based application named ACSC. I took it upon myself to learn the database of the application and also to learn RPG programming (shudder).

This lead to my first software development position at a large international bank.

I worked as an RPG developer for three years then I pivoted to SQL Server/C#.

So yes knowing a not so famous language benefited me.

jonsen 4 hours ago 0 replies      
I lived ten years in the Faroe Islands. You can do just fine with Danish, but learning to read and understand spoken Faroese was of course a great advantage. Too old to learn speaking it, but conversations where I spoke my mothertongue and the other part their mothertongue worked great.
drc37 5 hours ago 0 replies      
At my university when I was attending, they were using PowerBuilder to teach object oriented programming. It landed me my first job at a big oil and gas company supporting a legacy app.
epmatsw 4 hours ago 1 reply      
Interested in the answer to this. I'm interested in learning Catalan, but the reward to effort ratio seems a bit low to justify it.
davidw 4 hours ago 0 replies      
People in my former home of Padova were always amused that I could speak some of the local dialect.
TheRealPomax 3 hours ago 0 replies      
Can you explain what you mean with "famous"?
Ask HN: An idea that you could not implement?
82 points by ninjahatho9  2 days ago   112 comments top 41
viraptor 2 days ago 1 reply      
Bubble burster bot. Identify cliques with few "outside" connections, that talk about politics on a social network. Start engaging both groups with content "acceptable" to both of them. Continue until direct connections are formed and move on. "Content" can be trivial - like finding a link posted by one person and responding "similar to this, right? <link to other person's post including related link>"

Potential risk: choosing bad content could cause more conflicts than new connections.

Why not done: just came up with it, also unlikely to be profitable unless you get a research grant for it.

Trigger: this idea is similar, right? https://twitter.com/Aelkus/status/796845589254275072

tmnvix 1 day ago 1 reply      
An idea I've had kicking around for a few years now is an app that presents famous artworks in the context of time and place.

For people like myself who like great art but have very little knowledge about the relationships or even chronology of the various movements, it would be great to have a broad range of artworks representative of the various movements placed on a map. Together with a slider type interface to choose time periods I think you could get a really good idea of how and when the different movements evolved and how they relate to each other. You could easily see for instance that there wasn't much happening in city x in a particular decade but a lot going on in city y. Move forward a decade and while y might be in decline, you can easily see that city z is becoming active - and that the newer works have clearly been influenced by what was happening in city y a decade earlier.

I have a fairly clear idea of how something like this could be monetised, together with how to get the necessary content. Haven't given much thought to how it might be marketed though. You could call it 'Art in Space and Time' (artisat).

I like that it presents a great challenge from a UI perspective - it could be done really well or really badly.

Anyhow, work keeps getting in the way...

If anyone likes the idea, go for it. Get in touch if you'd like to hear a little more - I might even be willing to get involved.

faddat 2 days ago 3 replies      
Inverse Commerce -

Customers simply type what they want. GPS locates the customer. Companies submit reverse bids both manually and algorithmically. Customer accepts what suits them best. Yay, money saved, time saved, customer happy.

Specifically, I don't have enough experience building android apps to make it as slick as I would like. Happy to talk with anyone about it. Can build back end, will travel, etc :).

TAForObvReasons 2 days ago 2 replies      
The recent election should have made it clear to everyone that many communities, centered around industries like manufacturing or fossil fuel energy, have been decimated in the last few decades or so. These are obviously large trends, but in our technological and economic progress we should figure out how to make sure these communities are not left behind.

I would like to see a larger effort for the SV community to expand into some of these communities and help give some of these communities a much-needed economic jolt.

johnnydoebk 1 hour ago 0 replies      
A platform where random people are collaborating with each other to bootstrap startups.Not difficult from a technical point of view. But it's not clear whether anybody needs it.
slinger 2 days ago 3 replies      
I don't think these ideas would take over communities neither the world, but they are awesome:

1) Some kind of crawler that goes through YouTube videos indexing them and its subtitles and then when a user searches a word or idiom the web app would show some part of a video that speaks exactly that search term.I know there are other services that does that, but I want something more natural since these services use some kind of text to speech with a robotic voice and not a real life situation.

2) An old school open world MMORPG with modern graphics and a mix of Ultima Online (PVP) and Diablo III (Dungeons) gameplay. Nowadays every mmorpg is a copy of World of Warcraft with a different story. There is no innovation...

EDIT: add another idea :)

photogrammetry 2 days ago 3 replies      
I can't implement an asteroid mining program now because the cost of space launch for the preliminary/prototype mining equipment would be prohibitively high.

If I had access to a space launch capability for less than $100/kg, however, I could bootstrap the whole business from my basement with an investment of ~$100-200k from some friends. [0]

From SpaceX's perspective, they can put ~5 tons in lunar orbit for a cost of $200k in fuel [1]. $40/kg is great, but it's not what they charge their customers, and it's not what they'd charge me - demand from comsat operators with a much higher willingness to pay means that I have no access to the market, and SpaceX needs to make a profit.

Give it 10-50 years, and I'd expect real asteroid mining will become economically viable. [2]

[0] assuming zero NRE for mining robot fabrication and a single person salary.

[1] ignoring actual launch costs, personnel salaries, and assuming the whole booster stack is paid for through infinite perfect recovery.

[2] see also Planetary Resources, and why they should be in hibernation mode, not burning $2m/year developing camera sats. but hey, VCs have money to burn.

farright 2 days ago 0 replies      
A voting system for websites based on "liquid democracy"[0], where a pagerank like algorithm is used to let a person assign votes to others. The catch is this system would deliver personalized scores so each person sees a personalized ranking based on the votes they cast rather than an average of everyone's votes.

The idea is that people get a "bubble" but that when people vote, hopefully they take into account both quality and how similar the post is to their own. So people get a better version of their own views, which hopefully also allows them to see similar but non-identical views.

You can see that sites like reddit which tend to have high quality posts, but many subreddis have very strong biases as well. Letting people live in their own bubble means that people can write the best quality posts they can without worrying if their bias matches the subreddit they are writing in.

[0] https://en.wikipedia.org/wiki/Delegative_democracy

judahmeek 2 days ago 2 replies      
I've been dreaming of creating a platform that used crowd sourcing to map concept & procedural masteries to higher level masteries and to occupations.Basically, a giant graph database mapping concepts, procedures, systems (versioned), and occupations. I think such a database could be used to improve learning management systems for school faculty and autodidacts alike. It could also serve as the basis for a performance/competency evaluation system that could replace resumes eventually.
afarrell 2 days ago 3 replies      
A couples' reading list.

Step 1: My wife and I both download an app.

Step 2: We link our accounts.

Step 3: We each find and read articles in the app, Pocket-style.

When done with an article, swipe right if I think my wife should read it. Swipe left if I don't want to pass it on.

Step 4: Open the queue of articles that my wife thinks I should read. Read them. Swipe right if I want to chat about it with her. Swipe left if I don't.

Step 5: On the weekends, as we're going for our walk, talk about the articles we both found intellectually stimulating.

Razengan 2 days ago 0 replies      
We should have a regular "Suggest HN" or "Ideas for HN" post where people suggest ideas or projects for other hackers to make, similar to the SomebodyMakeThis subreddit [1].

[1] https://www.reddit.com/r/SomebodyMakeThis/

andrewtbham 2 days ago 0 replies      
I have wanted to build a chat bot that acts as a counselor. I am quite sure it could be created with enough training data or at least be used for training. But it is difficult to convice anyone else that it's a good idea.

Here is an outline of the technical requirements and how they could be achieved.


chiliap2 2 days ago 2 replies      
A Reddit alternative where the ranking for posts was personalized to each user. The ranking would be based the similarity between the voting history of the people who've voted compared to your own voting history. Think Netflix recommendation algorithm for Reddit.
old-gregg 2 days ago 2 replies      
I always wanted to build an indoor navigation system for a phone. Large office buildings, hotels and especially department stores can be hard to find stuff in and you have to rely on navigation signs of inconsistent quality.

I couldn't build it because I a) lack hardware expertise to figure out tricks to navigate without GPS or/and map buildings and b) never figured out a realistic GTM for this.

alan-crowe 1 day ago 0 replies      
I'm intrigued by the Futamura projections and the possibility of getting a compiler for a programming language "for free" by using partial evaluation to specialize an interpreter. It appears that fully automatic theorem proving technology isn't powerful enough for this to work well enough to be interesting.

But what about proof assistants? It struck me that using a proof assistant to guide the theorem prover inside a partial evaluator offers an opportunity to repartition the coding task. The idea of "end user programming" always fails because we cannot sufficiently separate the idea of a program that serves as specification (here is what we want done, its a shame that this specification isn't really runable because the implied algorithm is too inefficient (think about PROLOG, where a naive program may well be logically correct, but backtracks itself an exponential runtime)) and a program that describes a tolerably efficient algorithm. The poor end user has enough trouble with writing code that specifies the computation correctly without worrying about computer-sciencey stuff about how the computer should actually go about computing it.

If only there was some way the person rewriting the code to make it go fast could do so at one remove. He works with the end user programmer first time through, but subsequent revisions by the end user get rewritten automatically...

This was the vision I tried to articulate in https://groups.google.com/d/msg/comp.lang.lisp/5p8oVP5dGbU/V...but my health has failed and I've not got any further forward :-(

supercoder 2 days ago 3 replies      
One JavaScript framework to rule them all
bobosha 4 hours ago 0 replies      
a stair climbing/hauling robot - most households have indoor staircases and lugging heavy stuff up/down is a big pain point with rapidly aging populations.
buzzybee 2 days ago 0 replies      
Yesterday I got myself enthused for personalized intelligent agents, user-controlled systems that would be a generalized filtering and mediation point for communications. A concrete example is to take a user's Facebook feed and automatically detox it: scrub it of the ads, content marketing, and fake news, and reprioritize the remaining content in a way heuristically believed to aid user well-being, rather than engagement metrics.

A polished, credible implementation of that would mark the beginning of a new marketplace centered on agent services that prey on existing Web companies and tear open their data silos and adtech, one user at a time.

But what ultimately stops me from further consideration is that the level of AI know-how needed to do this is not a commodity at this time - you'd need a full team of top talent, and it probably wouldn't be cheap/fast/customizable/secure enough for users if done now. I think it will happen though, the signs of it happening are gradually emerging, and when it does, watch out!

FullMtlAlcoholc 1 day ago 0 replies      
A dating app where after a first meetup, each participant rates each other on how accurate/truthful their profile was. If you misrepresent yourself too many times, you are suspended from the platform until you update your profile/photo.

My single friend tells me of dissapointing dates where the profile photos are years old. She especially dislikes guys who lie about their age to date women in their 20's.

kmf 2 days ago 0 replies      
I had an idea a few months ago that I liked a lot - a drop-in service for Amazon-style recommendations for your web app. It was going to be Stripe-like in ease of use, where you could just drop a lib in and start getting recommendations immediately.

On the service-end, it would have basically been an Apache Spark instance doing collaborative filtering as data comes in. It seemed like a pretty sweet idea, but I couldn't find the time to work on it.

If this seems like a cool idea, you should definitely steal it and start working on it.

Related to this -- I wrote a blog post about a lot of my random ideas I haven't finished and why you should steal them. Complete list and blog post here: https://kristianfreeman.com/post/steal/

brg 2 days ago 0 replies      
A mouse droid.

In more detail, an innocuous autonomous droid that reminds me of meetings and takes me to the right location. Intelligent enough to correct for diversions to the wc or coffee machine, and stay out from under foot.

_nalply 2 days ago 2 replies      
Natural language understanding. This will open Pandora's can, sort of, because really intelligent surveillance and ad targeting becomes possible. Combine a neural network and a lexicon and map an uttering to a graph with probabilities where the graph nodes are entries in the lexicon.

Note that this is partly independent from speech recognition. Perhaps speech could be translated to a string of word alternatives with probabilities, and language understanding gives a hint which alternatives make more sense.

In other words, language understanding could help speech recognition.

meesterdude 2 days ago 2 replies      
For me, it was a brain for my brain. I slung a lot of code to get what I wanted, but at the end of the day the encryption options are just not robust enough - or do not fit with other toolings needed.
cdvonstinkpot 2 days ago 0 replies      
I'd like to be able to mod comment sorting methods for various sites to mimic other sites. ie. Sort Facebook comments based on HN's comment sorting method, & vice-versa.
fillskills 2 days ago 1 reply      
iPlantTrees - kind of tree sharing. You want a plant, post location. You know how to plant or have money, go there and plant a real tree. 8 billion people and counting. If every 8th person plants 1 tree, we can have a billion trees.
smrtinsert 2 days ago 2 replies      
A mood indicator for every person within a nation. Takes into account technical know how and intent to thwart. Think of everyone from people who dont even use phones to a SF techie. The goal is to share in parseable data what is important to you on a daily basis (or as often as you like) so that sentiment is not a surprise to fellow countrymen or governments, advertisers, entertainers etc.
cb21 2 days ago 0 replies      
Images are so hard to search for. So many times I've tried to rediscover a hilarious gif I saw the other day and failed.
antoineMoPa 2 days ago 0 replies      
An open hardware FPGA. Limiting factor: building integrated circuits costs a fortune.
Sir_Cmpwn 2 days ago 1 reply      
A self-hosting static Linux distro, with pacman. It's bloody hard to bootstrap a Linux userspace from scratch in general, but when you add that you want everything to be static it just gets stupidly difficult. I'll try again at some point with another strategy, it'll be the fourth such attempt.
Grom_PE 2 days ago 0 replies      
An algorithm that takes two downscaled images of different resolutions and rebuilds a higher resolution image.
wilbertliu 2 days ago 1 reply      
Back then I wanted to implement an internet provider, since my country sucks on providing it with a proper plans
talktime 2 days ago 2 replies      
Reputational Review Network - A review network where users can rate local restaurants, services, goods and other reviewers' credibility. Ratings are personalized based on your own reviews and who you find credible - this gives a user an incentive to keep their reviews honest.
thescribe 2 days ago 1 reply      
I want to build a meta-layer that sits on top of basically every cloud platform be it dropbox or facebook. The best one sentence pitch I can come up with is "A dashboard for your online life" it should ideally do things like present all your storage as a single filesystem, present all your social networks as a single feed, and beyond that allow interactions between services like saving an image from your social network to storage as easily as moving a photo from one folder to another on a local machine. I want to commodify all these web sites and make them as easy to script as bash.
jackyb 2 days ago 0 replies      
I would want to have something like Wikipedia that takes account of the user's context and knowledge to present transformed text that is customized for the user so it's easier to digest.
bobosha 1 day ago 0 replies      
mobile ad-hoc ephemeral groups : you are at a concert/conference, and someone launches a group , others with the app are notified based on the various criteria (geolocation, interest etc.) . you can subscribe and unsub as soon as an event or session is over. This protects privacy etc. as only an avatar is shared with others, you can message and talk with them, but disconnect once done.

Can be used for announcements, notifications, 2-way comms etc.

bootload 2 days ago 2 replies      
good question, going through these ideas I keep in mind: "The winds of change originate in the unconscious minds of domain experts. If you're sufficiently expert in a field, any weird idea or apparently irrelevant question that occurs to you is ipso facto worth exploring." [0]

1/ So the idea I haven't done is build a hacker search engine. I'm not sure what this would look like, but I'd bet being able to search through source code at high/low levels might be interesting.

2/ Another idea is I noted on the the Amazon/NES classic thread, arbitrage by Amazon/users resulting in instant sellout. Could this idea be used somehow?

[0] http://paulgraham.com/ecw.html

paukiatwee 2 days ago 0 replies      
Machine/deep learning based github/gitlab/bitbucket issue bot that auto label issue with "bug", "enhancement", or "question" label. Currently implemented machine learning(no tuning yet) part but no time implement bot part.
michwill 1 day ago 0 replies      
Drone with a camera which flies and indexes physical world (like your house) automatically. So that you can find your stuff :-)
ruliov 2 days ago 0 replies      
I'm currently cannot implement my own programming language with dependent types, because there is no fully formalized type theory in type theory itself. And nobody didn't formalized it for 40 years.
talktime 2 days ago 2 replies      
SimVillage - A building simulation game of of a village of up to say 1,000 villagers. Like Simcity/Skylines, but with the emphasis on detailed human simulation rather than on large scale.
Ask HN: How do news networks get election data?
241 points by source99  5 days ago   55 comments top 24
Steeeve 5 days ago 5 replies      
AP and Reuters pay people to check the results locally. Between them, they feed a LOT of outlets. A significant amount of the data is available online pretty quickly, but some states and localities simply don't publish the data in a timely manner.

Some news organizations will have their own staff checking results, especially in areas where it is known that the results will be slow and the results are going to be within polling error margins.

You'd think the data could be crowd-sourced more effectively, but private citizens get the data more slowly for a few reasons ... First is that there is red tape involved in obtaining the data (i.e. forms to fill out, fees to pay and it all must be done ahead of time) and second is that after-hours early access to data is just plain limited logistically. If it could be efficiently delivered to a large quantity of people, it would be presented online.

There are a few areas where the government decides that it's more efficient to let private parties distribute data, and it's generally pretty good business to become one of those parties. NMVTIS data comes to mind immediately (carfax and it's competitors), but there are many similar instances.

Maxious 5 days ago 1 reply      
Associated Press offers a data feed http://ap.org/products-services/elections/FAQshttps://developer.ap.org/ap-elections-api

"Shortly before the polls close, over 4,000 stringers report to county election centers. When the first polls close, theyll be ready to start phoning in the raw vote as it is reported by the counties. Theyll place their calls to AP election centers around the country.

At the centers, a total of over 800 vote entry clerks will answer those calls, and walk each stringer through a dialogue as they enter the number of precincts reporting and the candidates votes into our election night system. "

imroot 5 days ago 1 reply      
I did this in the 2014 election cycle, reporting a county in Ohio.

They pay $50 for someone to go to the county and report the election results. There's an iphone, android, and mobile web site, as well as a call center that takes that input.

Honestly, it was a really fun evening in the middle of nowhere Ohio...

timwis 5 days ago 0 replies      
In Philadelphia, the city government publishes election results to phillyelectionresults.com as they're counted. The local civic hacking group (code for philly) built a nodejs scraper of the site (and an API for it) and a mobile-friendly front-end that auto-refreshes. It was available at whowonphilly.com, but the city government office that oversees elections has since adopted it as the official live results site.


Disclaimer: I work in philly's city government. It's really cool, and we'll soon be hiring a product manager (for beta.phila.gov), a data engineer (for open data), and a front-end/wordpress developer.

jtcond13 5 days ago 0 replies      
The NYT had their code on GitHub: https://github.com/newsdev/elex-loader
zodPod 5 days ago 0 replies      
Does anyone know if this data eventually becomes a dataset somewhere uploaded possibly free? It seems like AP's stream is for live data. I'd like the full break down by demographics and counties and stuff but clearly it's too late for it to be live.
rwc 5 days ago 0 replies      
They do -- in the form of staff on the ground collecting the information from the individual county-level offices. They collect that data as it's announced before it's even reported up to state election bodies.
emcrazyone 5 days ago 0 replies      
I'm curious about this myself but more so on the voter registration side. For example, how do they make sure each voter is casting a single vote?

In Illinois I registered to vote well before the deadline. I showed up to cast my ballot but my name wasn't in the "database." The folks managing the polling station had to manually re-enter all my details into an Android tablet. While this was happening, I took out my phone and scanned the WiFi network of the church I was in. I assume the tablets were connected via wifi. I saw no other connection to the tablet besides a power connection. To my surprised the WIFI was running WEP. Hmm, this day in age you would think WEP would be default=off. This was at a local Church too. So perhaps the tablets use cellular data plans?

They get all my PII data entered, I get my ballot, fill it out, and pass it through a machine. The machine is in the corner of the building in a large box so I can't tell if it's hardwired to some network or using the wifi.

Later that day (about an hour later after re-entering my details into the Android tablet) I went to the Illinois voter registration web site to look up my name and I can find my details.

Anyone have any information on the tablet software? Who writes it? How it's transmitted and stored? What about the electronic ballot counting machines? Are the phoning home some where?

The whole setup seems sketchy to me.

As an aside: I know a couple people who have homes in different states and claim they can cast multiple votes by driving/flying to the state where they have 2nd home to cast a 2nd ballot.

robinwarren 5 days ago 1 reply      
I have some experience of this in the UK at least. Here we have feeds from the likes of the press association as well as the official results coming from the electoral commission. However, networks may have their own people at some or all of the counts. These would be local journalists who are attending the counts and will feed news stories back to the studio during the night. They will also get the results from the returning officer and call them in.

In the UK at least we aren't meant to release the results until the returning officer reads them out so waiting for any of the above while showing a live feed of a result would mean we don't have the result to show on screen immediately. For this reason you would likely also have people in the studio watching the live feeds from counts and entering the numbers which would then be double checked against the official feed later. This can be tricky when the result is drowned out by cheering from a crowd of supporters! ie "Labout party, John Candidate 22 thousand... <WOOOOOO - YEAAAH> ...hundred and 1 votes"

The focus for news orgs is getting these results out accurately before their competitors, no one wants to be slow to announce the results.

namank 5 days ago 0 replies      
The other one is Reuters. AP and Reuters are the two largest networks for gathering news. Most other brands that you know and recognize are in the business of distributing news.
bitwize 5 days ago 0 replies      
Back in the day it was via the News Election Service, which was a joint venture of the major news networks and AP. These volunteers (I was one of them) would go down to the voting precinct and once the votes were counted, the election officials would announce the totals for each candidate. They would write down and then phone in these results to a central office. There was a computer automated system at the other end that would ingest the results.
ardacinar 5 days ago 0 replies      
Well, the US seems both more advanced and more ass-backwards compared to here in Turkey. Our way of getting data is very archaic, with people checking the results locally etc. (Internet might or might not be internally involved in that). But the trust in the elections are very low, and so the coverage of the elections has been a BIG issue since 2014 or so, many news networks have a few sources in parallel, and had the numbers for each reporting outlet and their biases on screen at the same time (different outlets converge in the end, but the intermediate numbers they report can be VERY divergent)

In addition to all those, there is Oy ve Otesi, a non-profit does the entire thing with only volunteer work. Their coverage is pretty minimal in rural areas, though.

jimmyswimmy 5 days ago 0 replies      
The state of Virginia has a json feed. But several times I saw news results reporting more votes than the state's website did. So it's at least not just that, if that helps.
ambirex 5 days ago 0 replies      
In MN the Secretary of State makes data files (mostly csv) available to media outlets.

We transfer and process them, for national races we we the AP Election API

VT_Drew 5 days ago 1 reply      
I don't know why there isn't a live data feed. I wish when you went in to vote there was a big screen that shows the current vote count for each candidate. You should be able to stay and watch the screen until the polls close and know exactly how your town voted.
qz_ 5 days ago 0 replies      
Usually the state board of elections reports directly to the media.
namank 5 days ago 0 replies      
Btw, Twitter definitely has the potential to rival and I think, dominate, AP and Reuters if they design the business that way. Just need a reliable way to decide trust worthiness of the tweet/source, and a way to put context around a tweet or a bunch of tweets so the headline can be derived from the tweets.
csommers 5 days ago 0 replies      
Decision Desk > NEP/NEAT for us
stratigos 5 days ago 0 replies      
They get the data they are told to regurgitate from the same centralized authority that produces all other mainstream news... though they are pretty good at making it seem like true journalistic endeavors actually produce the information theyre droning out to the masses of TV zombies.
pboutros 5 days ago 0 replies      
State and county websites, I think?
dvdhnt 5 days ago 1 reply      
My impression is that pollsters, people surveying voters during the election, report via the AP or directly to networks; seems basically like the traditional news wire.
billconan 5 days ago 2 replies      
I previously read an article about this, too bad it is in Chinese http://www.wenxuecity.com/news/2016/11/07/5747980.html

basically it says it is based on exit poll. and it is costly, so many media companies formed an entity called NationalElection Pool to do the report.

And they also hired a company called Edison Research to do the exit poll.

namank 5 days ago 1 reply      
Btw, Twitter definitely has the potential to rival and I think, dominate, AP and Reuters if they design the business that way. Just need a reliable way to decide trust worthiness of the tweet/source, and a way to put context around a tweet or a bunch of tweets so the headline can be derived from the tweets.
Ask HN: Have you faced burnout for days?
18 points by introvertmac  2 days ago   7 comments top 6
zerognowl 1 hour ago 0 replies      
Is it so bad that productivity grinds to a halt like this? I can understand if your employer has Henry Ford posters on the wall to keep workers productive, but sometimes the best work is done when a worker gets home, as if home is some precious thing that is forcibly denied, because it represents a reward, and that the reward of work is only represented as enjoying the spoils of your labor at home.

This is, for want of better phrasing, the rat race, and quickly being swapped out for better work-life balance, increasingly being lambasted, and seen as generally not ideal for more and more people.

Burnout is such a catch-all term these days and is usually a word associated with the more negative aspects of 9 to 5 culture. It's not a word in the vocabulary of high-performing people. High performance is not especial to 9 to 5 culture, or especial to those who have grit. High performance can be seen in unpaid work, or in work that feels more like work, simply because, there are different types of work, like body work, mind work, etc

frale-co 1 day ago 0 replies      
(Disclaimer: Not a native speaker, probably some weird grammer/syntax)I don't know if what i had qualified as burnout, but these past three year i sometime felt mentally strained, with huge sleeping needs (but difficulty to get asleep), low motivation, low productivity at work and at home (and therefore more stress/mental strain).

Two years ago, tried to take vacations, did some sport (this one somehow helped, but not as much as i needed, and couldn't get motivated to do my best). I ultimately took a month leave and took my old student job, summer camp counselor, for two week. It worked.Around last month, i felt the same, but couldn't take a long leave. My father (film set designer/decorator/constructor) was working on the set of a feature movie. i took four days (long weekend) to help him. Woke up every day at seven, did some woodwork, put some wallpaper, nailed/screwed some planks, went to secondhand market/junk shop with him, carried old furniture from there. I honestly don't know if it's the work i did or the fact that did it with my father, but it has been i long time i never felt this good.So my advice: find a work you can do that's time consuming, physical, that you find meaningful, and do it with someone you like spending your time with. Maybe juste one of these will suffice, i really don't know.For the last question, in my experience, it's both.

davismwfl 6 hours ago 0 replies      
I have suffered from this more then once in my career, it sucks and sorry you are experiencing it. Honestly for me at least, if I catch myself early enough in the process and can afford to take a few days or just pure R&R it usually does the trick. But more commonly, I work too much, get too focused and then do that for too long and then poof, my productivity rests somewhere between a snail and a sloth and so does my attitude and ability to focus. Overall, I have learned to manage it better over the years, but when it does happen here are some of the things that help me when I am in sloth/snail mode.

1. Time off (2-10 days usually), but it is mainly dedicated time away from computer/phone/electronic devices. Allow yourself only a very small time each day to check in on friends etc via social media or whatever, but otherwise put the electronics down and lock them up.

2. Do something active. The key here is physical activity, ride your bike, hike, swim or whatever you can do physically. Sometimes this is the hardest thing to do because when I get focused my exercise and outside time seems to be minimal and so getting motivated is the hardest thing, but after forcing myself 1-2 times it quickly becomes easier.

3. Get outside in the sun. Soak up some sun (safely of course), but get your body to reboot itself with some good ole Sun exposure.

4. Get some solid rest, take melatonin and Benadryl (to start) if needed, but get good rest. I have had to do take Benadryl the first couple of nights to get myself to sleep at a reasonable hour in the past (otherwise my brain racing keeps me awake), it just helped me kick start some rest.

Overall, the biggest thing is to distract your mind with physical activity and let your body refocus and reboot. Then try to keep this up at least 1-2 times a week and you will stay further away from burnout.

err4nt 1 day ago 0 replies      
For me, any creative profession is draining. Creativity takes something out of you, picture it like a well you draw water from. If there is no source filling that well up again, eventually the well will dry up and you will hit rock bottom.

There came a point where I realized that if my work requires me to be drawing from my well of creativity, I have to make a _daily_ habit of replenishing it with inspiration so I have enough left for tomorrow.

Things that inspire me to write CSS are things like listening to new music, cooking a dinner, watching funny things on YouTube, and exploring my city on foot.

Try to make a daily habit if replenishing your well with the things that inspire you and it will really help make sure you have plenty of creativity to draw on as you need it :)

sharmi 1 day ago 1 reply      
Hi, Time off might not always help. The burnout feeling will resurface when you go back to work. I am not able to give you any concrete suggestions as there are no specifics in the question.

With a little bit of conscious effort, we can channel burnout into helping our betterment. Try to accept that it is a normal reaction of your self trying to tell you something. Calm down a bit and try to work through your feelings. What is causing the depressing feeling? The lack of structure? Uncertainty of a problem? Lack of recognition? Workplace environment? Very little social interactions?

If you can isolate the problem, you can look for fixes. I believe everyone in the tech industry burns out once in a while. It is often indicative of a lack of balance somewhere. The trick is to, with time and practice, learn the triggers and symptoms of an approaching burnout. Then, you can address the issue before it grows into a full-fledged problem.

afarrell 1 day ago 0 replies      
I'd imagine this is very individual and depends on your life in total.

How much are you sleeping each night? How well are you eating? How clear are your goals at work and how much do you able to progress along them? How much time are you spending with people who care about you and rejuvenate you?

Ask HN: How do I protect my parents from the internet?
234 points by throwawaywxc  6 days ago   210 comments top 74
Raphmedia 6 days ago 6 replies      
I am the opposite of most comments here. Don't stupid her away to a mobile device.

We got our mom a computer, a cheap one, and told her to play with it. Break it. Click everywhere.

Soon enough she was playing with windows settings. Soon enough nothing worked. She now knew you can brick computer, she is more careful.

We fixed the computer and she explored the internet. She asked how she could download wallpapers, we introduced her to torrents and file sharing. She got viruses. She learned that you can get virus online and they will delete your hard worked wallpaper collection. She is aware of the dangers of the internet now.

For a while you would download all the free adblockers, anti-virus, etc., she could find and put them on CDs. She learned to clean her own computer.

Right now she is very comfortable with computers and it allows her to have more freedom. She will easily connect with people online, like we do here. I'm certain it has helped her keeping smart.

She even feel out pain now. Whenever one of her neighbours lady has issues with computers they call her.

victorhooi 5 days ago 3 replies      
I second what some others here are saying - get your parents a Chromebook (or Chromebox if they want a desktop).

I got a Dell Chromebook for my mother.

It's nigh on unbreakable, and is great for non-tech parents. Each tab/app runs in its own sandbox, and it allows them to do the things they want (i.e. browsing).

It automatically updates in the background (none of that Windows update rubbish), it has inbuilt malware block lists (via Chrome Safe Browsing), it's fast, doesn't bog down over time etc.

Even if by some magic they brick it, a simple Powerwash (https://support.google.com/chromebook/answer/183084?hl=en) and 5 minutes later, it will be back to a pristine state, they log in with their Google account, and it pulls down their settings again.

Also, if you want to see the latest and greatest coming in ChromeOS - try the Canary channel =). (But be prepared for rough edges).

Feel free to ask any questions.

thomaskcr 6 days ago 3 replies      
Use Deepfreeze or something similar. You'll mark a their documents directory as excluded and then every time they restart their machine it'll be back to the exact state it was in when you first set it up.

You don't want to have to support them using a new OS for the first time - you'll be in for a headache. I use Deepfreeze for anyone who is a "problem user" and most don't even realize they have it if it's set up right.

faitswulff 6 days ago 2 replies      
I was really hoping for a discussion on how to keep parents from watching videos about the healing properties of crystals and government chemtrail conspiracies...

...but to answer your question perhaps you can get your parents a Chromebook? I'm not sure what photo editing options exist on the platform, but hopefully it's an obscure enough platform to avoid the majority of malware.

Someone1234 5 days ago 7 replies      
Chromebooks cannot print.

Everyone loves to recommend Chromebooks to older/less digitally literate people, and they're right to do so in most situations. However Chromebooks have one huge downside that makes them non-starters for some of that demographic: Printing is a no-go.

And don't tell me about "Google Cloud Print." Cloud Printing requires a PC or Mac connected to the printer and a copy of the Chrome browser running. In this scenario we're trying to replace a PC or Mac, not add to them, so Google Cloud Print is a non-starter.

Ultimately people who quickly jump on the Chromebook recommendation need to find out first if printing, even rarely, is a requirement. For a lot of people I've tried to move over to a Chromebook, it has been the single thing that killed the entire project.

Printing in general is a huge hole in Chromebook's offering.

theandrewbailey 6 days ago 9 replies      
tldr: Linux.

I had more or less the same issue (except things still booted) with my parents about 5 or 6 years ago. In a move I thought was insane, I put them on Xubuntu. I moved them to Mint for a while, but they are back to Xubuntu. It's my preferred distro, and the Ubuntu base (for good support) and XFCE (Windows familiarity) made me comfortable it was Mom and Dad proof. Aside from showing them where things are, there have been zero problems. Turns out that Linux is just as good for email, web browsing, Youtube, and solitare.

I haven't used Lightroom, but how does (say) RawTherapee compare?

davio 6 days ago 1 reply      
After my mom got scammed online, I had "the talk" with my parents and we agreed that they would just use iPads and iPhones.

I've had no tech support calls for a couple of years now.

I think a chromebook is a good option if a keyboard is required.

It's a losing battle at this point. Your time is better spent educating them against social engineering attacks (I'm still afraid my mom is going to return a call to the voicemail the "IRS" left)

baby 6 days ago 1 reply      
Story time:

My father complained of virus and malwares on his computer.

I came home, formatted his hard drive and re-installed windows.

I go to eat lunch with my mother in the kitchen, a few minutes later I hear "[baby], I have a virus on my computer!". WHAT?

The first thing he did was to google for "chrome" on internet explorer and use the first result. The first result is a google ads for a malware containing chrome. Had to reformat his computer one more time. I think that's the moment where he got it.

nickcw 6 days ago 3 replies      
How about a Chromebook?

Cheap, keeps itself up to date, fully cloud based.

It wouldn't tick the Lightroom box but it does the internet based stuff extremely well with low maintenance.

breatheoften 6 days ago 0 replies      
I think we are doing a disservice if we restrict this question to only refer to the standard malware/technological attacks. The real space for risk to our parents goes beyond damage to the computer or identity theft. There's some seriously weird content on the internet -- and some seriously strange ways it can interact with our parents aging brains.

I had an "oh shit" moment when my mom described a website that added automated popups over a text editor field -- as she typed it would periodically throw up a pop up with encouraging commentary and editing advice "good idea, can you elaborate" etc -- and it took her a long time to realize that the intellectual/emotional support she was feeling wasn't actually coming from anywhere ... she also got severely addicted to the political campaigns and facebook -- and ended up with a news feed that absolutely barraged her with a constant stream of fake political news stories ... got her down from her 4-6 hours per day of internet usage but it was so fast -- really scary stuff.

bsenftner 6 days ago 0 replies      
In this respect, the FTC has failed 100% in their mission. Normal, non-tech consumers cannot use the Internet without falling prey to the outlaw landscape that is the WWW.

I think you need to explain to them that the Internet is too much like the Wild West, and they need to stick to trusted web sites, as their "sight" is not tuned to see the dangers. Leaving them too scared to randomly surf might not be a bad thing, in this situation. I have the same type of situation with my 85 year old mother. She is somewhat tech savvy, but not enough. Her browser has every possible 3rd party toolbar, no matter how much I educate her on the situation...

Florin_Andrei 5 days ago 2 replies      
> He has even clicked through on a "You have been chosen to win an iPhone 7" link recently - he saw no harm in at least seeing what might happen.

Show him one of those videos with deep-sea fish that use a luminescent lure to eat smaller fish. The pop-up is the lure. The small fish is him. The Internet is like the deep sea, and it's full of lures like that.

One simple criterion I give non-technical people: if it's unsolicited, it's hostile. End of story. No exceptions.

rwhitman 5 days ago 3 replies      
My mom has had various Windows PCs since the late 90's. About every 3 to 6 months or so I get a call that it's "stopped working" and has either locked up completely or is moving at a crawl.

Nearly every time it takes me hours if not days to do a bunch of scans, install updates and purge whatever garbage has been installed by various malware that she's somehow managed to find. I've done more than a few clean wipes, bought her new machines and yet still she figures out how to kill it again. Most of the time it's caused by her playing some silly online puzzle game, or clicking a link in an email or some sort of fake notification... or AOL, which she refuses to ditch even though it's a huge vector.

It's been decades and she still hasn't learned how to avoid this stuff correctly. I've tried every malware scanner & notification software on the market, and each one of them is eventually bypassed by clever malware or in some cases like AVG or Norton, BECOMES the friggin problem.

Basically, my conclusion is if your parent has a problem like this the only solution is refuse to help them anymore if they insist on using Windows as their primary web device and make them get a Mac and/or an iPad, maybe a Chromebook as others suggested. Then get rid of the Windows PC or simply tell them not to use it for anything other than printing / scanning etc. There is no winning otherwise. Windows for some folks is just plain bad news

bpc9 5 days ago 0 replies      
An interesting question. I haven't had to do any of this for my folks, but i'd probably do something like the following:

-Setup a network and computers that I can admin remotely. Probably Ubiquiti Unifi gear (great wifi APs, powerful router with DPI / firewall, where I have admin access from my Unifi Controller install. Then I could handle all network troubleshooting remotely, unless their ISP is down or hardware has physically failed (unlikely with the ubiquiti gear)

-Look at something like OpenDNS personal configured on the gateway to help protect against malicious stuff in browser

-Set up any Desktop PC to run a hypervisor, and keep the OS they use as a VM that I could access and administer remotely, and that I could quickly reset to a known-working state.

-Have them use gdrive / dropbox / onedrive to keep documents backed up and accessible across machines

-For laptop / portable, see if I could get them to use chromebooks, or I'd need to replicate the VM setup from the desktop PCs

Zyst 6 days ago 1 reply      
Linux machine, subscribe to more adblocker malware prevention lists - my mother's laptop has more ticks on the adblock subscription lists than squares - and in case of my father an awkward conversation where I told him a list of safe porn sites.
sathishvj 5 days ago 0 replies      
I faced similar challenges with my mom, especially since she lives in a different state. She confessed though that she would only ask me. And I'm able to help because I'm in the tech field. I realized that all her neighbors and my other relatives, and parents of my friends & acquaintances, and millions of others would have absolutely no way to get help and protect themselves against online scams and threats.

So I started a free service http://www.littlecaution.org/ where I do talks and seminars about remaining safe online. Since it's just me on my personal time for now doing the workshops, growth and reach is slow. But I continue to work on it.

My belief is that using the right tools is of great importance but raising awareness is a bigger need. All the best tools are no match against human fallibility. So in these talks, the direction I take is about knowing the issues, being aware, and then followed by using the right tools.

walrus01 5 days ago 2 replies      
give them a desktop that is basically xubuntu amd64 (xfce4 desktop on xorg) + firefox + chrome, and then install all of the best adblock extensions in both browsers. Even the most clueless parents can't successfully download and run windows binary malware/ransomeware/viruses on that.

the xfce4 GUI is close enough to traditional windows98/windows2000/winXP models that most older non technical users have no problem with it.

the best thing for non technical users/older users/ignorant users is to give them the closest approximation to a thin terminal web browser, whether it is a linux desktop or a chromebook type thing.

johngalt 6 days ago 0 replies      
Here are your options:

Revoke local admin privileges. It will stop a lot of the click-click to install bullshit, but it also means you will get a lot of calls about "access denied" whenever they want to update an app that needs admin rights. Give them an admin account to install/update software separate from their normal account.

Simplify the device by going tablet/chromebook. Probably means you will get a lot of questions regarding how to use/setup the new OS.

Shorten the loop on backup/rebuild and let them hit the iceberg. Good backups and fast imaging with drivers pre-loaded can make cleanup a lot easier/faster.

tbyehl 5 days ago 0 replies      
1) No local Admin rights.

2) Chrome + uBlock Origin w/ Malware filters.

3) Sophos Home[1] which has the bonus feature of being cloud-managed and not providing any control to the local interactive user.

4) Sophos XG Firewall Home Edition[2] on whatever $100-ish hardware the pFense crowd is currently in love with. Web filtering for Advertising and Threats, AV scanning.

5) Backups!

[1] https://www.sophos.com/lp/sophos-home.aspx[2] https://www.sophos.com/en-us/products/free-tools/sophos-xg-f...

paullth 6 days ago 0 replies      
In addition to the stuff you mentioned, for my mother in law I:

removed her user's admin privileges

install flashblock - one of the ones where you have to click on the video to make it run

spent a long time explaining that you will never be chosen to win something, MS support never rings you to tell you have a virus, if something takes over the whole screen and tells you anything suspicious/implausible to press alt+f4

convinced her free music isnt worth the risk of downloading something that trashes the machine. installed spotify

clentaminator 6 days ago 0 replies      
It makes me smile that while proponents of censorship and blocking of parts of the Internet use the "Think of the children!" argument, I never hear anyone shouting "Think of the adults!"

Of course, in this case we're trying to protect people from themselves rather than the outside world, but still...

philip1209 5 days ago 1 reply      
Have you considered using OpenDNS? They used to focus just on protecting family members from internet threats, and it's still a great (paid) product for that:


davidgerard 5 days ago 0 replies      
A Mac. If you live with him, Ubuntu.

If there's that Just One Piece of Windows software he needs, do try it in Wine - Wine works more often than not these days.

I never did viscerally understand how literally 25% of Windows XP installations could be botnet members until I saw my sister's computer in 2010. Oh my goodness. The disk was full because they never emptied the rubbish bin. And I don't think there's ever been a piece of crapware that my brother-in-law didn't download to try. The only thing saving them was that they were still on dialup. They're on broadband now (it turns out the killer use case for videophones is our mother Skypeing her grandchildren), and I shudder to think what it's like. Normal people do not use computers like we do.

webwanderings 6 days ago 1 reply      

I bought the cheap one (Lenovo) sometime ago. It has a good battery life, very lightweight and compact. I have seen the same being used by many people (in the same category). It is the most trouble free and productive piece of material there is. Ignore all these security software and Linux etc. Just hookup uBlock and Ghostery into the user's Google Chrome account and you're done.

RankingMember 6 days ago 1 reply      
While I'm loathe to recommend a walled garden solution and not a particularly big Apple fan, this is exactly where such a solution shines. An iPad is perfect for this situation.
akerro 6 days ago 1 reply      
Install them Ubuntu, KDE Neon or Mint. Works for my parents since... I dropped Windows XP.
thght 5 days ago 1 reply      
A virtual machine might be a solution, just leave it full screen for them when you leave home. I've given up trying to educate my parents best practice with pc's, it doesn't seem to work.
SimonPStevens 5 days ago 2 replies      
I think all the people recommending Chromebooks or Linux are entirely missing the point. Those are only viable alternatives within small niche uses for people who literally only use email and facebook. It's the 80/20 fallacy. 80% of the people only use 20% of the features, but for each person in that 80% they use a slightly different 20% subset. It's the same here. Most people only use a very small subset of the internet, and most things they do would work fine on a Chromebook, but each of them has that one thing they just can't live without that only works on Windows.

I have this exact problem with several family members PCs who come to me regularly with messed up machines.

It's not just old people either. One problem person for me is a 10 year old who always insists that all he downloaded was just that one minecraft mod and it was definitely a safe mod, honest, because he downloaded found it on google, or he saw stampy using it on youtube, oh and a java update because the mod says it needed it, oh and forge, and optifine, and, and, and... He's loosely tech savvy, but in a way that doesn't make him any safer, he still gets his computer into a mess. He's not going to switch to a Chromebook. No minecraft, and none of the other games his peers are into. (On a related note, the minecraft modding community is one of the most vile den of scam-mongery I've ever had the misfortune to stumble into)

The older people all require MS Word/Excel (And don't tell me LibreOffice is a replacement, it's not even close if you expect file compatibility with other people who use MS products).

Windows only plugins for specific websites, that's another one that is hopefully getting much rarer, but I still do see from time to time.

I've tried setting up restricted accounts and keeping the admin account password secret, but it always eventually has to get given out. Last time it was because their son needed to do submit his homework on the schools website, but the submission processes required a Windows only plugin which needed admin access to install. They were all panicked because I hadn't been answering my phone and his homework was due the next day. After that I gave up and stopped using restricted accounts.

I've tried disk imaging software, but it's typically a lot more work than it's worth with the images quickly getting out of date and needing redoing with new versions constantly.

This is a big big problem that I just don't have a good solution for.

rihegher 6 days ago 0 replies      
You can start with ubuntu that is immune to most of malware and enough if your parents needs are internet + video palying and downloading + office suite
chejazi 5 days ago 1 reply      
Maybe replace his pc with an android powered device like http://www.toysrus.com/product/index.jsp?productId=101695486
greggman 5 days ago 0 replies      
I am going to answer that pretty much nothing will save your parents from the internet.

While I agree a chromebook won't get owned your parents will still likely get phished. I have no idea how to solve that.



zupreme 5 days ago 1 reply      
There are some good suggestions here but I will give you one based on the assumption that your parents won't want to leave the familiarity of Windows.

0) Deny them admin rights to the machine.1) Create a second profile for each of them2) Write a quick batch or PowerShell script to copy the contents of their Desktop, Documents, Favorites, Pictures, Music, and Vidoes folders (not the entire profile) from their profile to the second profile you created for each of them. Make sure your script only copies new or changed items (so it runs faster) Store this script outside of either profile.3) Schedule the script to run every hour on the hour.4) In the event that they brick their profile with adware, malware, etc, simply login as an administrator, delete the first profile, rename the second profile to whatever the first one was called and then create a backup profile with the same username that the previous backup profile had (so you don't have to edit your script).

Notes:For your script if you are more comfortable with batch scripting then use "Robocopy". If you are more comfortable with PowerShell use "copy-item".I cannot stress enough how important it is that you ONLY copy the folders I mentioned above. If you get lazy and copy the entire profile you will bring over the folders viruses, adware, and malware hide in (like AppData).For the love of God make sure you have up to date antivirus on the machine. That's so basic that I didn't mention it above but I feel compelled to do so here. If you don't want to spend money just install Security Essentials or AVG.

atmosx 4 days ago 1 reply      
Here's what worked for me:

1) Install GNU/Linux, most click adds target windows users.

2) Install an ad-blocker at DNS level. I use a custom variation of this: https://pi-hole.net/ (by default logs DNS requests, mind you. You can disable logging though).

3) Spent some time to educate him on what to avoid online

4) Lastly, I have an RPi running on a VPN exit node (actually I have an RPi cluster, but anyway). When I had an openWRT-based router, I had a script which was fetching porn/torrents/etc. IP addresses and adding routes to the router redirecting connections via VPN.

5) A separate guest network with radius accounting can go a long way into securing your network and help control access (I have a radius RPi server but my APs do not support accounting. I felt kinda screwed when I realised)

EnderMB 6 days ago 1 reply      
In my experience, don't. Offer them your best solution for a novice user, which for me is usually an up-to-date machine with an ad blocker, and make sure that you're open for

Ultimately, they're adults, and the last thing your father will want is to be treated like a child on his own machine. If he fucks something up, fix it, and tell him what he can do to not have that issue come up again.

ChrisNorstrom 5 days ago 0 replies      
I've got 2 computer-illiterate parents and I can confirm the following works very well:

1) Create a user account in Windows that is NOT an administrator account, that way they can't install things without an admin username and password. The PCs admin account should be password protected.

2) Enable the highest level of windows alerts (those "this program wants to make changes or modifications to this PC, cancel or allow" messages). Teach your parents to always click no/cancel/do not allow.

3) Ad blockers like uBlock. Remove shortcuts to, or uninstall Internet Explorer.

4) Use software like DeepFreeze http://www.faronics.com/products/deep-freeze/standard/ it restores the computer to a snapshot you saved every time you restart it. No matter what they mess up or install or screw up, it'll be fixed with a restart.

pryelluw 5 days ago 0 replies      
I bought my dad a chromebook. Problem solved.
yathern 6 days ago 0 replies      
If simply educating them on what not to do (clicking on 'free' stuff, downloading without discretion) won't work, I'd suggest switching out the OS to something a little less targetted by malware. I recently got my mom a chromebook, which she loves. You say your dad uses lightroom though, so that might not work for your use case.
instanton 5 days ago 0 replies      
I'd recommend you sandbox his favorite browser in sandboxie: http://www.sandboxie.com/I believe the free version allows you to use one sandbox session.

Run him through the process of recovering downloaded files and you should be a lot safer.

Too 5 days ago 0 replies      
* Set a password on UAC (windows sudo equivalent) and teach him that if the background ever goes black and asks for a password he should be very aware. The default is just a yes/no popup and is very easy to just click yes, even accidentally for tech savy users. For extra protection, don't give him the password.

* Remove the anti virus and tell him that you did so. It just gives a false sense of security and introduces more popups which teaches users to ignore prompts. If he knows it's not there he might be more careful.

* Install ublock origin. It blocks known badware domains and reduces the amount of clutter/ads on almost every web page you browse, making it easier for him to identify weird stuff.

hawski 6 days ago 0 replies      
I am currently working on experimental Linux distribution for my parents that would be a bit ChromeOS-like.

Ideally for my mom ChromeOS device would be ideal. For my dad it would be not enough as it seems in your case. Maintaining my parents computer is something that always gets back to me. Now I am also living few hours worth of travel from them so it is even less convenient.

Older computer couldn't handle Ubuntu of the time. So always something was not working correctly. Updates on every system are constant source of headaches. My dad got used, but much more powerful machine. I installed Windows 10 for them thinking that Windows is now better and that with perpetual updates it will be out of trouble for me. I installed also Chrome Remote Desktop for service. My dad preferred Linux experience. I hoped that he just needs to get used to it. He was happy with Windows Store for a while, until few of the games he enjoyed playing failed in strange ways. It would not be that bad, but updates on Windows 10 are huge and with 20-30GB free space left after installation it does not update anymore. It only downloads the update, tries to update and fails - on every reboot. My dad bought an external HDD so probably it could be resolved. However he still would like to have Linux in there - old computer was very slow, but it did not fail in such magical ways. For now I plan to install Ubuntu for him and see how it will behave.

For my own learning experience and a bit of enjoyment I started working on my own Linux distribution. The most important thing for me is to have hassle-free updates like on Chromebook. I prepared squashfs image with Firefox and intend to have two partition scheme for rootfs. Updates would be then just download and restart away - completely automatic and in case of failure you would still have previous working image. I could test the image locally and optimize it for fun and profit. For now I base it on Gentoo to build lean system in a similar fashion to ChromeOS build.

[slight EDIT]

whyagaindavid 5 days ago 0 replies      
You dont need to even buy a new chromebook. Just install cloudready (which is compiled from chromiumOS) for all generic PC/laptops. Many schools are even using this.www.neverware.com/I am not involved with them. Just a user.
tikwidd 5 days ago 1 reply      
I made a really simple UI for youtube-dl in WPF a few weeks ago. It just has a text field for the youtube link, a "download" button and a checkbox for downloading audio only. If you like I can chuck the source and binaries on github.
namank 6 days ago 0 replies      
This is a very important conversation for this decade. Do post your solution on HN once you have it.
victorhooi 4 days ago 0 replies      
Lightroom is on Android now:


If you have a recent Chromebook, they can run Android apps =):


ben_jones 5 days ago 0 replies      
Great post. My father is similar to yours, but is also incredibly vehement about his privacy. A few years ago he fell victim to a fake microsoft support scam (foreign accent, cc details over the phone, etc.) and gave them full root access over whatever screen share software they used. He paid a few hundred bucks for them to fix fake problems on the PC, and I could never convince him that it was in fact a scam.

I've since given up completely on locking down the computer or protecting them from themselves in that regard. I occasionally get talked into basic tech support, but thats it.

It's really a relationship problem if anything (IMO).

perakojotgenije 5 days ago 1 reply      
Use Linux. If he only uses his computer for browsing the Internet and editing photos linux mint (mate or cinnamon) will do fine. Show him how to use darktable instead of lightroom and that's it. No more problems.
aibottle 5 days ago 0 replies      
A friend of mine once explained to me, that in order to make the internet and computing environments safer we have to stop making things easier but educate the people (e.g. don't put the single-point-of-failure antiviruses on the computers teach people not to trust links/emails/usb/devices but to check the source and acutally think). I think you should educate them on the topic, and help them to learn it.
olivercreashe 4 days ago 0 replies      
Take it away from them. Really, if it means that their identities are at risk, I would not put your parents at risk and persuade or force them to not use the interwebs until they get educated.

Btw, a chromebook does nothing to protect them against identify theft. Don't get them anything, better teach them what they might lose.

pksadiq 5 days ago 0 replies      
One way would be installing some good GNU/Linux (Mint is good for windows users, or Debian Stretch with GNOME classic mode).

And thus your dad can't install any software he just downloaded from some random website. And the GNOME sofware center is great in Debian Stretch (to be released though, sorry).

create scripts using zenity as a GUI for youtube-dl (and any other command you wish him to run)

Also, I would recommend uBlock to Adblockplus.

Tinned_Tuna 5 days ago 0 replies      
The best thing I can suggest is regular, invisible backups. Ensure that it's very difficult for them to avoid doing the backups, and make sure that what ever holds the backups is a battle-hardened.

Social engineering is a broad problem right now, and all you can really do is be prepared to pick up the pieces after the fact.

namuol 5 days ago 0 replies      
I installed Ubuntu on my parents' laptop years ago. They didn't notice the difference until they tried to print something.
serg_chernata 6 days ago 1 reply      
There are already good solutions below. The one thing I would add is that this may not be a "silver bullet" kind of problem. I'd throw everything I can into the mix to create layers of protection. Educate them but also add software solutions to the mix.

A small addition, how often do they need to install new software after initial setup? Maybe take away admin privileges?

sakopov 5 days ago 0 replies      
I'm sort of in the same boat with my folks who are pretty much computer-illiterate. After wiping malware a few times I ended up simply installing a VM image for them for internet browsing and downloading content. It takes a bit of getting used to but after explaining how to use it it's worked out great.
joesmo 6 days ago 0 replies      
Here's a couple of things you can try:

* Drop linux on it with a simple GUI on it and lock the machine down. Don't give him root access or admin rights. Make sure the machine updates and backs itself up without intervention.* Set up his browsing inside a vm that gets recreated on boot (any host OS, linux as guest would be ideal but any will do).

type0 4 days ago 0 replies      
> This is pretty remarkable given that my dad only uses it watch golf videos and edit some photos in lightroom. He may occasionally indulge in some porn cough.

Teach him how to use Linux. He can use Darktable instead of Lightroom.

konradb 6 days ago 2 replies      
Not the answer you want but an ipad might limit the damage that can be done. It would remove the need for education.
nxm 6 days ago 0 replies      
Get them a Chromebook - perfect for their needs and no yearly formatting required from my side
AlexeyBrin 6 days ago 0 replies      
You could limit his user rights, make him a Standard user and don't let him install new software.

Also, have a look at how suitable a Chromebook will be for his workflow (simpler to maintain from your perspective and harder to infect).

chrsstrm 5 days ago 0 replies      
I've started remapping certain file types to open with Notepad instead of the default. I covered all the .js variants but does anyone have a more comprehensive list of file types to address?
peterwwillis 5 days ago 0 replies      
Linux? Or a Chromebook.

They'll only be able to do like, two things with it, but at least Google has tools that replace most office-type apps. I'm going to say Chromebook is the slower but simpler solution.

Mz 6 days ago 0 replies      
I will suggest you put together some tutorials on some of the basics. Preferably keep them to one page and include screen shots.

You cannot protect people from their own ignorance.

knguyen0105 5 days ago 0 replies      
I have the same problem. For now, I use Firefox + adblock + noscript + public fox (to disable download and exe). Not fool-proof but it's enough
colemickens 5 days ago 0 replies      
I've never seen someone screw up a Chromebook and it takes less than 120 seconds to reset it to scratch and reload your profile.
elchief 6 days ago 0 replies      
I made myself admin and my dad a regular user so he'd stop installing malware. So he threw out his computer and bought another one...
shmerl 5 days ago 0 replies      
May be propose for them to use Linux. It should cope better. No lightroom for it though, but there are other good photo editors.
vgallur 6 days ago 1 reply      
If you are stuck on Windows or Mac you can try a program that restores the computer to a safe state on reboot, like Deep Freeze.
sandGorgon 5 days ago 1 reply      
Use Linux. Seriously. I installed Fedora 24 in my dad's PC and I haven't had a support call in 3 years.
dfischer 5 days ago 0 replies      
Get them iPads
egypturnash 5 days ago 0 replies      
Ditch the PC and get them an iPad.
akulbe 5 days ago 0 replies      
Another vote for a Chromebook.
amelius 5 days ago 0 replies      
Kids filter?
pikachu_is_cool 5 days ago 1 reply      
Get rid of Windows. Problem solved.
rcamp 6 days ago 1 reply      
I specifically wrote my book, Digital Survival Guide, to help address this knowledge gap in digital security and safety that our society has. However, education may not be enough for everyone and you may need to take a sandbox approach. Have them use a VM and expect to refresh it from a snapshot often. Check out my book, you and your parents will find many useful tips.


Ask HN: If you were to build a CRM today what would your stack be?
23 points by SnowingXIV  4 hours ago   54 comments top 27
tyre 3 hours ago 3 replies      
Hi! We're building a CRM for local governments (https://romuluscrm.com), in 2016, so I can tell you what we do.

Front end: We use Ember because of its balanced focus on progress and stability. The team behind it is solid and batteries are included.

Application: Ruby/Rails, Elixir/Phoenix. Rails is great for getting up and running quickly, and your problems with #scale won't be on the application later. Elixir (really Erlang's BEAM) is great at quickly spinning up/down lightweight processes that handle raw data. So if you want to build a CRM and, say, manage emails, then it could be a good fit. Or if you want to process a 1,000,000 row CSV import, etc.

Database: Postgres. Binary JSON columns give you flexibility, plus PostGIS for all of your geospatial needs. Structure as much as possible to take advantage of the smart people who have spent countless hours building a world class database. You'll appreciate their focus on correctness.

My overarching advice: push everything as far down the stack as possible. If you can do it in Postgres, do so. Data correctness is your life; better that your DB throws a fit than your application serving bogus data.

Happy to answer any specific questions!

(And I wouldn't be a YC CEO if I didn't take the opportunity to mention that we're hiring! http://seneca.systems/careers)

maxxxxx 3 hours ago 3 replies      
The stack is probably the least of your problems. A CRM usually needs to be highly customization so picking an architecture that allows for customization while still being maintainable sounds like the real problem. You can get this right or mess it up with most stacks.
traviswingo 4 hours ago 0 replies      
I always go with the stack that I'm most comfortable with, unless I'm using an existing stack at a company I'm working for. Learning a new stack because it's "popular" is a recipe for disaster if you're incorporating into a product you want to use or want to charge others to use. You'll spend time trying to figure out how to do things that you already know how to do in another stack.

Any stack will get the job done. Use the one that yields you a shippable product in the end.

My stack is ExpressJS, AngularJS, PostgreSQL, NGINX, DigitalOcean, Route53, PM2. And I fly through it.

d1ffuz0r 2 hours ago 0 replies      
I'd recommend you to watch this talk https://www.infoq.com/presentations/SalesForce-Multi-Tenant-...

I've been dealing with different CRMs recently (SFDC, Netsuite, MS Dynamics, AgileCRM) and I don't think tools really matter, architecture that will allow you to customize everything is the key for CRM

As my personal choice it would be (I'm a full-time Python dev)

* Java/C# (there's nothing really dynamic in crm, entities, fields, etc with different "name" and "display_name" for each customer, IDE would allow me to manage complexity)

* PostgreSQL (no NoSQL, CRM is all about relations)

* Vue.js

* ElasticSearch (with Kafka for replication from db)

* RabbitMQ for offline jobs

throwaway2016a 3 hours ago 1 reply      
Whatever one gets you to market the fastest with the features you need. Which is usually "what your team is most comfortable with"

For our team that would be Node.js with a React frontend, with probably MongoDB as the database, but every team is different.

As a side note: APIs are very important for CRMs, but as long as you design your API well you can swap out, move around, and refactor your backend as it makes sense.

danso 4 hours ago 1 reply      
Given that major companies have been built on what was not seen as cutting-edge stacks at the time of conception -- Facebook on PHP, Github on Rails -- maybe Rails could still be the sensible choice? RoR might itself not be fast, but on the upside, its community seems to be pretty forward-facing in building plugins for client-side tech, i.e react-rails [0]

[0] https://github.com/reactjs/react-rails

k__ 2 hours ago 0 replies      
I'm building a front-end stack at the moment as a private project.

The main parts are:

- type safety, in the hope that it speeds up development. TypeScript 2 is my main contender here.

- on demand module loading, so I can shrink the initial page loads, will go with Webpack 2, because it lets me use System.import() and automatically splits these imports into it's own files

- interaction flow control completely based on observables, because they compose nicely and with genertic types ease development quite a bit. Will go for Cycle.js (+xstream), because it's rather tiny and really everything there is an observable, data and UI, also it's written in TypeScript. Feels a bit like Angular2-lite.

- WebComponents based UI-widgets, because I think they should be independent from the rest of the application, don't know yet if I'd go for Skate.js or Polymer, maybe I'd even use custom components directly. But I like the Skate API much more than Polymer or the "native" API.

- data retrieval will be based on GraphQL with the hope that it will lower data-on-the-wire if the client has more control on that. I also hope that the GraphQL subscriptions (based on WebSockets) will integrate nicely with the observables. Apollo-Client is my fav here, it's framework independent and written in TypeScript, too. I'll probably use their GraphQL-server, too.

Every part is pretty much independent of each other (besides everything being written in TypeScript, haha) so I think I can use parts of it in future projects.

Server side rendering would be a nice to have, because it would enable the basic app functions on clients without JavaScript.

bdcravens 3 hours ago 1 reply      
Why does it need a client-side framework? There's a class of apps where that makes sense, but it feels like more and more that's becoming a default at the expense of complexity and time to market.
merb 2 hours ago 1 reply      
We used Scala, AngularJS and PostgreSQL. Actually except AngularJS we are really really happy. Everything is fast and the development speed is ridicoulus, especially calculations and performing operations on big lists are extremly good in Scala.Actually we are probably introducing Redis (actually we use Akka-Cluster for PubSub) however we think that with Redis we can even be faster and Cache our stuff better.

For our JavaScript stack we will also look into ScalaJS and/or Vue.JS, React and Ember, but at the end we probably handroll our own at this stage, since our feature set is really different from what these provide (we don't need any mobile stuff, really...), at the moment we have zero mobile clients and we looking to build an app for a small inventory service, but thats all.

geebee 2 hours ago 0 replies      
This is a big question on everyone's mind right now. "What stack should I use" is always a big question, but sometimes web development goes through a particularly notable state of uncertainty.

Although there are a lot of different tech stacks, I think that most of this boils down to SPA vs integrated views with some javascript. In the rails world, this generally means either Rails plus jQuery, unobtrusive javascript, coffee script, and so forth, vs rails-api and Ember (or another javascript front-end).

Right now, I lean more toward the integrated views than most of my fellow developers. Very few people would take an always/never position on single page apps, so this generally boils down more to how far people want to take them. Some are more eager to apply them in a wider range of scenarios than others.

I personally lean toward the integrated view approach, and I advice caution around SPAs - in my opinion, very much an opinion here, I think they add a lot of complexity compared to the integrated approach, and are still in a state of flux. If what you are writing really is mainly a set of forms that you'd like to enhance a bit with automatic page refreshes, drop downs, drag and drop elements, autofill and so forth, you may want to stick with a more stable stack that isn't evolving as rapidly as SPA javascript frameworks.

There are situations where you can find yourself in a real mess with an integrated view, that would be far easier to manage with Ember or another javascript framework, keeping your backend logic in a relatively simple API. Not sure if that's going to happen in a CRM - they tend to be pretty form-ish apps, but perhaps that's because up to now, difficulties with javascript have led us to think of them that way. The rapid evolution of JS frameworks may, for all I know, have opened up an opportunity for serious innovation here.

One other thing - remember that it is relatively easy to expose a rails method as an API even in the absence of rails-api. My guess is that this is true of most integrated frameworks that provide a view tier. You won't be locked into an integrated app provided you keep logic out of those views! You should be doing that anyway. Also, make sure your tests don't rely exclusively on the views to verify logic that isn't in the view (again, you shouldn't be doing this, but I've seen it a-plenty). That'll keep you flexible enough to transition away should you want to at a later date.

Good luck!

sachinag 2 hours ago 1 reply      
If you want to be super successful, you build it on Salesforce. Full stop. Two - two! - different vertical CRMs (ServiceMax and Veeva) have BILLION dollar valuations built entirely on the SFDC stack.

It'll answer all technical questions, make it easier to hire, and make it easier to fundraise. Oh! And easier to get customers.

Then think about how people get info into your system - if its email, use Nylas (it's gonna be email to start). If it's voice, use Twilio. If it's directly, then abstract all the complexity and use the right terms for your market.

I don't work for Salesforce, I never have in the past, and I barely use it now. But choosing anything else is nuts.

kyriakos 3 hours ago 0 replies      
For a CRM the database is probably more important than the programming language / framework.
neeleshs 3 hours ago 0 replies      
If you want a specific CRM solution for your company, anything that your are comfortable with is fine. If you want to make it a platform, and a generic CRM solution that other companies can use, you need to think about APIs, security, customizations (custom entities, custom fields, relations, customizing UI), multitenancy (if you want a hosted solution). The list goes on.

If latter, I would probably choose vuejs/Play2/MongoDB. (Replace Play2 with RoR or Django or anything else).

goddamnsteve 2 hours ago 0 replies      
1. Ruby on Rails

2. ReactJS

3. Foundation for Rails

4. MySQL

This is literally everything you need to get it off the ground as soon as possible.

This is what has helped me build Allt.in (https://allt.in) and UnderstandBetter (https://understandbetter.co/)

jasonwatkinspdx 3 hours ago 0 replies      
Given that the bread and butter of CRM is lots and lots of CRUD ui, often showing the same data organized different ways, I'd immediately do a spike on using relay/graphql along with your team's preferred backend technologies. I haven't built an application this way yet so I'd love feedback from anyone who has. My assumption is that investing the effort in getting graphql going would pay dividends.
warpech 2 hours ago 0 replies      
Shameless plug (I am one of the devs):

Starcounter (http://starcounter.com) is an in-memory application platform, which is comprised of an in-memory database (ACID-compliant) with a built-in app server.

You can compose a complex business system out of small apps (micro apps if you will). Apps don't pull the data from the db - they run in the db. Multiple apps that run in the same db share the data in real time. Our first clients are retail, CRM and advertising tech.

From dev perspective, we like to call our approach "collapsing the stack". There is no ORM. Your code classes become the database tables. You can use our (Web Components based) approach to create thin client HTML views that bind to the data using JSON Patch. This saves you from running huge amounts of glue code, which is typical for traditional software stacks.

Right now we are on Windows/C#. Linux and macOS is coming next year. Other languages will follow.

cwyers 3 hours ago 0 replies      
If you have to ask a question like that, you probably shouldn't be writing your own CRM.
pasta 3 hours ago 1 reply      
Whatever you choose: for a CRM it's great to separate front end from the back end. So build a very good (REST) API, because CRMs tend to be connected to a lot of other systems.

Edit: looking at what you already considered, maybe: back end: Ruby, front end: VueJS

neverminder 3 hours ago 0 replies      
Angular 2 or React front end, Scala / Play Framework 2 / Postgres backend for some serious scalability.
benologist 2 hours ago 0 replies      
The best stack is most likely the last one you shipped a finished product with. Every time you double down on that stack you're getting better and faster at using it, code quality improves etc.
gorbachev 3 hours ago 0 replies      
Personally I would look into using graph based data models.

I'm not sure how universal it is for CRM systems to be all about who knows whom, from where and what's the nature of the relationship, but the ones I've been involved with certainly all were.

jamesmp98 4 hours ago 1 reply      
It seems your looking for something A) Simple but powerful, B) scalableThis is all my opinion, but I would take a chance to try out Vue.Js on the frontend. If you want to learn something a little different, Elm looks cool too.

On the backend, ASP.Net core is looking good to me. Although, Go and Elixir are picking up fast. Heck, ignore the haters and use Node if you want.

Finally, don't be scared to use something "old" like Java (EE or Spring) or even Rails (personally, I believe the whole performance fiasco is not as bad as you would think)

busterarm 2 hours ago 0 replies      
Vue.js/Weex or Elm, Elixir/Phoenix, Postgres, OpenBSD.
odonnellryan 3 hours ago 0 replies      
Reach out to me: odonnellryanc@gmail.com

I've built the framework to a CRM (Python and Flask) and I wonder how it'd line up with your needs. I'm not currently using it, as it needs a bit more work, but I'd love to talk to you about your project.

Entangled 3 hours ago 0 replies      
Swift from the metal to the clouds. Everywhere.
bronlund 3 hours ago 0 replies      
Check out golang!
jwatte 3 hours ago 0 replies      
The question is: Solving what problems, at what scale?

If you're a profitable company with a sizeable userbase, just buy Salesforce. It's clunky, it's expensive, but you can find contractors really easily to make it do whatever it is you want. Or you can learn the Salesforce platform yourself and build your final CRM on top of that. Welcome to enterprise IT!

If you're a scrappy start-up, or non-profit, with a small number of people to serve, you can use whatever you're most comfortable with. A single database (perhaps with hot replica,) a single application server (perhaps with load balancing for good measure) and you have everything you need. Use whatever you already know. PHP and Bootstrap? Ruby and Rails? Node and Angular? Doesn't matter.

If I were in the middle area -- successful company, lots of customers, but not actually at the point where I need the Salesforce behind-covering and easy contractor access -- then I would probably use React for the front-end GUI, and Haskell with Warp for the back-end services, hosted on top of MySQL or Postgres, with Redis for data caching, plus some scripts to make creating bread-and-butter tables/indices/queries simpler and less repetitive.Like the poster above, I kind of like having an "escape column" for "annottation data" stored in JSON, although it can simply be a plain TEXT. As long as you don't need indexing, it makes adding new columns easy even if you have a table that's too big to change online.

Ask HN: How Can I Get into NLP (Natural Language Processing)?
294 points by aarohmankad  4 days ago   42 comments top 32
gsingers 4 days ago 1 reply      
My co-authors and I wrote "Taming Text" (https://www.manning.com/books/taming-text) specifically for programmers (there is little math, mostly code) interested in getting started in NLP. The examples are a bit dated at this point (2013 publication date), but still applicable for someone getting started. Covers getting started, feature extraction and preprocessing, search, clustering, classification, string heuristics, Named Entity Recognition and finishes off w/ a simple Question Answering system. Examples are in Java. It is not an academic treatise.
erniedeferia 4 days ago 1 reply      
I have found these sources useful for learning and prototyping NLP:



NLTK is always a good starting point:http://www.nltk.org

I also wrote a 3-part article leveraging OpenNLP with Clojure:


If you're interesting in applying NLP without necessarily having theoretical background, wit.ai offers some really impressive features.

Course also offers a good course:


theCricketer 4 days ago 2 replies      
There is a great set of lectures by Dan Jurafsky and Chris Manning:https://www.youtube.com/watch?v=nfoudtpBV68&list=PL6397E4B26...

It would be helpful to have some background in Machine Learning. For a good introductory course with a mix of mathematical background, see https://see.stanford.edu/Course/CS229

NLP in the more modern systems is backed by deep neural nets. Here's a course on NLP using deep learning:https://www.youtube.com/playlist?list=PLIiVRB6G_w0i-uOoS6cDh...

deepaksurti 4 days ago 1 reply      
For initial learning, I would second NLTK with: http://www.nltk.org

You can also checkout https://github.com/vseloved/cl-nlp. It is an NLP toolkit in Common Lisp. Vsevolod the project owner is a great guy to work with. I had contributed with some minor bug fixes, tests, documentation more than a year back, hence the mention of Vsevolod.

You could also think on the alternative lines of contributing to an open source project in NLP and building an application on top of it. Talking to any such project owner for expected sample apps might help, as they can go into that project gallery and you get to level up your skills. Hope this helps.

smcameron 4 days ago 0 replies      
You're probably looking for something a bit more sophisticated than what I'm about to mention, but if you don't need anything too sophisticated (that is, if you can significantly limit the domain of the speech you need to be able to understand), you could do something like what I did for "the computer" on my star trek-like space sim Space Nerds In Space: http://hackaday.com/2016/06/08/talking-star-trek/

I used pocketsphinx (trained with specially limited vocab) for speech to text, my own home grown Zork-esque parser for "understanding" the text and generating responses, and pico2wav for text to speech for the responses. That's described in a bit more detail here: https://scaryreasoner.wordpress.com/2016/05/14/speech-recogn...

lovelearning 4 days ago 0 replies      
My recommendations, based on online courses and YouTube playlists I've taken:

- Coursera's old NLP course by Michael Collins, Columbia Univ. More of theory and concepts. It's discontinued now on coursera but the material is available at academictorrents. [1]

- NLP with Python and NLTK videos by sentdex [2]. Mostly programming, but with useful nuggets of concepts introduced here and there.

[1]: http://academictorrents.com/details/f99e7184fca947ee8f779016...

[2]: https://www.youtube.com/playlist?list=PLQVvvaa0QuDf2JswnfiGk...

hiou 4 days ago 0 replies      
NLTK[0][1] (Natural Language Toolkit) was fantastic as an initial resource for me. Because it's a self contained book and library, I found it to have a very smooth learning curve. There is some introductory programming stuff that you can very easily just skip in the beginning so don't let that turn you off initially.

[0] http://nltk.org[1] http://nltk.org/book

dksidana 4 days ago 1 reply      
https://spacy.io/ is one of the best library for NLP if you are using python
mrborgen 4 days ago 0 replies      
I did a one week ml stunt last year: https://medium.com/learning-new-stuff/machine-learning-in-a-...

I'd recommend starting with the Kaggle Bag of Words tutorial.

sandius 4 days ago 0 replies      
NLP is a huge topic, and the choice of materials pretty much depends on what you'd like to focus on. In my experience nothing beats a good textbook, especially if you do the exercises.

The classic NLP textbook is

* Jurafsky, Martin: "Speech and Language Processing" (https://web.stanford.edu/~jurafsky/slp3/) -- already mentioned here: a very solid overview textbook to give you an idea about the field;

Should you be interested in statistical NLP (even if it probably isn't as sexy as it used to be), the classic there is:

* Manning, Schtze: "Foundations of Statistical Natural Language Processing" (http://nlp.stanford.edu/fsnlp/).

andrewtbham 4 days ago 0 replies      
If you're interested in deep learning for nlp... I suggest at least some familiarity with these papers. It sorta depends on what task you want to use it for.


languagehacker 4 days ago 1 reply      
Take a look at Stanford CoreNLP: http://stanfordnlp.github.io/CoreNLP/

It's relatively fast (after model load time) and quite feature-rich.

joesmo 4 days ago 0 replies      
Check out Stanford's NLP libraries. We've been using those in production for years now. The documentation around it is not great, but the tools work well.
denzil_correa 4 days ago 0 replies      
Please read through the Handbook of NLP for a nice overview.


sundarurfriend 4 days ago 0 replies      
My suggestion is, in addition to using the videos and courses for background knowledge, to take up and work on a (non-homework) project, to truly explore the area.

For eg., Betty [1] is quite an interesting project with both real-life use and practical NLP considerations, and is looking for new maintainers. (I'm not affiliated, just interested in NLP myself and have been itching to get into betty for some time.)

If you like thinking about game design, there's also the option of Interactive Fiction [2], NLP-involving ones are called parser-based fictions I believe. A recent FLOSS podcast episode with folks from the IF Tech Foundation was pretty interesting and illuminating regarding this area.

[1] https://github.com/pickhardt/betty[2] http://iftechfoundation.org/frequently-asked-questions/

du_bing 4 days ago 1 reply      
Hi, some tools seem work fine with English, so is there any good NLP tool for Chinese? Hope for some advice, thanks ahead.
carljohan 4 days ago 0 replies      
Jurafaki and Martins Natural language processing is a great book covering a great deal pf topics in nlp.
garysieling 4 days ago 0 replies      
Do you want to use NLP in a project, or to dig into the state of the art?

The NLTK approach may be dated, but it is easier to approach as an engineer, especially if this is a hobby. It will give you a good introduction to problems in the space.

The math heavy approaches may give better results long-term, but it will be a much longer time commitment, but this is probably more appropriate if you're trying to find a job.

You can also do interesting things with a small dataset and the free plans of APIs like Watson. E.g., I'm working on a search engine for standalone lectures - https://www.findlectures.com.

joelhooks 4 days ago 0 replies      
We've just started adding lessons on this topic on egghead.io [0]

[0] https://egghead.io/lessons/node-js-break-up-language-strings...

dukakisxyz 4 days ago 0 replies      
Check out this curated list of resources dedicated to Natural Language Processing on GitHub: https://github.com/keonkim/awesome-nlp. Also this is a great blog for understanding the business and high level aspects of the technology: https://lekta.ai/blog/
noahshpak 4 days ago 0 replies      
I got into NLP through Chris Callison-Burch's class at the University of Pennsylvania (http://mt-class.org/penn/). Great meta resource for intro readings, background, and advanced methods.

This is the textbook for the course: http://www.statmt.org/book/

totalperspectiv 4 days ago 0 replies      
Has anyone read Language Processing in Perl and Prolog and have thoughts on it? I'm looking g for something that goes deep on theory, but has good code examples, and is preferably a book.


norswap 4 days ago 0 replies      
I have no particular expertise on the topic, but just in case you missed it, there is this Quora question: https://www.quora.com/How-do-I-learn-Natural-Language-Proces...

It points to NLTK as the framework of choice, and has links to a couple MOOCs and tutorials.

probinso 4 days ago 0 replies      
Start by finding a linguist. You can find one at your local university.

Let the linguist design your first project. It should be something that they don't know how to solve, but have wanted to know.

Don't worry about if it is feasible. Go to local data meetups when you have enough exposure to form your first questions.

JSeymourATL 4 days ago 0 replies      
Build up personal & professional contacts. Check out this group -- ACM Special Interest Group on Artificial Intelligence > https://sigai.acm.org/index.html
stass 4 days ago 0 replies      
Prolog and Natural-Language Analysis[1] is great from both theoretical and practical standpoints.

[1] http://www.mtome.com/Publications/PNLA/prolog-digital.pdf

elorant 4 days ago 0 replies      
I would suggest you start with An introduction for information retrieval. You can find a free version here:


shanwang 4 days ago 0 replies      
I'm going through the stand ford cs224D videos, only done 3 videos and they are very theory focused, lots of math equations. Any one know other good materials on NLP using neural networks?
edblarney 4 days ago 0 replies      
Watch the videos made by Jurafsky (Stanford) as a starting point.

They are quick. This will give you an overview of classical NLP.

From there, you can dig more where you want.

probinso 4 days ago 0 replies      
start a project with someone. write your own data scraper, and implement a model.
kylebgorman 4 days ago 0 replies      
I would not recommend NLTK (or its book) or Jurafsky & Martin, or Manning & Schuetze. All are insanely dated. Watch some Coursera lectures, check out a newer, non-academic, application-oriented text, or just build something.
lifeisstillgood 4 days ago 0 replies      
to the mods: vagabondjack's comment seems sensible, informative and well thought out but seems to have been de-duped in error.

Any chance of raising it out of grey-text territory?

Ask HN: How can I as a coder contribute to climate change?
14 points by Debonnys  2 days ago   26 comments top 14
FroshKiller 2 days ago 3 replies      
This isn't the first time you've posted this. Here is the response I decided not to post last time.

You will probably never write a magic thousand lines of code for this. You'll probably have a far greater impact if you do a few simple things we should all be doing anyway:

* Turn off lights you aren't using.

* Turn your air conditioning up or down by a few degrees.

* Turn your water heater down a few degrees.

For computer-specific stuff:

* Don't leave computers running when not in use.

* Dim your displays.

* Use your laptop's battery rather than leaving it plugged in all the time.

I know it's not exactly interesting stuff, and it certainly doesn't build your CV, but neither of those things is actually important when it comes to climate change.

kogir 2 days ago 5 replies      
The biggest impact most people can have on climate change is not having kids. Think of all the energy they'll use in their lifetime(s). You can prevent all of that.
shoo 1 day ago 0 replies      
Here's one way to think about it: as an individual, changing your behaviour will have essentially zero impact upon global climate change, if your change is independent of other people's behaviour.

I reckon the only way to have any substantial impact is to influence others to change their behaviour / help drive political and economic change.

* our global economy needs further regulation to bake the cost of externalities (CO2 pollution) into the economy. Without a carbon tax or similar mechanism we get what we have today: polluting activities (on both supply / demand side) are effectively subsidised, so there is no incentive not to do them. We need to lobby for this.

* some in the climate movement talk about the "climate emergency" and want to phrase the response as some kind of world-war era national economic mobilisation. I think this makes sense, but this will only happen politically if a majority of the population think there is an emergency.

* someone else in the thread has already mentioned Jevons paradox - where improving the resource efficiency of a process in a market can result in an increase in overall consumption of the resource. Separately from that I think demand reduction should be a clear win. What can you do to reduce demand for energy?

peller 2 days ago 0 replies      
To actually understand what we as individuals can do, I recommend reading the Sustainable Energy book.[1] It's free online.[2]

As a developer, you can educate and help people conserve energy. Heating and cooling are enormous culprits. Learn to be comfortable at 60-65 in the winter, and 75-80 in the summer. Transportation is a big culprit as well. Buy a bicycle and use it for everything under 10 miles. Of course green technologies are helpful, and I don't mean to discount them, but the reality is that our cultural attitudes towards consumption are just as much of the problem.

To visually see what I mean, check out this graphic from the book: http://www.withouthotair.com/c18/page_109.shtmlThe red bar on the left represents a typical Britain's consumption (which, mind you, is statistically less than the typical American's). The green bar on the right represents the pie-in-the-sky most insanely optimistic output of all the green technologies. Like, if they covered the entire country in solar panels and surrounded it with windmills and tidal power. It's basically a completely unreasonable estimate of the top-end of green energy production, and it doesn't even match the consumption bar.

[1] http://www.goodreads.com/book/show/4070074-sustainable-energ...

[2] https://www.withouthotair.com/

musha68k 2 days ago 0 replies      
Hi there,

check out Bret Victor's essay "What can a technologist do about climate change?" if you haven't read it, it's very good:


Discussion on HN:


nwrk 2 days ago 0 replies      
Here is a list which apply to everyone [1]

You can also stop buying products from most damaging companies [2]

[1] http://www.un.org/climatechange/take-action/

[2] http://www.sciencemag.org/news/2016/08/just-90-companies-are...

cathartes 1 day ago 0 replies      
In all seriousness, why not find a job working on web apps or databases that enable climate researchers? Or even wildlife biologists studying the impacts of climate change on biodiversity? There is no shortage of technical challenges in these fields, but there is a dearth of technical expertise to surmount them.
afarrell 2 days ago 0 replies      
Make videochat work reliably so people don't need to get in airplanes to conduct business across continents.

Make it easier to model genetic engineering so we can produce crops with less use of the Haber-Bosch process.

Make public transit easier to use.

Make it easier for people to coordinate life without a car.

Make inexpensive FLIR cameras for people to find leaks in their home insulation. NOTE: if this becomes widespread, it will be legal for police to use those same devices to look into people's homes.

wreath 2 days ago 0 replies      
You can look for companies that leverage technology to reduce climate change. I worked for Ecosia.org and they did exactly that.
posterboy 2 days ago 0 replies      
I heard bitcoin was nothing but a contribution to climate-change /s
Tomte 2 days ago 1 reply      
Please don't.
nickpsecurity 1 day ago 0 replies      
If you want to contribute to climate change, I think you should push for more JavaScript/J2EE/.NET apps, 4K streaming, Big Data frameworks, mainframes, and proof-of-work blockchains. Make sure people build them in areas that generate electricity with non-renewable resources. Avoid any energy-saving tech in the datacenters, offices, or your home.

If you want to reduce climate change, I think you should just follow FroshKiller's advice. You might also evangelize solutions to the public and politicians that provide decent compromises with reduced pollutants. You should also pay campaign contributions to politicians most likely to do that as this counts more than ten thousand opinions from voters. These will collectively probably achieve nothing given industrial nations overall don't care about climate change vs money, jobs, and disposable goods. You'll at least be doing your part.

joeclark77 1 day ago 0 replies      
Burning some old tires in the backyard ought to do it.
Mz 1 day ago 0 replies      
Ask HN: Any good resources for finding software jobs abroad?
364 points by kevlar1818  5 days ago   224 comments top 58
bendmorris 5 days ago 6 replies      
A man was walking along a river bank when he saw another man on the opposite side. "Hello!" he called out, "how do you get to the other side of the river?"

The man called out in response, "you are on the other side of the river!"

erikbye 5 days ago 3 replies      
Norway: http://m.finn.no/job/fulltime/search.html?occupation=0.23&fi...

281 java positions, 182 c#, 91 c++

New ones coming in every day.

There is a lot of demand here for skilled developers, most positions are not for startups, but established business.

Software developer salary is typically lower than in the US, but then again, cost of living (as far as apartment rent goes(in Oslo)) is lower than in SV. C#/Java back-end salary usually range from 600,000 NOK (73 188 dollar, at the low end, not much experience, poor resume) to 1,000,000 NOK (121 980 dollar, senior).

The average developer salary in Oslo is at 106k (dollar). National average is 82k, most attractive jobs, and salaries, tend to be in Oslo.

chill1 5 days ago 6 replies      
You could try freelance work for clients remotely. That would give you a lot of freedom to choose where to live.

I am an American living, working (as a freelance programmer) in Czech Republic -- good economy (especially Prague), low crime rate, low cost of living. Happy to answer questions.

sreejithr 5 days ago 1 reply      
The country you currently live in defines what this "Abroad" is. At least specify if you're American or non-American.
mrborgen 5 days ago 0 replies      
The company I work for, Xeneta (startup in sea freight industry), is hiring developers in Norway:https://www.xeneta.com/careers

Otherwise, apply for jobs in Norwegian startups through this site:


kirushik 5 days ago 1 reply      
We at SUSE Linux will be happy to relocate all the suitable specialists (development, QA, support, management... 66 positions are open) to Germany or Czech: https://jobs.suse.com

You can filter by location, we have a couple of positions in Provo, Utah as well...

jrockway 5 days ago 3 replies      
You still have to pay for Trump's wall.

For me, it's not worth moving. I was born here, and as a result I'm somewhat responsible for the actions my country takes as a whole. Moving doesn't change that. The grass looks greener on the other side, but other countries aren't really doing that well with human rights, LGBT issues, affordable housing, or constitutionally-protected free speech. No matter where you move, you're trading one bag of shit for another.

It's weird.

lacampbell 5 days ago 1 reply      
I'm curious too. I live in New Zealand. How can I get a software job abroad - say in the United States?
zemanel 5 days ago 0 replies      
I've found a job abroad (im from portugal) twice, once in UK and recently netherlands, both through LinkedIn Jobs (coincidently or not). Had other contacts through HN Who's Hiring posts as well.

Ps: SanomaNL is hiring in the Netherlands (senior fronted/backend python but Golang is creeping up/devops): https://github.com/sanoma/jobs/blob/master/README.md

afarrell 5 days ago 3 replies      
I recently made the move (US->UK) and am happy to give people advice. My email is in my profile.
zwetan 5 days ago 1 reply      
I think the problem is not about finding resources but about culture of the country and their work culture

I'm French, long time ago as long as I was looking from France to work in the UK, about 9 out of 10 recruiters ignored me.

Once I landed in London and did the same search of jobs, interviews piled on me.

I'm not saying you can not find anything from remote and online, just saying it seems much much easier to find something once you are already in the country.

smcl 5 days ago 0 replies      
If you're interested in moving to Switzerland then the lad who wrote the post below is semi-frequently on HN iirc. I had a brief email back-and-forth with him which was pretty useful and informative (though I ended up staying put).


jiahen 5 days ago 2 replies      
This is a good resources if you want to work in Asia. https://www.techinasia.com/jobs
mattnumbe 5 days ago 4 replies      
I recruit in Japan and we use DaiJob, Indeed, and GaijinPot. There are also quite a few on linkedIn (they seem to pay a lot better as well)
timClicks 5 days ago 0 replies      
The standard website for New Zealand listings is seek.co.nz.

If you are interested in the startup scene, the best recruiters would probably be Talent Army

slimano 5 days ago 0 replies      
If you're looking for a job in Paris, Lyon, London or Berlin -> https://www.talent.io/

Just signup, get a call with a talent advocate so they know what you're looking for, and as soon as the next monday you're in. You will receive from 5 to 15 tailored job offers in less than 2 weeks. That's the easiest way around.

themckman 5 days ago 0 replies      
I was able to find a job rather quickly on berlinstartupjobs.com if you'd like to consider Germany as an option.

Germany is a rather good option for working abroad as getting a visa is pretty easy if you have a college degree and make a certain amount of money. They're pretty liberal about handing out something called the EU Blue Card. That's what I had when I was over there. You don't even need to do anything before you get there. All the paperwork happens when you're in the country. The trickiest part of the whole process is making sure you end up at a place when you get there that you can register at with the local government as you have to show your registration confirmation as part of the Blue Card process. If you can get registered and receive mail wherever you stay initially everything is pretty easy.

xando 5 days ago 0 replies      
https://whoishiring.io has jobs aggregated from few sources including Hacker News Who is Hiring thread.
planetjones 5 days ago 0 replies      
For EU citizens you could just go on Jobserve.com and find an IT job in the UK or Switzerland (or maybe else where) that interests you and apply. Many jobs will only take people with the right to work, but there may be others who would sponsor a permit from outside the EU.
lifeisstillgood 5 days ago 0 replies      
In Europe simply buy a train ticket and go.

I am assuming however this is leaving the US for ... not-US locations

My suggestion would be to stay where you are, look for remote work opportunities that will give you the ability to losslessly change jobs until you found the work culture that suits.

And it also gives you opportunity to get involved in your local or state politics where you can make a genuine difference.

Just as Europe has a free-to-move labour force (for now!) the US has strong and increasingly independent States that look more and more like the engines of progressive change. California just approved marijuana for example.

Let the countries of the world deal with any changing trade and defence agreements. It's why they have diplomats.

NB - I am not meaning to be as patronising as I may be coming across

sean_patel 5 days ago 0 replies      
I found a couple that seem ok. They let you filter by country and job type.



s_dev 5 days ago 0 replies      
I made this for anyone looking to become a dev in Ireland: https://www.reddit.com/r/DevelEire/wiki/index
binoyjohn 5 days ago 0 replies      
Indeed.com of the specific country is the easiest way to find open positions in your target country.

Easy Expat < This site contains international classified advertisements, discussion forums, and job listings for expatriates all over the world.

koevet 5 days ago 0 replies      

Very good for medium-long term consulting gigs in Europe

petethepig 5 days ago 0 replies      
Hacker News?"Who's hiring?" & "Who wants to be hired?" posts every month.
mlent 3 days ago 0 replies      
I have written a bit about working abroad, working remotely from abroad, and how to emigrate to germany and finding jobs in Berlin. Let me know if you find any of this information useful!


Specifically, this posts on working remotely from abroad, but most of the resources listed also have jobs in-person, too.


hitcontract 5 days ago 0 replies      
There is a platform https://hitcontract.lt/ for IT jobs/contracts in Scandinavian and Baltic countries. If registered you may get all the projects that suits your skills and experience precisely. Also, project managers can invite you to their projects. It's absolutely free for Developers. Please have a look.
paulus_magnus2 4 days ago 0 replies      

They will start you just about any Western Europe country on your first job / contract. After that rely on your network as agencies advertising there are not 1st tier in the supplier chain

soci 4 days ago 0 replies      
All Startup Jobs in Barcelona (Europe) here:www.jobsbcn.com

Startup Jobs in Madrid here:www.jobsmad.com

lazerwalker 4 days ago 0 replies      
If you're upset with the way things seem to be going with US politics, I would urge you to not flee and look for a software engineering job in another country, but rather look for domestic software jobs that will put your skills to good use.

Maybe this means civic tech organizations like Code for America that explicitly work on public sector projects. Maybe it means working for a political advocacy group like the EFF, or someone working on privacy-related projects to help protect our civil liberties. Either way, helping improve things domestically seems like a nobler option than running away.

pcurve 5 days ago 5 replies      
Are there any country outside U.S. that pay more for software job? I've looked before, but I didn't find any, so you'll have to figure out a way to quantify quality of live improvement in dollar figures.
coolvision 5 days ago 0 replies      
https://jobbatical.com/ is great, not just for short contracts, i found an amazing permanent job with it.
mutru 5 days ago 0 replies      
StackOverflow Jobs site is used quite a bit at least in Europe. https://stackoverflow.com/jobs

It's relatively easy to Google for expat websites for any specific country. The salaries are generally lower, but so is the cost of housing.

Our company Smartly.io is also hiring. 3-year-old startup, 100 employees, 30+ engineers, profitable, some real scalability issues to be solved (already 200+ servers), and based in Helsinki. :)

binoyjohn 5 days ago 0 replies      
Any specific country ?Even though there is huge shortage for skilled IT labor in USA, you have a better chance of finding another job in Australia / New Zealand region.
SundayInJapan 5 days ago 1 reply      
If you are interested in AI and want to work in an international environment in a startup in Japan, this company (in which I work) is probably your best bet: http://www.reactive.co.jp/home-en

We are focused on AI and deep learning, and we are hiring research scientists, research software engineers, devops engineers, etc.

slimano 5 days ago 0 replies      
If you're looking for a job in Paris, Lyon, London or Berlin -> https://www.talent.io/

Just signup, get a call with a talent advocate so they know what you're looking for, then you'll receive from 5 to 15 tailored job offers in less than 2 weeks. That's the easiest way around.

askedrelic 5 days ago 0 replies      
Yelp is hiring backend/fullstack engineers in Hamburg, Germany. https://www.yelp.com/careers/job-openings?location=Hamburg%2...

I moved here last year, as an internal transfer. It's been pretty good overall.

jakub_g 5 days ago 1 reply      
Came across this lately for DE/NL jobs:


Also StackOverflow Jobs has a number of openings across whole world, many of them with salaries.

However some big companies with lazy HRs mainly put job offers on their own websites and nowhere else.

felipebrnd 5 days ago 1 reply      
Many companies in Europe: http://landing.jobs
sylvainkalache 4 days ago 0 replies      
There is such thing: www.techmeabroad.com

It only lists Tech job offers from companies willing to recruit internationally and to sponsor working visa if necessary. It's free. I co-created that website. Enjoy :)

jsingleton 5 days ago 0 replies      
I'd firstly pick a country and then look at job boards for that location. For example, assuming you mean abroad relative to the US, then I run https://cleanwebjobs.com, which is mostly UK based.
beatricek 5 days ago 0 replies      
I'm with a MarTech company based in Berlin and we're having a few vacancies atm.

We're also happy to support with relocation.


pimeys 5 days ago 1 reply      
We're looking maybe one or too developers to a senior team in Berlin. C++/Clojure/Rust.
gnipgnip 5 days ago 0 replies      
How are the immigration processes in various countries ?

US is awful visa-wise, considering that much of the cap is filled up in a day by Indian body shops; ensuring thus that one can at best start in October, and set out on this magical journey 6-12 months ahead.

ibrotzky 4 days ago 0 replies      
We can help, www.vanhack.com, our focus is helping international tech talent get jobs in Canada.

Check out our jobs board: app.vanhack.com/jobboard and shoot me an email with any questions: ilya@vanhack.com

deeteecee 4 days ago 0 replies      
When I worked in Japan, they did already have job search boards setup for software developers setup (forkwell.com). I would imagine some of the other countries might have something similar.
mabbo 5 days ago 0 replies      
Someone should post a 'Who is Hiring Outside of America' thread.
Poleris 5 days ago 0 replies      
I'm part of a recruitment firm that specializes in overseas jobs, mostly Asia as we're based in HK. (Our name is Terminal 1 even.)

Please contact me (email in profile) if you're interested in moving out here.

Gabriel_Martin 5 days ago 0 replies      
I'm looking now too.
carlchenet 5 days ago 1 reply      
If you're looking for a job in France (only in French though):https://www.linuxjobs.fr
catwell 5 days ago 1 reply      

Seriously, ask your social network contacts in the countries that interest you. Demand for good developers is high everywhere, odds are there are openings at their companies.

Don't just go and browse job offers on random websites, that's inefficient and a lot of good offers are not there anyway. Another option would be to subscribe to something like https://www.talent.io/. Or, if you know some, just get in touch with headhunters in the country. They often have very good offers nobody knows about.

rudyrigot 4 days ago 0 replies      
TechMeAbroad is a website that is basically what you're asking for.
Pirate-of-SV 5 days ago 0 replies      
For Sweden: LinkedIn and Stack Overflow Careers will take you pretty far in the job search.
rifung 5 days ago 0 replies      
My girlfriend found a job in Sydney when we were living in the US through Hired
dorianm 5 days ago 0 replies      
Who is Hiring posts offers jobs for a wide range of countries
monster2control 5 days ago 0 replies      
No real reason, other than Trump becoming our next president maybe?
hemulin 5 days ago 1 reply      
Sanddancer 5 days ago 4 replies      
Blockchain for Personal Data Licensing
4 points by parhaminc  1 day ago   2 comments top 2
usgroup 9 hours ago 0 replies      
None that I know of. Not sure the "blockchain" bit here matters much as I don't see how "proof of ownership" matter. More important is the fidelity of the data and that it can be packaged with other data. Companies like Kantar have representative panels (paid volunteers) with installed internet and tv monitoring, known household demographies, which fill in surveys, etc. Maybe worth having a look at things like that.

Data under experimental conditions is still very valuable. The sample size need not be that big before it's useful when you're not having to guess at everything.

nnn1234 1 day ago 0 replies      
Great Idea.This is the source for DRM. If there is a way to not allow copying of digital Assets while allowing distributed access, then blockchain tech comes very close to this. If successful this can be very profitable.So slight modification to your usecase, you can prove you are the original owner of a digital asset by hashing it and putting it on a distributed ledger. You will not be able to however proactively give out access to said asset unless you control how that asset is measured and given to you in the first place.So this would be akin to proving you own the asset and use the blockchain as a distributed DMCA.There is this NYC startup funded by Joanne Wilson doing something similar with art. That could be a start
Ask HN: What are good resources for studying Dynamic Programming?
21 points by aalhour  2 days ago   8 comments top 7
lambda_func 2 days ago 0 replies      
Watch Erik Demaine's dynamic programming lectures in this playlist: https://www.youtube.com/playlist?list=PLSX2U_ZE4Huk19DPn34oZ...

I learned a lot from them, he gives a methodology and some rules of thumbs for approaching DP problems, which I found very useful.

shoo 2 days ago 1 reply      
CLRS "introduction to algorithms" has a bit on it. Some quite versatile graph algorithms e.g. A* are dynamic programming. From memory some project Euler problems are pretty approachable with dynamic programming, but these are abstract without any applied context.

I had a bit of fun years ago writing search algorithms to find profitable trade routes in Eve online, from memory that was largely based on some strange variation of A*, perhaps you can find some entertaining application like that.

Worth also checking out out some operations research / combinatorial optimisation problems. E.g. one of the simplest problems to tackle with dynamic programming is knapsack.

If you learn linear programming there's also some combinatorial optimisation problems that can be tackled by integrating an LP solver with a custom dynamic programming algorithm. This can be used in a technique called "column generation" where in this context "column" in jargon for a decision variable. You start with an initial set of decision variables and do an LP solve, then get the dynamic programming algorithm to search to find a new variable that can produce a better solution (incorporating information about the prices of constraints from the LP dual solution). Then you plug that new variable (if there is one) as an additional decision variable in the optimisation problem and solve the resulting LP again, getting an improved solution. Then repeat with the new dual prices, iterate until you hit a fixed point. Is applicable for certain problems that can be modelled as LPs where there are very large numbers of decision variables (e.g. > millions) but only a sparse subset are non-zero in a good/optimal solution. I think the classic application of this approach is the "cutting stock" problem.

yogeshp 2 days ago 0 replies      
I found lectures on DP by University of Virginia Prof Abhi Shelat to have best explanation of DP



If you need to understand specific DP problems that are common in competitive programming and interviews, then you should check out Tushar's channel at Youtube


jdale27 2 days ago 0 replies      
I second the recommendation of CLRS. Another good source of applied examples is the bioinformatics literature. It may be a little tough if you don't have much background in genetics, but a lot of the basic algorithms in computational biology are essentially dynamic programming algorithms that analyze strings over the alphabets of DNA or amino acids. One of my favorite books, which is a classic and (I think) is pretty approachable for the non-biologist, is Biological Sequence Analysis by Durbin, Eddy, Krogh, and Mitchison.
wilbertliu 2 days ago 0 replies      
Practice on online judge helps! You can go to http://codeforces.com/problemset/tags/dp for instance. There are people that could help you also. Just solve and ask if you don't get it. Hope that helps.
FullMtlAlcoholc 1 day ago 0 replies      
The Needleman/Wunsch algorithm for DNA sequence alignment is a great practical example for learning dynamic programming: https://www.youtube.com/watch?v=vqxc2EfPWdk
Ask HN: Have you ever thought of leaving programming for something else?
387 points by dvrajan  6 days ago   547 comments top 173
david927 6 days ago 16 replies      
I currently work in a good environment where I'm appreciated and paid well. Not many people in the world can say that, so I have a lot to be thankful for. Programming has done good by me.

But I don't love it. Alan Kay is right, it's like building "an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves". There's no elegance and no higher vision. It's an Asperger profession; smart but artless.

I would prefer, if I could retire, to make short films and maybe to write plays. But I can't retire yet. So I'll push stones. It pays well.

clentaminator 6 days ago 7 replies      
I think about leaving programming every day. I love programming, but I'm not sure I enjoy software development as a career.

I enjoy coding and understanding how computer systems work, but I don't care for the constant changes in tools and techniques in certain domains of development. I'd rather practise with and improve my existing knowledge of a subject, instead of constantly playing catch-up with someone else's tools and workflow. I also don't care about waterfall, agile, scrum, kanban, scrumban or any other development methodology that I've missed. I hate that my job has me chained to a desk (sitting or standing) instead of being able to use my body. All of this makes me think that real-world software development doesn't really suit me.

I'm about six weeks into a new job after leaving a company I worked at for just over five years. Amongst many other reasons for leaving, I thought that a new environment would change how I felt about continuing a career in software development, but I'm not sure that it has. I'm aware of how lucky programmers have it, but I can't help feeling like I just want something else. Grass is always greener, etc.

What are the career options that allow one to work mostly by oneself in one-to-two week stretches without having to play the development workflow game with the daily standups and so on?

Sadly I'm not sure what I'd do if not programming, but music is a big interest and I'd considered teaching music.

tl;dr Woe is me ;)

themodelplumber 6 days ago 2 replies      
Thought about it, and then tried it. I followed my dream and started a creative project that had been dogging me for a long time. EVERYBODY wanted me to do it. Family, friends, people on the street with whom I discussed it. I expected it to be a big moneymaker. And it didn't work out. Not only that, but it became very clear that it was a really poor fit for me on a fundamental level.

I'm glad for the experience, though.

Going back to programming, here's what I figured out:

- I was working on stuff I didn't enjoy, with people I didn't particularly care about.

- I was taking on new work projects without any particular selection criteria.

- I wasn't thinking about the kinds of work that got me excited about programming and chasing it down.

So I recently nailed the first two back into place. I'm working closer to my values system rather than paychecks. In exchange, I'm just saving more money so I have more freedom.

Anyway, burnout is real. I thought I was done for sure and that my interest in programming and computers was a thing of the past. But that was just the burnout talking.

It helped to keep a journal during this time. Not a chronicle, but a thought-dump process in which I asked if my life was actually improving daily. That made it pretty quick to pinpoint my frustrations, as you can only write about the same pains a few times before you start to really zoom in on the causes and potential solutions.

Good luck to you, however it turns out.

JaumeGreen 6 days ago 2 replies      
I left programming for dancing.

I'd been working at the same job for about ten years, and I started to work on a different group that made the same product with a never technology. I hated that, I found it hard to work in that and I wasn't that productive. Also I had some burnout, some depression, and not much to look forward to...

Except for dancing. I had begun some years prior and I became somewhat good, and I even began to teach.

Then an offer came, resign from the job for money was offered to all, I accepted.

For about two years I just gave classes and worked as staff. Unfortunately the money was not enough.

Then I started helping on the dance school's webpage. The money wasn't enough yet.

So I got a programming job and resigned from most of my job in the dance school. I just teach one hour a week.

I really lost my dream job because of money and not being good enough earn enough to life with that.

sean_patel 6 days ago 4 replies      
Programming is a creative art, and when I say that to my non-programmer friends, they laugh it off, but if you think about it, it is true.

Just like artists, the programmers, coders, developers all design and create new things that didn't exist before, and no 2 programs or applications or completely functioning code will be identical for anything other than a fizzbuzz type test.

So it is natural for the creatives to experience burnout and falsely interpret that as having lost interest in our craft / art. I went through this too at a fairly young stage in my career as I had accomplished a lot in 5 short years. I had the pedigree and training -- internship at Magnum Photos in New York -- so I tried being a War photographer like my Grandpa and traveled to Iraq in 2008. 1 week in there and I came running back. It was a fairly freaky experience.

You think you are there to document something big and consequential to the world and initially it is exhilarating leaving the cube and CRUD applications, but all it is for most part is an online newspaper or blog paying you a few $ per shot. Totally not work the risk. Plus the Radical Islamic Jihadis (ISIS) crossed a new line and started kidnapping and beheading journalists.

I also realized I didn't truly have the stomach for it. Imagine actually being on the scene at 1 of these photographs, and having the courage to shoot, only to find out the media (AP, Reuters) won't publish it. => http://www.theatlantic.com/international/archive/2014/08/the...( When Kenneth Jarecke photographed an Iraqi man burned alive, he thought it would change the way Americans saw the Gulf War. But the media wouldnt run the picture.)

Like someone else has stated here, we have it really cushy indeed. So don't get used to it and "itch" for something else. Just work on your side-projects, or learn a new language, or simply stop by to smell the roses and live a little.

Your passion will soon come gushing back and you'll start to wonder why you ever thought of leaving this creative, immensely satisfying craft in the 1st place!

WalterBright 6 days ago 1 reply      
I did consider a career as a lion tamer, but the vocational guidance counselor said I was an appallingly dull fellow, unimaginative, timid, lacking in initiative, spineless, easily dominated, no sense of humour, tedious company and irrepressibly drab and awful. So I decided to stick with programming.
JDiculous 6 days ago 3 replies      
Yes, I want to do something more meaningful than build and maintain web CRUD apps. Despite the media perpetuating this notion that there's a shortage of engineers, I actually feel that this field, particularly the web space (where most of the actual jobs are), is starting to get really saturated. And from a job security perspective, the barriers to entry are fairly low.

These days I'm most interested in economics and politics because I believe that our most important problems right now are in this realm (eg. poverty, job automation, healthcare costs, housing prices, college prices). The Javascript framework wars are laughably insignificant compared to these problems, yet unlike web development, there aren't enough logically-minded people really tackling these problems. Unfortunately there's probably no job out there that I could realistically obtain that would pay me to work on these problems, thus I'm just saving money for retirement and learning on the side.

oftenwrong 6 days ago 1 reply      
Yes. I love programming, but I really dislike how inactive I must be to work as a programmer. I don't like sitting/standing all day, and being chained to the computer. Short activity breaks, and workouts in the morning and evening don't cut it.

When I'm outdoors and active, I am so much happier. If I am on a multi-day outdoor trip to hike or rock climb, I feel like a completely different person. This is especially true on long trips that last more than a week. I have much less stress. I smile compulsively, instead of baring my usual strained expression. I have more energy. You might think at first that is simply because I am on vacation and I don't have to think about work obligations, but when I am on a normal (non-outdoor) type of vacation, I don't get the same feeling at all. I think it has more to do with the outdoor environment and physical activity.

I recently met someone who works as a park ranger, and I became envious of her job. I would love to patrol the woods all day as a ranger, or to be a mail carrier walking from house to house. I make much more money as a programmer, but "money cannot buy happiness", and I wonder often if I should change course.

SyneRyder 6 days ago 8 replies      
I'm mostly happy with programming, but I often think I'd like to try working in a coffee shop, especially a Starbucks. I spend so much time in cafes as a customer, and I really appreciate the difference that a barista's smile or greeting can make to my day. I'm curious to experience that from the other side for a while. I also read books about retail businesses & brands & Starbucks & customer experience for enjoyment, but I'm sure practice is wildly different from theory, especially at ground level dealing with customers for long hours.

But I've never tried applying, because I have no retail experience, and my work experience is mostly as a lone-wolf remote developer or indie developer (also I'm middle-aged now). Always thought I'd be laughed out of the interview. But I still think one day I'd like to try.

karmajunkie 6 days ago 0 replies      
I got kind of burned out after I got laid off at the tail end of the first dotcom implosionI'd stayed in a really toxic environment for a couple of years too long because things were rough for a junior/early-mid-level developer back then, at least in my market. So I spent several months depressed and unemployed before deciding to go back to school which ultimately led me to preparations to go to med school.

Ironically, I took a semester off and took a contract gig for a few months to pay off some bills and save up some cash, and that turned into a full time job writing software in the public health sector. I never did return to finish the undergrad, and have doubts I ever will, as my career in software has been about as good as medicine would have been when you balance the ten extra years of earnings against a slightly higher salary. The only reason I'd do it now would be to pursue a masters in something interesting.

I think if I had it to do over again I'd have probably just stayed in the market a little longer and skipped out on the student loans. I loved biology and medicine but i'd love to not be paying off the student loans too.

sprocket 6 days ago 2 replies      
I graduated with a degree in CPSC in the early 2000's and worked in the field for about 10 years before my wife and I moved to a more rural locale, bought a small herd of dairy goats, and started making cheese. It's a very different and difficult life, but on the whole is very rewarding.

The money will never be the same as working in tech, and you'll almost certainly have to scale back your lifestyle expectations. I still do remote freelance work in slower periods to keep cash-flow flowing, and to fund farm expansion as we grow.

Here's a fun video of my non-tech lifestyle: https://www.youtube.com/watch?v=fb0ur8cdOfY

More recently, I've been applying my past development experience to farming automation using Raspberry Pi's. I built an automated greenhouse controller last year and this year am working on a device to automatically mix and dispense milk replacer for all of the goat kids we have born each year. (You can of course purchase commercial versions of the projects, but it was a fun application of programming, while learning about the RPi and automation, which I'd never done before.)

abawany 6 days ago 0 replies      
After a particularly terrible period at a large e-commerce company that comprised of endless and useless meetings, stupid product plans to nowhere, psychpaths galore, brutal waste of shareholder vale, and enough process to make Hell seem desirable, I decided that maybe I was not cut out for the original passion of my life, i.e. development. I started to take evening classes in accounting etc. with the aim of getting a CPA. I also left the above corporate Hades around that time and found a situation at a quirky startup, where I realized that software development is truly what I love, particularly when unencumbered by process feces. Off by the wayside went the CPA plan and I went on to learn more things in a year at that startup than I had in many years at other places. I also realized that leaving something that I have loved and lived since I was 13 is a little difficult and that the things that were causing my disillusionment were not related to my passion but to various unfortunate diseases that have come to afflict my industry.
pjmorris 6 days ago 1 reply      
As we were driving to lunch one Friday, another programmer and I saw a backhoe in use, and started favorably comparing 'backhoe operator' to 'programmer': you get to work with heavy equipment, you can see the results of your work, when the day is done you go home and don't have to think about it. We laughed and cringed, as backhoe operator sounded like a better job by the time we were done.

For me, I can't do anything else. I'm sure I could learn something else, and I certainly get burned out from time to time. However, I find the whole development process fascinating, I still get a kick out of solving the puzzles and making things work, I am deeply gratified to see something I made help someone else solve one of their problems, and code is affecting more and more of the population for better and worse. There's no place I'd rather be.

There's a scene in 'Heat' where De Niro's criminal and Pacino's cop characters are talking about why they do what they do over a cup of coffee at a diner, and it turns out they're both compelled and couldn't do anything but what they do. I'm not sure what I'll do when the Butlerian jihadists or the twenty-something Angular developers come for me, and I have to go find something else to do, but I think I'll keep at it until then.

jamez1 6 days ago 3 replies      
Left to work in equities after 5 years of software dev. I find the work much more stimulating mentally, as you learn about the world and how business works, not just abstractions.

Luckily there is still a lot of use from my old skill set, and I suspect there will be more as time goes on.

mimming 6 days ago 1 reply      
After years of software, I discovered that my favorite part of the job was teaching stuff to my peers.

I started by dabbling in teaching:

- Mentored some high school robotics teams in the evenings- Taught night school / weekend classes as adjunct faculty at local universities- Shifted my day job from developer to developer advocate

And then a few months ago I took the plunge... sort of. I went on sabbatical for a semester to teach CS 101 full time at a small university across the country.

It's been a great experience, but it made me realize how much I miss programming. I really miss the intellectual growth that I get from working with professional software developers. I suspect I'll resolve the conflict by going part time in my day job, and picking up more classes as an adjunct.

Kiro 6 days ago 0 replies      
No, I started my programming career late and have had many different jobs before that. Programming is the only job where I don't loathe being there and constantly watch the clock for the day to end.

I think you should experience how horrible 99% of all other jobs are. Then you will truly appreciate what you have.

dbjacobs 6 days ago 2 replies      
Was a programmer and researcher in AI and security for 20 years. 15 years ago was feeling burned out and started looking for a financial planner for my family. I fell down the rabbit hole learning everything about the field and with the birth of my third child 14 years ago, I quit my job and opened my own business as a financial planner.

Programming and computer research went back to being a pure passion. And I haven't looked back since.

subinsebastien 6 days ago 0 replies      
I have been mostly happy with programming in my early days. Im now 28 years old, and been a programmer for the past 5 years. I mostly code Android apps, and sometimes server side code in Node/ExpressJS. For the past 1-2 years, I really want to change my career into more unique/niche fields of engineering. Programming, as I see it now, does not need a computer science degree or any degree at all, to do effectively. And people from other domains are getting into programming, and doing it a lot better than I do. I considered getting trained in Industrial Automation (PLC/SCADA/LABVIEW) and get into more mission critical domains, where I can work with lot of other Engineering domains as well. Another option I consider is to go for a masters in a niche engineering field. But as I analysed my thoughts, what I really (really) want is a unique engineering job, where the entry barrier for others is high. I don't have any idea if I could be a success in the new field. To conclude.

 - Programming is boring after a number of years - Programming is more of an art-form rather than engineering - Entry barrier for programming is low, so you dont have to be an engineer to do programming - Your programming skills plateau after a certain age - Your engineering mindset will be lost if continued in certain type of programming jobs.

dcw303 6 days ago 1 reply      
About ten years ago I took a year off to teach English in Japan. Within a couple of months I was dying to go back to development.

Trust me, even compared to other white collar jobs, you would not believe how cushy we have it.

gandolfinmyhead 6 days ago 3 replies      
Sadly yes. It's been very frustrating at times. I thought of becoming an environment artist for videogames instead.

Though OP hasn't asked for the following here goes, I feel the IT field has a lot of people wanting to change career paths, more than any other field because of the following:

1. Programming is an art, if not done right and assuming the product is in continuous development, will come back to bite you in the rectum like there's no tomorrow.

2. 99 percent of the industry is about shoving products out without any care for proper architecture or refactoring of any sort. Result -> feature addition/ bug fix times grow exponentially with time.

3. The IT field has no concept of overtime pay

4. 1 + 2 + 3 => loads of burnt out devs :-> people wanting to switch jobs regardless of how high paying programming can be

cygned 6 days ago 4 replies      
Call me crazy but I have always had this exit plan. If my business completely fails, I'd give away my stuff and live in buddhist temples, would visit Tibet, travel around and spend my days meditating and helping people.

Sounds like an insane idea, but as a Buddhist that would be a fulfilled life for me.

segmondy 6 days ago 4 replies      
A bit too late, but if I could do it all over again, I would have gone into health care. I have lot's of friend in the industry.

Ask them about their day, they just saved lives - heart surgery, brain surgery, trauma stabilization in ER, just saw a toddler through cancer treatment, and so on and so forth.

What did I do? Oh, I wrote code.

danaliv 6 days ago 0 replies      
Constantly. I considered shepherding. (Seriously.) I spent some time on a farm during lambing season, which is busy, and I enjoyed it. But it's incredibly hard work, and you really have to be 100% dedicated to it. Plus I like traveling, and it's extremely difficult to leave a flock for any appreciable amount of time.

I've thought about teaching (programming) too. My dad is a retired professor, and I entertain no delusions of present-day teaching careers being anything like those of his generation. Still, there's something appealing about even just teaching as an adjunct once I no longer really need the money.

Jeaye 6 days ago 1 reply      
I'm slowly working my way toward park ranger, though I've considered paramedic. Wood working also sounds interesting, and I'm great with my hands. Certainly, programming is my passion; having to do it under someone else's terms can spoil the deal though.
lucaspiller 6 days ago 0 replies      
I like programming, but I don't really feel satisfied working as a programmer. While in college I worked in a supermarket, I found that a lot more satisfying that what I do now - I don't really know why, but I think I just like dealing with people (although I'm quite an introvert, I can do it if my job requires).

As others have said programming is probably the lesser of all evils compared to other jobs though. I don't think there is any other profession where I could so easily get paid as much as I do, and work from pretty much anywhere on the planet.

My mid-term goal is financial independence. I'm 28 and should achieve that in the next few years (I'll probably take short-term contracts and then a big break between rather than quitting completely). I don't really have any other hobbies, so I'm not sure what I'll do then though. I wouldn't mind going back to university to study physics.

amerkhalid 6 days ago 0 replies      
I love programming especially solving difficult problems. But sometimes I fanatize about being a professional photographer or a writer. These 2 professions seem perfect to me. Perhaps because they provide freedom to work from anywhere, and be creative. When I was pursing these professions semi-seriously, almost everything around me was an inspiration or a creative idea; movies, driving, conversations, food, advertisements, etc.

About a year ago, I started portrait photography semi-profesisonally. I really enjoy photography but didn't enjoy the business aspect of it. And it was hard to coordinate with clients when you have a fulltime job.

A few years ago, I got serious about fiction writing, wrote a lot but could not write anything that I felt was good enough for anyone to see.

Now I am just focused on programming and enjoy photogrpahy when I have free time.

stunthamsterio 6 days ago 1 reply      
Writing. I love writing, I've published a couple of technical manuals and I'm currently submitting to various short story anthologies whilst working on another (Self published) manual. Writing leaves me happy and fulfilled and generally free of stress.

Trouble is, it does not pay the bills. I'm currently working very hard to pay off all my debt and once that's done I'll be taking up writing full time and leaving the tech industry behind.

Entangled 6 days ago 0 replies      
Code is clay. What you do with it can make you a Michelangelo or a bricklayer. Sometimes it can make you good money, sometimes it becomes tedious in the wrong job. Still if you pursue other economic means of production, code is always a way to express your imagination, a nice hobby to have.
manoj_venkat92 6 days ago 0 replies      
I love programming and am also part of a start-up developing a cutting-edge computer vision tech.

I have learnt a lot of concepts by learning programming that can be applied to many real world problems as well.

I desperately want to work in Renewable energy sector like Solar, Wind.

And the best part, my idol, Elon Musky Musk has applied the concepts that we programmers deal with in day-to-day life to producing machines that produce machines that are currently some of the best solutions to the problems like Global Warming, Energy storage & Electric cars manufacturing etc.

This part really gives me kicks. Even though, I think about leaving programming may be in 10 years(I'm currently 24), but the concepts I learnt are going to come in super-handy what ever Engineering things I'd like to do.

santaclaus 6 days ago 2 replies      
Mechanical Engineering -- I work through a different mechanics textbook once a year, or so, for fun. I think I enjoy the theory of how the physical world works more than the practice, which keeps me where I am. :)
skykooler 6 days ago 1 reply      
I'd like to do something that does not involve looking at screens all the time. As it is, I'm stuck with my one skill that's highly valued until I can finish paying off my loans.
stevekemp 6 days ago 2 replies      
In moments of madness I've considered both locksmithing and plumbing. Both are jobs that cannot be outsourced, and which SEO can be useful for.

That said I'm a sysadmin rather than a programmer, and I have no immediate plans to change.

One thing I would not do is become a photographer; that's my hobby (well that and rock-climbing / gyming), and I've seen too many people be burned by trying to become professionals. I charge money to shoot old ladies, hookers, and pets. But having to make a living from it would change how I viewed the subject and not in a good way.

mindcrime 6 days ago 2 replies      
A few years ago, I briefly considered going back to school, getting a degree in Exercise & Sports Science, and getting into athletic training. But in the end, I could never quite convince myself to do it, and the moment passed. I also flirted with the idea of becoming a private detective a couple of times in my life. I actually still find that idea somewhat interesting, but I doubt I'd ever make the money doing that, that I make in software. And here in NC the training requirements to become licensed are somewhat onerous, so I doubt I'll ever pursue it.
no_protocol 6 days ago 0 replies      
Anything involving pragmatic problem solving. Keep the mind occupied with varied tasks and satisfied by frequently delivering solutions. Skip the intricacies and subtleties of dealing with software.

There are so many people performing repetitive tasks who could benefit greatly from relatively small optimizations. I would be able to directly witness the impact of my work and make a difference on a personal level. It's hard to do this in software because the landscape changes so quickly.

It would also be super fun to practice apprentice-style learning in multiple fields and document/share everything.

gnclmorais 6 days ago 2 replies      
Every day. Im a bit jealous of all my friends with professions that dont require any of their free time. They can have all kinds of hobbies and spend their free time doing whatever they want.
uniclaude 6 days ago 1 reply      
I believe a lot of us here on HN would consider leaving programming for doing business. A lot (including myself) already did.

Programming being very often about solving business needs, sometime in your career, you might be in a position to realize that it could make sense to go higher up the chain and build a company.

tobz 6 days ago 0 replies      
I've thought about going back to school to get a Mechanical Engineering degree, or Chemical Engineering degree.

I grew up with my father being a machinist, and eventually going on to being a QA specialist for a large defense contractor, so I've be lucky enough to be able to learn a lot when it comes to machining and designing. Spitting out a 3D design from a printer is really cool, but nothing beats slapping a chunk of steel into a Bridgeport and ending up with a precisely-milled widget.

My wife is also an engineer at one of the largest (probably largest) physical testing companies in the world, and got her Chemical Engineering degree as well. There's constantly stuff she's telling me about, problems at work, custom things she's doing, and we get pretty deep into conversation sometimes about how to best solve the problems.

The money just isn't there compared to being a software engineer, but like a lot of people have said in this thread, maybe this is just a "grass is greener" thing: these problems that I can't work on just seem that more tantalizing than being the person who is actually dealing with a backlog of them. Vacationing in other people's jobs is fun and easy, and ignores actually being that employee.

nathanvanfleet 6 days ago 0 replies      
I always wanted to make films. Probably specifically small documentaries about people and sub cultures. But I never really saw that as a profession or much of an option. And ultimately I never really put a tonne of effort into it. I had talked to a few people who I thought were interesting subjects, but they backed out and I realized I didn't have the skills to try and rope them in and get them to do it (in a nice way). Maybe it's just because I don't have very many friends in that field that would support me.

On top of that I think I'd like to own a cafe or roast coffee or something.

But ultimately I got into development work because I was so motivated that the time it took to build experience on my own came easy. And doing the work day in and day out comes _pretty_ easy as well.

Though of course sometimes your interest wanes a little. But I know that it's a lot more satisfying than any job I've ever had. And I haven't thought much about others that I hear about.

In addition to that I just honestly don't think I'd make as much money anywhere else. So as long as I'm into it and it's the best place to make money, I don't see why I wouldn't keep at it.

I just hope I can try to do my other interests in my off time, which over time has become a lot harder than it felt previously.

hermitcrab 2 days ago 0 replies      
No. I have been programming professionally for the last 30 years and I still enjoy it. I did get a bit fed of working for other people though. So I set up as an independent, selling my own software products (http://www.perfecttableplan.com and http://www.hyperplan.com) 11 years ago and never looked back. It was financially hard for the first 12 months, but now it pays better than I ever did in a permanent job. I probably spend about half my time programming now and the rest doing marketing and support. I don't have any meetings and no management BS. The biggest downside is having to take a laptop on holiday. But that seems a small price to pay for the freedom and lifestyle.
Tiktaalik 6 days ago 2 replies      
I definitely have. I enjoy programming and I think I'm pretty good at my job, but I can't help but think that maybe there's something out there.

A lot of my most compelling business ideas I've ever come up with haven't been apps or anything I could start programming right away, but rather have been totally different brick and mortar retail businesses. Opening a retail business is something I've thought about doing for a while, but I looked into some of the details and was somewhat turned off by the extremely high startup costs. I simply wouldn't be able to afford it without some partners.

One of my largest interests nowadays isn't software, but rather cities and urban planning. The idea of designing city features that would have a real, dramatic impact on people's every day lives is really compelling to me. I've thought about taking a break from software and working in this area, but at this point I really don't know if going back to school for this stuff is worth it at all. It's unfortunate that I hadn't discovered I was so interested in this topic when I was in highschool or early university.

wanda 6 days ago 1 reply      
I love programming. Even if I still had to use Perl I still wouldn't give it up.

Admittedly that's because I like Perl, but I also freely admit I'm more productive with full-stack JavaScript.

That said, I wouldn't mind writing about programming, but I can't afford to stop my day job.

I'd love to write an ebook on JavaScript, a spiritual successor to Marijn Haverbeke's Eloquent JavaScript but using ES6/ES7.

Maybe also a book effectively about making your own JavaScript framework beginning as a way to build a simple website or MVP without jumping on a framework bandwagon. The book would later develop into a cautionary tale, warning against reinventing existing frameworks like Angular or Ember. All culminating in a sober recommendation to choose vanilla JavaScript and direct DOM manipulation for simple websites and MVPs; later upgrading to React and Redux for a large-scale, client-side applications, esp. if a team is involved.

I'd also like to write an ebook about CSS and how to use it effectively not as in "pure CSS solution to problem x which is actually in JavaScript's domain" rather "CSS doesn't work like that, it works like this, see?"

Maybe also a series of primers: CORS, React, ES6, CSS, 60fps animation/UI on the web, web accessibility...

clarry 6 days ago 1 reply      
I've had programming as a lifelong hobby, and in my teens I thought it'd be my profession. But then I realized I don't really care for what the industry is doing, figured I'd have a very hard time finding a software job I'd like.. so I went on to pick up a new skill. I became a machinist. In hindsight, I regret it, because most machining jobs are too simplistic and repetitive to satisfy my intellectual curiosity (simply doing the same thing over and over again fast and making few mistakes matters more) and the good ones are hard to get into. So now I'm looking to get into software, where even the average job will probably suck less for me.

Problem is it's hard to sell myself to an employer with no degree, no job experience, no portfolio of projects done using the fashionable tech that is in high demand (and which I have no personal interest in). At this point I'm at a crossroads, but the best way forward seems to be to start building my own business. Of course, there are plenty of unknown intersections ahead in going that route, and I have no prior experience from running a business, so where I end up is one big question mark.

dotdi 6 days ago 0 replies      
I am in a similar position as david927, working in a good environment, good colleagues, good pay.

I actually have a degree in molecular biology and have transitioned to computer science and an engineering degree, which I think was the right choice for me. I thoroughly enjoy being an engineer but lately I can't help but being drawn towards the arts - music in my case. I have been eye-balling a music academy that offers a state accredited professional guitar degree. According to their information material, their alums are quite sought after because of the hands-on approach, studio skills, etc. I looked at the requirements for admission and I am pretty sure I can get admitted with some preparation, having played on and off for quite a few years now.

The catch here is that music industry is actual shit to work in, as I have heard on multiple occasions. And I cannot afford making less than a certain amount of $$ because I have to/want to provide for my wife and two kids.

On the other hand I started having the (completely irrational) fear of being a complete failure if I don't become a professional guitarist.

iamthepieman 6 days ago 1 reply      
Teaching. But the money difference is so ridiculous that I would have to go back in time and make every financial decision differently for the past ten years including having less children in order to afford it. Instead I have taken second jobs coaching at a gym, volunteered for hour of code and other programs at my local library and started teaching Sunday school at my church.
tixocloud 6 days ago 0 replies      
I started off as a software engineer for 2 years but began to explore the business side of things. I moved into designing/building systems for business analysis (i.e. data warehousing, reporting, analytics, etc.), did strategy consulting for insurance and financial services as well as studied for my MBA. I'm now in charge of leading the analytics initiatives for our credit card business.

I'm still in touch with my programming side through my side projects but the experience I gained through my software development years have been extremely helpful both in dealing with business & technical audiences as well as in solving problems logically.

The main point is that the programming skills you've learned can be useful in another setting. Starting off as a programmer doesn't mean that you will have to do it for the rest of your life. You have many different choices and it's up to you to shape your career the way you want it.

wkoszek 6 days ago 3 replies      
It's interesting how many of you guys have other interests, but stick to programming since it solves a paycheck problem.
fastcars 6 days ago 3 replies      
I hate programming as a job. Spending all day sitting at a computer with little human interaction outside of the person next to me and having to concentrate for hours on hard problems is really bad for my mental health. Most programmers seem to either burn out, or spend their day trying to avoid programming by going to meetings and so on.

There is also an extreme amount of micromanagement at my current job. I just get very specific issues and then resolve them. There is no autonomy. The project manager just sees me as a typewriter for his novel.

Jobs where I have been physically active and interacted with a bunch of different people that I don't work with have been much better in terms of my mental and physical health.

I am thinking of dropping down to part-time as I could manage 4 hours per day of programming, and maybe getting a physical job as the other 4 hours.

berntb 6 days ago 0 replies      
Regarding all discussion about creativity and programming, I heard a usability expert that had been painting for 30 years say this about GUI engineering:

Usability as a subject is the opposite of art, it is kitsch. You actively try to make simple and obvious; to have just one possible meaning.

She also said that art/painting was the best of hobbies, but would have been the worst possible of jobs. Too little money and too many interested people, so it was a rat race.

Personally, I've found hundreds of subjects I love to learn about. But it seems only one thing I really love doing. So they'll have to break my cold fingers off the keyboard. I love to teach about subjects I love, but sadly lack all pedagogical talent. (Maybe I had liked art if I wasn't color blind or so unmusical that I can't clap hand to most of my favorite music. :-) )

JshWright 6 days ago 0 replies      
I'm a part-time paramedic. I'd go full time in a heartbeat if it paid well enough to feed my family...
aiokos 6 days ago 1 reply      
Writing, honestly. I get absorbed into stringing words into entire worlds, complete with flowery descriptions and characters of my choosing. I find that I can write anywhere, be it on laptop or paper, so it affords me more movement than programming.

It's not that I want something more creative than programming, I consider programming to be equal parts art and skill. I want something more flexible, not tied to a company that requires me to work in ways that I don't find productive (looking at you stand ups). However, for now I'll be following the money and writing on the side, although it does get draining to split most of my day's effort into two creative professions.

biztos 6 days ago 0 replies      
I enjoy programming, and I count myself lucky to have a good, well-paying job in an industry that is unlikely to run out of work for the likes of me.

However, I originally set out to become a visual artist. While I doubt I'd be able to pull that off as a career now, I would still much prefer to be doing something in that world rather than instructing machines for the Man. I often think about "transitioning" but so far I haven't found a path (you pretty much have to self-finance), and remain an "artist with a day career."

If anybody is seriously thinking about another profession, and is under 30, I strongly encourage you to give it a shot. It gets exponentially harder once you pass 40.

geekster777 5 days ago 1 reply      
Yes! I'm graduating school in a month, and I've already considered this. I have a couple years of prior industry experience, though. I love the challenges, but I ultimately feel unfulfilled by writing code. It's something I can do happily for five, maybe ten years, but not for thirty-five.

So recently I've been planning to fund a creative life by saving like a college kid for a decade. The prospect's actually led to a heavy side interest into finance. There are tons of resources on early retirement and financial independence floating around, as well as other ways to create passive income. Based on my starting salary, I'll likely be able to supplement a new career within a decade.

As for what I would do, I'm looking into making music, writing books, and chemistry. Been keeping a journal of book ideas for a few months - challenged myself to write a new one every day - so that I can choose the best ones to practice writing once I get some downtime. I've been playing guitar for over ten years, and I love the production of music. It would likely be recreational, but I want the ability to produce professional quality songs. And chemistry is the moon I shoot for. It's what I've enjoyed learning most in school, so learning and understanding as much of it as I can will bring me great satisfaction.

jimcsharp 6 days ago 0 replies      
Every day of my working life. I am not sure that's not just my depression talking though - maybe I won't be happy in any job.
niclupien 6 days ago 0 replies      
First time I quit programming, burned out, went working on a friend's farm. After some times, I felt much more valuable helping them with computers/website/payment processing problems. Didn't took long, I was back in programming.

Second time, I took some time to execute on a non profit to help our local community. Being good with data really help organizing event people really liked so I tried to spin that into a startup and failed. Like other commenters said, I was doing stuff I didn't really like.

I'm back to programming but I'm really glad I tried different things. Not everything was a failure, I eat fresh organic food from my friend's farm and I have an impact on my local community.

mgarfias 6 days ago 0 replies      
If I could earn what I do building things with my hands, I would doIt in a heartbeat
ninjaroar 6 days ago 1 reply      
Yes. My goal is to reach $10 million net worth (so I am no longer dependant on income to survive - yes, I can live more cheaply, but my favorite cities happen to be the most expensive).

Then, I would retire from the industry and focus on doing computer generated art and sculpture.

That would let me stay in software, but let me be creative (I don't want 'creatives' to design thing, as if they were a different species - I'm creative myself!). No scrums (aka micromanagement), no testing, no bureaucratic processes or anything like that - I would just spend all my time creating.

Delmania 6 days ago 0 replies      
I think about this a lot. I truly enjoy coding, it's definitely a fun activity. What I don't enjoy the most is the belief that your work experience is secondary. If you can't pass a coding interview, you don't have an active Github account, and you don't blog regularly, some companies won't take a second look at you, even if you have a proven record of success. I personally admire what jwz did, turning his technically skills into something that supported a venue he really enjoys (DNAPizza and DNALounge).
jitix 6 days ago 1 reply      
Back home in India I used to work for one of the big IT services company in a support/maintenance project. Due to the bureaucracy, lack of innovation and the general self-righteous attitude at the company I used to think that all software development jobs are like that. I wanted to get out of the entire industry once my two year bonded term was over.

Once I left and ended up joining a small startup, I then realized that all programming jobs aren't like that and working on even enterprise software can be fun. Never looked back.

iends 6 days ago 3 replies      
I think about law school or an MBA at least once a week.

The opportunity cost is extremely high though. It's pretty hard leaving six figures of income in a low cost of living (and the grass is always greener I'm sure).

Unbeliever69 6 days ago 0 replies      
I came from the complete opposite direction. I actually learned programming in BASIC on an Apple II computer in a community education course at my local middle school back in 1980. Programming was a big part of my life for the next 5-10 years, until I fell into other career and education opportunities. It went something like this...

Drafter --> Teacher --> Education in Industrial Design --> Ux Designer --> Teacher --> Ux Designer --> Programmer.

During this timeline of about 30 years I never stopped programming as a hobby. I HATED the politics of teaching (which I did for nearly 20 years) but it paid the bills. Ux...well, everywhere I designed, I felt expendable and, like education, it was highly political. For many decades I felt like there was a big hole in my life. I wasn't happy. Then...I decided "F it!" and dropped it all to pursue programming as a career. While it hasn't been bliss, I am much happier. I am not inclined to slave away as a hired gun. Programming has been a way to express my ideas in a way that I was never able before. At 47 years old I feel like I'm preparing for a trip to the base camp at Mt. Everest. I figure that by time I hit the summit I'll be ready to retire, but I WILL retire on such a high note. Maybe I'll die on the summit :)

j1vms 6 days ago 0 replies      
Want to know really the only thing all of us have in common today? We're all alive. Think about it. Tomorrow for at least one or more of us, that may not be the case.

Despite many great comments from those in the profession or not, go with your gut instinct. When you get to the point where you are thinking of leaving what you do for something else, it doesn't matter whether or not other people got to the same point.

Trust your gut and go with it. Usually, it knows what's best for you.

robynsmith 6 days ago 0 replies      
I'm a huge fan of this essay:

Don't Call Yourself A Programmer, And Other Career Advice | Kalzumeus Software ---> http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-pro...

I prefer not to call myself a programmer, although it's a decent way of describing what I do.

I create [value] and solve problems. I used to this by fixing hard datacenter problems as an IT/Ops person, and now I do it as a Full Stack Web Developer. The creating things / solving problems mindset is what is really important to me. Programming is just one interesting "medium" to do this in.

I could see myself creating things and solving problems in other profession. One that I thought heavily about is medicine, law, and writing. I think there are many possible places you can do this in life - it's just a matter of picking a medium you enjoy.

If you need to work on something else, then you can always pick it up as a side project or hobby. I used to find philosophy fascinating. I spent probably a decade of my life reading it as a hobby. Part of me wanted to go back to school or somehow figure out a way to learn it/do it professionally...but I honestly got what I needed out of the hobby. Now I've moved onto other things.


If programming made me miserable, I'd consider getting a second degree in psychology and perhaps doing a ph.d eventually. Or maybe go into management. Or maybe go into medicine. Go with the flow or something.

brighteyes 6 days ago 2 replies      
If I could make a good living off my music, I'd seriously consider it. But that's unlikely.
manyxcxi 6 days ago 0 replies      
If I could make a much money as I do now, I still don't think I'd choose something else. If I did it would probably be, in order:

- Robotics (more on the hardware side)

- Woodworking

- Custom motorcycle/classic car building and restoration

The common theme for me is the creative problem solving, building things in general, and attention to detail/craftsmanship specifically that maintain my attention. As it is those are all hobbies of mine, so I still get to dabble while making a good living doing another thing I really love.

baccheion 6 days ago 1 reply      
Not really, but it could easily be the case that most programming jobs suck. That is, it was clear to me from a young age that programming was my favorite thing to do, but the mundane, backward, pointless, political, and/or stupid nature of most jobs can make things unbearable.

My solution was to eventually either become a consultant/freelancer, or create my own startup. When I then realized that a tech lead (Staff Software Engineer) spends about as much time doing manager-related tasks as they do developing software, and that a Senior Staff Software Engineer or Principal Engineer is essentially a manager (almost no coding), I knew my days dealing with corporate world BS were numbered.

My plan didn't really fall into place, as I became a Targeted Individual (likely at the hand of one of the idiots managers I had to deal with) 2-3 years after graduating from college. That BS left me sitting in this room for the last 5-6 years being harassed all day long.

After a few years of the torture, I was pretty much done working, as I was now unemployed for too long a period of time, my intelligence and reasoning ability were waning away, and the harassing/intrusive thoughts were still present and were still getting in the way.

bbarn 6 days ago 1 reply      
Like some dozen others here, if it weren't for the money.. sure, I'd run a bike shop, with a frame building shop in the back room.

As careers go though, what we do is interesting, ever changing, and an exercise in learning almost every day. Oh, and the pay kicks ass. So, yeah, I've thought it. Lots of us think it all the time, but really, we've got a great job, so while the grass may be greener over there, it's pretty green here too.

JeanSebTr 6 days ago 0 replies      
I did not stop programming but I got a dramatically different job of what I had before. You didn't say why you're curious for that question, that might be like me simply for the need to change.

Even with a gratifying job full of technical challenges, I feared I was becoming a 9to5 zombie. So, I got a new job a few weeks ago. I joined a non profit offering free WiFi in the city as the one man army tech guy. Instead of just software/web/mobile development, I also have kind of managerial type of responsibility and more public relation to do. It's something like a safe steady job with nearly startup mindset.

There's still a bit of programming involved, but it's so different from what I know that it's a real professional challenge. And for that I had to accept a big salary downgrade.

It really depends on what's your motivation. Is it salary, challenges that go in pair with your personal growth or simply working in a different context / mindset?

That may be the tasks you do that aren't fulfilling? For some people, manual work is really gratifying. Last week I was setting new cables in a patch panel; there's nothing challenging about it but it's simple and you can be proud of a cleanly done job.

rurban 6 days ago 0 replies      
I did it a couple of times and always came back.

I started as programmer in school, but decided you don't need to study it. It's easier to learn it by your own. Then I became architect, but mostly automated my problems and solutions. After architecture became tiring, without enough pay, I went to more engineering jobs.

Survey, civil engineering, city planning and finally stage design and film.This was all fun and got well paid, but I ended up as director of SW development soon after. After this was not fun anymore I went into hard core engineering, Formula 1 HW/SW simulation and support, but in the end I did more SW development than HW support. HW is always tricky and unreliable. SW is much more logical and reliable, much easier to analyze. And you are not that dependent on others. In SW it's easy to solve everything by yourself on 10x less time than waiting a year for someone else to approve something or until this piece is replaced.

So I went to full time SW work again, even if I still do work a lot on movies also. This is just for fun, helping out, going to festivals and such.

20years 6 days ago 0 replies      
Yes and did to some degree when I left a captive software dev position and started my own business. Still involves lots of programming but mixed with a ton of other things.

I sometimes day dream though about doing something outside of software such as landscaping or remodeling houses. Something I can do away from the screen & keyboard. Something that still involves creating and being able to see the end results of your creation.

kidmenot 6 days ago 0 replies      
I thought about it so many times I lost count.

My dream is writing for a living, and I'm currently writing the first draft of a novel. I'm about 1/5 of the way there, began a couple of weeks ago. I've tried a few other times, but couldn't get past the first few chapters. I'm now at 18k words and going strong, I hope this will be the one.

danso 6 days ago 0 replies      
I went into college for computer engineering but immediately double-majored in journalism (my first love in school) and didn't even bother looking for an engineering job after graduation (though I did fail a Microsoft interview).

Today I do both but I'm extremely thankful I stuck with programming. Not just as a useful job skill but as a different, powerful way to see the world.

rmathew 6 days ago 2 replies      
Jamie Zawinski[0] gave up professional programming[1] to manage a lounge[2].

0. https://en.wikipedia.org/wiki/Jamie_Zawinski

1. www.jwz.org/gruntle/nomo.html

2. www.dnalounge.com/backstage/log/1998-1999.html

Edit: jwz hates HN; made the links non-clickable. Thanks @Jtsummers.

magpiefabric 6 days ago 0 replies      
The thought flashes by every now and then. I haven't been doing this for very long (~2 years professionally) but I've already started to see little glimpses of burnout on the horizon and plan on working in a proper break from work at some point.

I can't say for definite what I'd do. Music's always been a side passion and I'm attracted to the idea of getting back into music production. I studied it briefly back in college (UK, so I guess high school?) but I don't think my heart was really in anything back then so I let it slip through my fingers. For some reason I also sometimes get these day dreams of working in a market food stand. I can't see how i'd enjoy it considering how disdainful I was of my youth working in retail, but cooking is another little passion of mine so maybe i'd dig it, even if it felt a bit like an step down.

benjismith 6 days ago 0 replies      
I always wanted to be a full-time fiction author.

Eventually, a few years ago, I started a company to make software for fiction authors.

Best of both worlds!

gressquel 6 days ago 1 reply      
Yes, Yes and yes!I consider myself a quicklearner. I am 28, been working as .NET consultant but know the other languages such as javascript/node, php, swift, java. Paid well, but I cant help feeling like I was meant to do something else. I wish I could use my brain capacity to help other people. UNICEF, UN or other NGO. I believe technology can have massive impact on countries which lags behind the "western" standards. I wish I could be part of a program to help out people with the use of technology.This feeling is so intense, I wouldnt be surprised if I quit my job tomorrow. I am not scared of leaving my country (Norway) if there was a great opportunity to work abroad.

Dont really know where to start when it comes to tech + UN. If someone knows please give me a pointer to start.

rifung 6 days ago 0 replies      
Yes and I still do. Nowadays I mainly just want to do research in Math/Theoretical Computer Science, but before I also considered becoming a chef or piano teacher.

I should have realized it back then but I enjoyed CS in college much more than software engineering in industry and I miss the difficulty and rigor of the problems.

skypanther 6 days ago 0 replies      
I almost did. I earned my black belt in karate and was teaching a few classes per week. I had frequent conversations with my sensei about working full time for him or starting a dojo of my own. We had a location picked out and everything.

Martial arts can be incredibly fulfilling. I got to help people improve their physical and mental fitness, gain confidence, overcome anxieties and fears. There were constant opportunities for fun, new friendships, and doing good in the community. Plus it was really cool knowing I could do some of those Bruce Lee / Chuck Norris moves I'd see in the movies.

At the time, I was the sole income for our family (wife & 3 kids). The income possibilities were just not there. We could not have made it work financially. Now, I'm an old out of shape desk jockey.

porker 6 days ago 0 replies      
I did [0], but after that I reassessed, relaxed, decided not to push so hard... and raised my rates.

It's a job, and like any job it sucks (hugely) at times. It also provides money to keep my family, and I get to work on interesting, brain-teasing problems (sometimes! Damn web development).

Frankly, I'm not good at thinking what I'd do until I'm doing it. If I did something else it'd be one of:

 Research scientist University lecturer R&D Psychologist Photographer
I already had the option of a career as a photographer (back before the market tanked, which I saw coming) and classical musician. I'm (mostly) glad I chose neither.

0. https://news.ycombinator.com/item?id=10169937

mellett68 6 days ago 1 reply      
I think about it often, but I assume it's some kind of burnout. None of my hobbies would translate into even my current pay level.

There's that nagging idea of the 'real programmer' who is getting paid big money to solve interesting problems. Almost certainly a myth but still a frustrating idea.

SFJulie 6 days ago 0 replies      
I had a lot of fun being a mover: just be at embauche at 7:00am, no BS required, no love of the job, being outside, seeing awesome landscapes ... being tired at the end of the day, with your job let behind and able to enjoy a simple life.

It was a simple life, but fun. And now season is over. So I look for a job in the IT.

It really changed my life.

I also learned doing bread, alcohol (wines and ciders), playing more music, and did some gardening, illegal picking of (common) plants in the wild ... brawling (movers are no angels) and winning. I grew a spine and a pair of balls.

Don't be scared, life out of programming is quite awesome.

In fact, life is amazing as long you don't feel like in a jail that sometimes is only in your head. I now live with my true colours ; I love to be dirty, mean and sweaty.

Raaah. It feels good to finally be yourself.

nickelbagz 6 days ago 0 replies      
If I had the money I'd stop being a coder, but still use a computer for music composition and production. I'd play the piano and also write about social/political/historical things. I had this luxury once a while ago, and am now working hard again to get back there!
Radeo 6 days ago 0 replies      
After master and 3 years experience I was a trader in a prop firm for one year. And this was...

Best experience in my life, I have learned a lot about myself and that world outside pure IT can be even more astonishing and challenging. Psychological leap I would say, advancing to new level. Despite my friends who couldn't understand with I sacrificed my top salary (yeah, I had it best among my programming friends).

Though I failed (yeah, can admit that proudly, because I tried) and I am back in my profession, with even higher salary then before 1-year challenge I got much better perspective now. I try to widen my horizons more often and in different ways. Oh, and after few months break aiming to jump back into trading on my own account... Real fighters never surrender, right?

mataug 6 days ago 1 reply      
I've considered it a couple of times. Being a chef or someone researching climate change are the two things that I've considered. I have no background in either (I can cook up a decent meal but nothing impressive) and the thought of having to start from scratch bothers me a lot.
dadro 6 days ago 1 reply      
I bought a small commercial fishing boat and occasionally do that on the side. I make no money but love every minute of it. I'm working on getting my charter license so I can take folks out fishing and hope to do that p/t when I retire in 20 years.
galfarragem 6 days ago 0 replies      
Enjoying doing something as an hobby is completely different than enjoying it as a career.

What people like is the 'creative part' associated with a skill. When you do something as a career, most of your time will be used dealing with the 'boring part'.

keithnz 6 days ago 0 replies      
my thoughts of other work are often fanciful, I keep thinking cancer cures are taking too long and I'm sure my debugging experience would sort that field out. Nuclear Fusion power reactors are taking far too long to sort out, and I'd kind of like to get stuck into that problem.

Then I sometimes wish I was a full time philosopher.

Other times when I've moved between countries and thought I'd take a break from programming to refresh myself.... I end up thinking about ideas around coding and end up coding anyways. So I think I'm a lifer. Not quite sure what role I'll take if there is a zombie apocalypse though, however I have played through a lot of computer simulations of such events and I seem to be a kick ass warrior

... as I said, fanciful ideas of other jobs :)

dver23 6 days ago 1 reply      
I took a year off in my 20's for spiritual pursuits and volunteer work. Best thing I ever did, it wasn't well planned and on a shoestring. If I could do over I would have done the finances differently. I cam back to software, but with a much different outlook and world view.
nstr007 6 days ago 2 replies      
I love programming, I feel I can express my self threw code. However, I wish my wife and others could appreciate what I do like I do. If I could do it again, I think I'd like to be a carpenter or something that can be appreciated in the physical world.
Archenoth 6 days ago 0 replies      
I love programming, though I have thought that if it didn't exist--I would probably go into archaeology.

I have always enjoyed discovering things in subtleties, and learning the reasons behind strange things with research. There are still plenty of things that we have yet to figure out.

However, regardless of whether I did archaeology or programming, I'm sure I would get burnt out every once in a while. That just happens, and it isn't necessarily a bad thing. (Even if it is annoying...) It helps me to remember that this sort of thing passes as my inspiration swings back and forth, and that I don't actually dislike my profession. And until I am back into it, I just do things to force myself to be productive.

biztos 6 days ago 3 replies      
So nobody's interested in sales?

It's a job that solves a lot of the problems people complain about in programming, like spending all day staring at the screen or not interacting with people or doing things that might be pointless.

The downside of course is that you eat what you kill.

wheaties 6 days ago 2 replies      
In general, when those thoughts crossed my mind it was when I was working a job I should have left already. There are good companies that value developers and/or give them a reasonably good balanced work environment. Generally the two go hand in hand. For places that don't, frustrations and poor practices tend to push us into less fulfilling lifestyles.

But if pressed... Corporate pilot comes to mind. I've spend I don't know how much money on training and aircraft rental. Most piloting jobs for corporate clients have you working only 2 weeks out of the month. That is, you only fly about ~250hr a year. The rest of the time can be spent hacking or doing whatever else you'd like to do.

FullMtlAlcoholc 6 days ago 0 replies      
I absolutely want to be done with coding by the age of 40. Coding is a young man's game. It'll always be a passion and hobby of mine, but it wouldn't fulfill me to still be primarily writing code for someone else's company.

I was an athlete in a former life that allowed himself to get woefully out of shape. I went on a health kick a couple of years ago, got into better shape than I was in college. Now I do personal training on the side, just finished my first triathlon, and am now training to compete in American Ninja Warrior. I really wish American Gladiators was still around though as I would've much rather preferred that.

pryelluw 6 days ago 0 replies      
Not really. I use programming as a tool not as an end goal. I enjoy programming because it gives me the ability to do things I otherwise could not. I also like the deep technical side of it but there isn't much to do there for me.
dschiptsov 6 days ago 0 replies      
Already did.

I have switched to be a guide for Tibet tours (Lhasa, Kailash-Manasarovar) and high altitude trekking and motorcycle tours in Nepal, Sikkim and Ladakh. Customers enjoyed my guided tours in Jokhang and Potala.

Better demand and much more tolerable life than in a coding sweatshop. For everything else there is literally no demand for anything except Joomla websites and Android apps outside the valley, which is already saturated.

And, of course, I have zero interest in things like React or Node.

The sad truth is that indie and small shop IT is already dead. Unless you are a young CS major in US there is no demand for programming jobs. Otherwise there will be a market, not just a few brokers like Toptal.

Beltiras 6 days ago 0 replies      
I can't imagine myself wanting to leave. We are defining the worlde for everyone else. The amount of power over the course of human affairs is staggering when you think about it. A fullstack can be toiling away on some CSS layout problem today and come up with a better design of some widget or other which leads to a breakthrough in UI/UX approach. Several months later nobody is using webpages in the same way. A novice can innovate things that an old hand would not think of and turn the whole world on it's side. The reach and breadth of computing makes it too exciting to forgo.
herbst 6 days ago 0 replies      
Yes. But honestly most jobs i think are interesting too would get boring pretty fast and are badly paid in comparison.

The only reason i even thought about that is to have more joy in programking after work.

I fixed it by quitting my job and going digital nomad.

baybreeze 6 days ago 2 replies      
For 10 years programming has been my thing, but for a while now I have been getting the feeling that programming won't be big in 30 years. If all my eggs are in the programming basket and I can't keep a programming job in the future, I would be out of luck. (presumably because it's a blue collar profession by that point).

With that fear in mind, becoming a M.D. actually seems like it would be a good decision. Even this late in the process, doctors have been well paid and relatively rare for thousands of years; a tried and true profession. Plus it will sate my curiosity about the function of the human body.

pinouchon 6 days ago 1 reply      
Computational cognitive science.

I'm in the process of going back to studying. My employer knows this, as well as most my friends and peers. I plan to spend the next two scholar years (starting in 2017) to take a master in cognitive science. I have worked for 3 years in web development since graduating and have enough money stashed to make the transition.

I'll likely write a lot less code, and more maths and english.

My primary motivation is that I believe that breakthroughs in AI and cognitive science at the computational Marr's level are going to have a huge impact, and I want to be a part of it.

tluyben2 6 days ago 0 replies      
Tried retiring. Opened a brewery (beer & cider) and going to run a bar/restaurant; brewery runs well but I just like programming too much. Combining them works well and keeps me fit.
asteli 6 days ago 2 replies      
I'm an electrical engineer via a nontraditional path. Like software dev, it still involves large swaths of time spent staring at screens while inside a box.

I've been mulling over the possibility of some kind of work that would be more conducive to my long term sanity. My imagination has me developing and deploying instrumentation for environmental science. 1/3rd screen time 1/3rd workshop, 1/3rd fielding instruments.

I'll figure something out. Probably when 12 hours of daily screentime becomes unbearable.

keviv 6 days ago 0 replies      
Yep. I was working in a startup (which eventually went public) for close to 6 years. Life became monotonous there and I really felt burnt out. I finally decided to quit and wanted to do anything but programming. 2 week later, I started missing programming again but this time I decided to freelance. I'm getting paid decently while I can do a lot in my free time. I've started reading books and working on small side-projects which I wasn't able to while working full-time
parr0t 6 days ago 0 replies      
I've only been programming professionally for a year but can't see myself wanting to get out of it anytime soon, maybe ask me in 10 years to see if that view changes. But at the moment am thoroughly enjoying learning as much as I can - coming from a job I didn't enjoy as a full time baker to having my weekends back, normal social hours and just having more spring in my step by doing something I have a genuine passion for is a great feeling.
partycoder 6 days ago 0 replies      
Not all people like programming. Some people do it only for the money. I internally call them "paycheck zombies", and I try to just stay away from them since they're a bit draining at times, and rarely lead to learning something new.

Some other people are more career oriented and seek professional growth. There are various lines of professional growth, in each stage of the SDLC. Even if someone is new to the industry, a good attitude will eventually lead to growth.

michakirschbaum 6 days ago 0 replies      
I became a programmer to avoid being pigeon holed professionally. Programming has strengthened my critical thinking ability for other creative endeavors, and I could leave for actual engineering (e.g. electrical), applied mathematics, music, art, design, entrepreneurship.. basically I chose programming to leave the door open for any of these activities. I feel that this isn't a flexibility as easily afforded to say, physicians or lawyers.
ohstopitu 6 days ago 0 replies      
One day....when I have enough to live comfortably, I want to get into gaming (Youtube and Twitch or whatever is the main medium for games then).

I LOVE gaming (and transferring my skills learnt from programming & the startup world to the gaming/streaming world).

Apart from that...I've wanted to try and be an investor/trader but I don't know if it's really something I'd get into given the commitment & resources they require.

SeriousM 6 days ago 0 replies      
Yep, going to be a police officer. But I would get a lot less money and very bad work schedule / vacation policies. So I stay with developing awesome software.
du_bing 6 days ago 0 replies      
NEVER, programming is best work ever, giving me much freedom.
skoczymroczny 6 days ago 0 replies      
Not really. For me programming isn't something I do for money, but something I like to do, which just happens to make good money. I do semi-boring stuff for money, but do fun stuff (game development) at home. I don't see myself burning out any time soon and looking for something else. Also programming fits my personality type, allowing me to avoid too much contact with people :)
drivingmenuts 6 days ago 0 replies      
All the time.

I'd love to change to working in 3D, preferably with Rhino (which I have a license for). But, that's not what a career is made of and lacking any practical experience pretty much means I'm stuck.

I'm not opposed to starting over at the bottom, as long as the work is engaging. Unfortunately, there's not much call for people with only minimal experience in Rhino3D, that I've found.

boggydepot 4 days ago 0 replies      
I'd go historian. After spending sometime reading/watching about Marxism, Ancient Greek Philosophers (Epicurus and Socrates) and Confucianism.

History is probably something that will really give you context on a lot of things. Philosophy is great too.

mikelyons 6 days ago 0 replies      
After nearly 10 years as a web developer I've left the field and moved to south east asia to be a SCUBA diving instructor. Nice change of pace.
_mikelcelestial 6 days ago 0 replies      
I did this just recently. Before I went to a middle east country for an SEO job, I am a PHP dev for 7 yrs and my last work made me realize that I'm not growing or something and this new environment would make me do this change. Unfortunately, after working for only a few months, I was sent home due to health reasons and dev jobs are hunting me again which I think because of my qualifications in the past.
o2l 6 days ago 0 replies      
I pretty much enjoy programming most of the time. But there are times when I feel, only if I could take a small break and do something else without worrying about money.

I would like to

- Work at a General Store- Be involved in a full movie / tv series making process ( Because movies have always had a deep impact on me, and I would love to contribute my ideas in that domain )- Invent new food recipes- Research on Ancient History

navs 6 days ago 0 replies      
Oh lord yes, I've left it behind only to take the next job offered to me and becoming a Business Analyst. Not enjoying it so far.

I'm putting more focus at the moment on exploring issues of Mental health in the IT industry as it's something I've dealt with and continue to deal with.

That seems to give me a degree of fulfilment. Doesn't pay the bills though.

exabrial 6 days ago 0 replies      
Quite often! But it pays well and my co-workers aren't terrible. Most efficient way to have job security and make a good bit of $.

Id always be inventing -something- though, recently I got into designing and building high voltage distortion prone vacuum tube hybrid solid-state instrument signal drivers: aka guitar amplifiers :) analog electronics is a lost art!

vbezhenar 6 days ago 0 replies      
I fell in love with programming, when I was about 13, and I love it now (29). Commercial programming (e.g. what I'm paid for) is rarely fun for me, but not bad either. And I have a lot of fun doing programming as my hobby, some experiments, etc, when I'm not constrained with anything. I don't think I would ever change my profession.
inopinatus 6 days ago 0 replies      
I left it for ops and then management and then went back to development.

Cycle normally repeats every few years.

Currently doing all three at once because startup.

BWStearns 6 days ago 0 replies      
Law has always interested me. Unfortunately the cover charge is such that I would only be willing to give it a go in the event of an equity lottery win or something similar.

Another thing I've been toying with is prop trading. It's not entirely separate from programming, but the industry is pretty isolated in terms of expertise so it might be considered separate.

epynonymous 6 days ago 0 replies      
i did actually leave programming (almost 10 years ago) for a job as a people manager (of programmers/test). it's a lot more fun to write code as opposed to dealing with all the nuances of personalities, politics, processes, etc. i do have a few side projects which have allowed me to stay as a pretty effective coder, but at the end of the day, i'm also doing a lot of non-development things on my side project like go to market definition, managing people, project management, and slideware.

there are definitely very tedious things that programmers have to deal with like unmarshalling and marshalling data across backend to frontend components or test automation (think of having a multi-tier system with ios app, database, email service for forgotten password and having to automate all of that). but at the end of the day, the thing i like most about programming is the ability to see the things i create doing something useful. seeing the end result that's of high quality gives me a sense of pride. i'm definitely a maker, it's what i was born to do. but at the end of the day it's about risk/reward and opportunity cost, at this point there's just too much to give up, and the side project isnt panning out yet.

on a slight tangent, i have an electrical/computer engineering background and was supposed to go into hardware like most of my classmates, but i ended up liking the fact that i had something tangible after hours of programming, even though it was virtual, and with hardware i'd have nothing to show for it, but a pic controller lighting up some led's, a breadboard with a bunch of mixed logic implementing some simple thing, or some vhdl state machine that effectively did something simple. no offense to all the engineers working on this type of thing, but it just wasnt as exciting to me.

i find that there's some balance to it all, like getting paid well, but also having hobbies on the side that you can soak yourself into. but then again, i've heard many a story about people doing what they love and for lots of money.

iopq 6 days ago 1 reply      
I recently started playing a game that I haven't played in a long time. I miss the feeling of being engaged like this. Programming just doesn't do it for me.

I want to love what I'm doing, but unfortunately there's few things that tickle my brain like this. What should I do, take ADHD meds and go to work, like everyone else?

gmac 6 days ago 0 replies      
I thought I was leaving programming when I went back to school to do a Masters and then a PhD in environmental economics. I'm now a lecturer (assistant professor) ... but programming is so useful in academia, and such a rare skill, that I hardly do any less now than I did before. And I'm OK with that. :)
wineisfine 6 days ago 0 replies      
Yeah I wonder what our dev skills be worth when we are 60. And still need some years do get to a pension. And meanwhile you have 21 year olds without a mortgage, kids or wife... with all the time in the world to work and learn new things.

Take for example current js webdev, with a new hot tech every week.

We can't all become IT managers (nor want to)...

gambiting 6 days ago 0 replies      
I would try doing anything that doesn't involve sitting in an office. Fixing bikes and cars, I would love to have a garage and do things with my hands, there's something incredibly satisfying about getting an old car to work, comparable excitement with getting your program to work.
emodendroket 6 days ago 0 replies      
My original plan out of school was to become a Japanese translator and I still enjoy Japanese-language stuff. But honestly I couldn't deal with the vicissitudes of being a freelance translator while at the same time never making much money. I enjoy this too and it's much more stable.
SixSigma 6 days ago 0 replies      
Yes. And I did. 30 years programming.

Then I got certified in Autocad, got a qualification in Manufacturing Engineering at part-time school, used that to start a degree in Supply Chain Management in the UK. I'm now on an internship in Miami and I already did a semester on exchange in Finland.

Worked out well so far.

jmunsch 6 days ago 0 replies      
fwiw, I graduated with a degree in painting. Got into an ecommerce shop. Figured out how to automate my position. And felt a big draw to programming. Went back to school via a bootcamp and have been a "developer" for the last two years. Mostly CRUD but recently ML and the tools to shuffle data around to input into the ML. I have been in a slump lately, decided to pick up doing part time bicycle messenger/delivery work on the weekends and for an hour or two after a few times a week. There is something satisfying peddling items around the city for people. Tangible and visceral with immediate feedback. I've found it helpful, it has rebalanced my priorities in a sense. Being out in the world, as opposed to continuosly being in an abstract space all the time.
wingerlang 6 days ago 0 replies      
The thought has crossed my mind, but only in the line of "What would I do?" to which I have no answer.

I also love programming (since maybe 12/13 year old me read HTML books and Flash actionscript to make games) and I don't really want to do anything else anyway.

telesilla 6 days ago 0 replies      
I've been working for almost 2 decades and have recently rearranged life to study part-time. A combination of luck and good timing let it happen. It's done wonderful things for me in all aspects of my life, professionally and personally, and is opening new doors.
sanatgersappa 6 days ago 1 reply      
Yup. Trading futures.
nickelbagz 6 days ago 0 replies      
I would do what I love, which is playing the piano and writing about cultural and political things
d1ffuz0r 6 days ago 0 replies      
Park Ranger in Alaska or Siberia. Will probably be enjoying more than my current engineering career
pragone 6 days ago 0 replies      
Did. Currently in medical school.
BucketSort 6 days ago 2 replies      
Yes, mathematics. After studying computer science problems for a while I fell in love with math.
yitchelle 6 days ago 0 replies      
I left programming to do ProjMan work so that I have more time doing my main project of giving my family the best life possible.

I found that SW engineering is too taxing on my time at my stage of my life. My wife and I are mid 40s and the kids are growing fast.

drvdevd 6 days ago 0 replies      
I often fantasize about leaving programming for ... programming. It's amazing the sheer number of things that aren't programming a job in programming might entail (depending on where you end up).
stepvhen 6 days ago 0 replies      
I got my undergrad in CS and am now pursuing pure math in grad school. Not exactly what you asked, but the time i did spend in the industry was enough to make me want to do something other than programming for money.
AUmrysh 6 days ago 1 reply      
I left programming to get into application security, and I love it. There is still some programming and a lot of reading code, but it's a million times more enjoyable than writing endless REST APIs for me.
snuxoll 6 days ago 0 replies      
If it didn't require such a huge time commitment I'd consider becoming a PA or MD, but once you already have a family and bills it's practically impossible to get through the required schooling.
jtms 6 days ago 0 replies      
I have been a professional dev for 12 years but have often considered other paths. Just a few: Placer gold miner (yep, like the TV shows), Brazilian Jiu Jitsu instructor, metal sculptor, mechanical engineer
uptown 6 days ago 0 replies      
It was some of the motivation behind this post:


bebop 6 days ago 0 replies      
I have always wanted to become a full time wookworker. The problem has mostly been the fact that programming pays much better, especially if I were to start as an apprentice.
reitanqild 6 days ago 0 replies      
I actually have worked as a more or less pure system engineer for three years.

It was interesting and a bit painful to not have access to source code and to be completely dependent on a slow process.

Giosk 6 days ago 0 replies      
Everyday I think about leaving my job, but then I figure out that the problem isn't being a programmer, but working for customers that have no idea of what they want.
cottonseed 6 days ago 2 replies      
I left to get a PhD in math. Now I'm back, sort of.
Aitizazk 6 days ago 1 reply      
Well the next best thing for me would be teaching programming. still couldnt forget the awesome feeling when I made a calculator in a cs101 course :D
amirbehzad 6 days ago 0 replies      
I always wanted to be "the Nose", the professional that smells perfumes for a living. I have the talent, and high-end equipment for that.
Jach 6 days ago 0 replies      
Shoveling pig shit.

The only other alternative I've considered is to teach English in foreign lands, but I'd probably still do programming on the side.

JoshMnem 6 days ago 0 replies      
I haven't thought about it yet. If I ever do something else, it would probably be another application of programming, like math or data science.
ohgh1ieD 6 days ago 0 replies      
Actually yes, every day, I'm counting the days till med school.

I'll probably write code as long as I am alive but not under those conditions, not CRUD apps, not to make someone else rich.

I'd actually say that there are only 4 reasons to write code:

- To learn

- Temporary ( cash )

- To create something which becomes eventually a company

- To solve your own problems

Obv. I don't want to attack someone, that's just how I think about it.

When I entered SE I already knew that I'm not going to do that for a long time, it's on my list, I had to learn it. It's time for the next topic.

aethertron 6 days ago 0 replies      
Academic computer science or mathematics. Or writing (about technology, videogames, and humans). These are stuff I do as hobbies now.
raverbashing 6 days ago 0 replies      

And in a way, leaving lower-level programming for the sake of it and focusing on nicer things more connected with the end user kind of feels like it

SticksAndBreaks 6 days ago 0 replies      
I actually thought about going into the alps mountains shepherding cows on a Alm. Its peacefull and less lonly then programming.
gnipgnip 6 days ago 1 reply      
Farming and/or studying philosophy.
jalayir 6 days ago 2 replies      
Either a chef or a lawyer. Maybe both.
sriram_iyengar 6 days ago 1 reply      
hand-made board games
Lawstudent004 6 days ago 1 reply      
I'm 25, I finished my bachelor of laws last year (started in 2010) and I'm doing my master of laws atm (it's a 5 year programme where I live, bachelor is 3 years, master is 2). I've always wanted to do something in IT and lately Infosec has really started interesting me.

Last year I took up some programming classes (java) and I actually liked it, however I kept convincing myself that despite that, I was going to finish law school. Mainly to keep my job prospects open, maybe even get a management position in an IT firm faster that way. But honestly, aside from the pragmatic things that law teaches you, it sucks. It really does. Everyone I know either aspires to pick up notary or fiscal law, just so they could satisfy their own prospects of a well paid, highly regarded profession. It's a fairly depressing field to study and to work in.

I did a summer internship during summer vacation this year at a fairly prestigious firm. I hated that job, it consisted of looking up the latest jurisprudence about i.e. 'higher power', it made me read law books that were too boring to even want to comprehenend. I read an M&A template contract, which was interesting, but I couldn't imagine doing that for the rest of my life. All the lawyers there aged 27 and up were anything but living the dream. They worked their ass off from 8am to 10pm to bill enough hours per month just so they could keep their respective partners happy. The partners were well dressed, hardworking and very prestigious people. They were nice to be honest, they weren't assholes like you would expect. They actually made me, and the lawyers that worked there, aspire to become one of them. But then you hear the dark side of things. One of the partners had 2 kids she hardly saw, she actually had a babysitter/cleaning maid who took care of them all the time. Another one was divorced and spent his time harassing every hot secretary he met. Actually many of the male part ners thrived on exploiting their prestige to flirt with the fairer sex. Which I can't help but feel a bit jealous of, having such prestige must be awesome.

Except that's all it is really, prestige. It's the main reason people study law, to my knowledge.

As I'm writing this, I'm contemplating quitting my master's and enlisting in a bachelor of IT focused on cybersecurity. I'm aware that it won't give me the same prestige, or the nice suits (I really like suits), but maybe I'll stop feeling miserable.

Just wanted to give you guys a view from another perspective, law school and law in general aren't all they're cracked up to be. They're miserable places to study and work. Just google the words law and depression in the same sentence.

nnd 6 days ago 1 reply      
Music. Maybe it's a burnout, but I find it difficult to use my creativity in programming.
seanlane 6 days ago 0 replies      
Picked up metalworking while in high school, always figured it could make a decent backup plan.
theparanoid 6 days ago 0 replies      
Physician Assistant. It pays well and doesn't have the youth skew of programming.
adultSwim 6 days ago 0 replies      
Teacher (community college / high school)TherapistCommercial plant nursery
Matachines 6 days ago 0 replies      
Study history and/or industrial design even though I'm horrible in the latter.
petewailes 6 days ago 0 replies      
Not leaving, but augmenting, sure. I'm a programmer by day, and also a writer.
imode 6 days ago 0 replies      
as a hobbyist, I don't think I would ever do anything else.

as an employee/employer, become a technician. everybody needs repair work, and very few can call the result maintainable and sustainable. focusing on residential areas helps, too.

yoyobird 6 days ago 1 reply      
I think automation will replace the need for SEs. Sites like weebly, jeenka, snapmobl eliminate the need for a programmer if you want to build your own website. If I were a programmer, I would start thinking about exit paths within the next 10 years
oe 6 days ago 0 replies      
I'd like to drive a train. Train Simulator will have to do for now.
neom 6 days ago 2 replies      
Fun reading this as I very frequently wish I was a programmer. :)
davidw 6 days ago 0 replies      
Not really. I love solving problems with computers!
zappo2938 6 days ago 0 replies      
I regret trying to program for a living.
vladimir-y 5 days ago 0 replies      
Piano player, in a brothel.
qazpot 6 days ago 0 replies      
Yes, writing and painting.
shove 6 days ago 0 replies      
Every. Day.
known 6 days ago 0 replies      
s1gs3gv 6 days ago 0 replies      
learn haskell
       cached 14 November 2016 21:05:01 GMT