I'm not doing stuff like that but I assume the train of thought concerning the economics of energy consumption is like that: You buy new hardware and from experience you know it's going to last on average a few years. During the lifetime of your new hardware you can save some amount of money on electricity because your new hardware is more efficient than the old one. So it would make sense to hit the buy button for the new hardware when you can save money:
(Savings in electricity over the lifetime) - (Price of new hardware) > 0
I assume after a few years the savings may become significant.
It scrapes the major meditation talk websites to provide unified JSON API access to about 25,000 talks.
A demo page on your website would be helpful for people to get a feel for what the service is about. Currently there is a lot of friction to even understand the service : download the app, signup. My guess is that a lot of people (atleast here on HN) were turned away by the friction involved to understand the service.
One difficulty I have with apps like this is that they're not necessarily incentivized to produce good meditation habits. If a user builds a real meditation practice then they're likely not going to want to use an app like this -- they'll probably want to meditate in silence and for much longer than 5 minutes. I'm curious how you think about what the ideal end-game is for each user and if you're concerned about churn? How do you plan to serve users who grow beyond 5 minute meditation?
Also I think it's a Silicon Valley neurosis that you need an app or technology to address problems like depression and low self-esteem (which meditation in the traditional sense addresses).
2. Is there evidence that situation-specific meditations are useful?
3. How much are the teachers paid, if at all?
4. What's the criteria for one being a "top mindfulness teacher"?
SimpleHabit's 5 minute meditations can be done anywhere and are really easy. I find that 5 minutes is just what I need to kickstart this habit. The "stress fix" is a godsend. Thanks for this!
A friend tried transcendental meditation but the price for the course was pretty steep.
If I were to try your app, how does it compare to the others in terms of features and price?
Now, I got a bunch of questions:
Why don't you link your instagram/twitter from the site? Had to google it which was "ugh" already.
How do you pick your teachers?
Why do you think you can take the piece of the big player's pie in this market?
What is your marketing strategy (if not secret)?
How well do you sync with calendars (can I put reminders in my Google calendar)?
How come you moved the focus from "keeping the streak" to "choose your meditation"?
Are teachers getting paid based on the number of plays, finishes, fixed rate or?
Congrats on launching and wish you all the best! Go kill it!
Also now that I've found your instagram, why the hell don't you post a 60 second meditation as an instagram video? That would be so awesome.
Any plans to make the app available worldwide?
Big fan of the Airbnb approach of launching until someone notices!
Once getting to Google Play Store download page, it says the item isn't available in your country. I currently live in SE Asia and use a local credit card.
The hardest part of meditation for me was building the habit. Every time I started to build a practice I either lost interest, had a hard time staying engaged, or simply stopped. What have you done from a dev or design standpoint to help your users build a habit around mindfulness?
Thanks for the AMA!
Do you expect many more in this space and how defensible is this model?
Their lifelong warranty is excellent. They sent me a new waist strap, free of charge, after I had lost the original one. They also sent me new buckles a couple of times. Of course quality could be better -- why do these buckles keep breaking? But communication with their repair shop was always excellent. The guy quickly managed to find fitting straps and buckles despite the backpack being out of production. Probably they discontinued the pack because of its flawed design that leads to broken buckles.
It fits everything I could possibly need for travel and it's comfortable enough to use most places I go. Works fantastic for going grocery shopping. Finish is amazing and it's by far the most durable pack I've ever had. Pricy, but absolutely worth it.
Cons: it's expensive.
I use it for my daily bike commute, as well as for hiking, skiing and as day pack for traveling. It combines (almost) all of the features I'm looking for in a daypack:
Mesh ventilation keeps my back dry when riding my bike in summer.Phone, key and wallet fit in the waist strap pockets for fast reach.Rain cover keeps my stuff dry for the occasional downpour.26l is large enough to fit in a 11" MacBook and basic climbing gear, small enough to not be bulky.CamelPak fits in to keep me hydrated when in the mountains.
The only feature I miss is being able to remove the waist straps, if I so wish. Larger backpacks, e.g. from Deuter, support this.
If I would use my backpack solely for bike commuting, I'd buy a Deuter Giga Bike 
 http://www.ospreyeurope.com/gb_en/hiking/stratos-series/stra... http://www.deuter.com/US/us/bike/giga-bike-80444.html
It is not fancy - just literally a bag with two almost stringy straps. No fancy compartments except a small pocket type thing inside and a small zip-up pocket outside. The straps also double as a drawstring to close it. I like it because it expands easily to fit everything I need - laptop + charger, synth, gym clothes, lunch, whatever. The strap is also attached in such a way as to let you easily switch carry mode - eg it can quickly go from a backpack to a tote bag.
It's been through three rucks and has been my daily partner for three years now.
As a bike commuting New Yorker, I'm frequently carrying my whole life around plus laptop, and it's been perfect. It looks as new as the day I purchased it.
A truly buy it for life item.
I now carry this Patagonia Refugio 28L . Smaller, less heavier, and more suited to my needs than the previous backpack.
I love it. It's great.
Not as rugged as some of the other models discussed here, but very stylish IMHO.
A few months ago, though, I switched back to a backpack: the Cannae Legion Elite Day Pack (https://www.amazon.com/gp/product/B01C05CRI0). It's a little much around the edges (there's a LOT of MOLLE on there!), and I'm still figuring out the best use for the helmet flap, although I think it'll work well for a jacket when traveling. Lots of pluses, though: the laptop slot perfectly fits my 15" MBP, and the interior is large and roomy with just enough straps and pockets to fit the few small items I have so they don't rattle around and just enough open space to let the rest of my stuff fit without having to play Tetris to get something in or out. There's a small zipper pocket on the upper flap that fits headphones and other important small items, too, and the design of the pack means I can just open the top and slide things in and out without impedance, or open it a lot wider for packing.
Spacious, water-resistant, separate laptop compartment with plenty of padding.
Can't find the exact model since I purchased it a while ago, but this one comes close:
I've had a number of bags, backpacks. I think this is my last. I've had North Face Recon's (the older models are much higher quality), Osprey, Timbuk2 (before they got popular), Waterfield Muzetto, Waterfield Cargo.
I think I'm content and this is my last one.
It's still in good shape, I just had have the zippers fixed. I guess fixing was more expansive than backpack. :)
Great for subway commuting, and great for casual situations too. Both bags give me good options to fit my 13" and 15" MBPs. No lifetime warranty, but they're well built.
I do have a GoRuck that I use when I need something more robust.
My main concerns with purchasing it were the price, I believe I paid $245 plus an additional $60 for the OP1 pouch to go along with it, which I find quite expensive. Another concern was whether it would look too "tacticool" but I can say that in all black and without a bunch of patches all over it I think it just looks like a normal backpack. I was also originally concerned with the weight, its quite heavy empty, but after having used it for years I can say it isn't an issue at all. The padding on both the back area and the straps, combined with a design that seems to fit my body perfectly along with good adjustability, results in it being extremely conformable carrying even heavy loads (40-50lbs) over long periods of time (7-8 hours). Overall, its just a great backpack.
I've also used some of the larger Osprey camping packs and those have been great too but are too big for my everyday needs.
GoRuck and Mystery Ranch make great packs as well.
It's a good backpack and I'm happy with it. It's a bit different from regular backpacks and the sweet spot is really people carrying tech around.
If you need a backpack for clothes and large books etc I'd get the 30L or maybe another backpack altogether.
Also I think it's kinda of expensive for what it is.
Laptop pocket, which fits my 15" macbook and an ipad no problem. Also is roomy enough for a small drybag for the gym.
Its accessory infrastructure is nice and thought out well. has a handle and a strap so you can carry it as a briefcase or a messenger bag, and the backpack straps zip out of the way when you want to do that
Also, customer service is top notch.
I bought the current model but I'm not very happy with it, so I'm still using the old one.
I've been using this daily, traveling abroad and short commutes for the last 3 years and still looks like new and even been complimented by the design which is weird for a backpack.
On a side note, i was in a class where the subject of backpacks came up with the girl next to me, I noted to her that everyone adjacent from her had the model bag. Tried and Tested. :)
Nice laptop sleeve, roomy main area, a couple pockets, it behaves exactly like a day pack should, I never notice it's part of a set.
When I travel, the main pack is my luggage. Three continents and a dozen countries, it's a great bag. The way the day pack can attach either to the back of the main pack or clip to the front for a chest carry is fantastic. Build quality is completely solid. Last set of travel gear I ever expect to purchase.
Edited to add: the way the straps on the main pack can be zipped up into a panel to make the outside shape sleek and duffel-like is a godsend when the main pack goes under a bus or gets checked on an airline. It even has a side handle that gets a lot of use for lifting and carrying. Really well thought-out design.
Everki stopped making it a few years ago and have replaced it with the Beacon https://www.amazon.com/Everki-Backpack-Console-18-Inch-EKP11... which I'm considering seeing as how my bag is finally starting to fall apart.
Or maybe I'll go big and get the GoRuck GR1 that was suggested in this thread :)
Bought my first one in 2007 and the zipper only gave out last year. Bought the current version soon thereafter.
I ride the bus and I love the side pockets that give me easy access to my pass. I pack a laptop, two books on average and a lunch. There are all kinds of isolated compartments for things like legal documents, battery packs, and e-readers without opening the main two compartments. The laptop has its own compartment. There's little pocket on the very top for your phone.
I don't think this bag can compete with others when it comes to storage space, but it will take the best of them when it comes to user experience. The placement of some of these pockets/ compartments is very well thought out.
Flap-top with side-access zippers. Carries my 15" rMBP in a padded pocket, has a decent selection of mesh pockets, rubber hooks for attaching a bicycle rear-light, and fits under an airplane seat.
I also walk alot, and use it for errands. I often fit a weeks worth of groceries in there. Have brought it traveling etc. I've had it since 08 and still in good condition.
- Large multi-compartment backpack with a padded sleeve for laptops
- Holds up to 15.6 inch laptop and some ultra-slim 17 inch laptop
- Mesh water bottle pockets at side
- Organizational compartments for pens, keys, and cell phoneInternal Dimensions: 12" x 4.5" x 17.5" (LxWxH); External dimensions: 15" x 7" x 19" (LxWxH)
- Organizational compartments for pens, keys, and cell phone
- Compartment for laptop
- Loads of room for chargers and Macbook Pro dongles :-)
- Lots of zippy bits and stretchy cargo nets for sorting stuff
I find the messenger bag config is better for my back. I always used to wear a backpack with the strap on one shoulder, and it was definitely affecting my back & shoulders. This is much better and pretty comfortable, and I carry a ton of stuff in my bag.
I wonder if they still create backpacks of the same quality with lifetime guarantee. Could be bad for business :)
My backpack looks quite a bit like this one: http://www.digitalrendezvous.net/2008/06/08/urban-roaming/
For walking around, I am disappointed that so many backpacks are so damned heavy!
The build quality is above average, but for the price it is great.
Special things I found1. Lot of compartments2. Shock absorbers at bottom part to protect laptop3. Color highlighting and design
They custom-made one for me for my laptop, external monitor, cables and peripherals, cannabis paraphernalia, etc.
They were really, truly awesome. If you live anywhere near Portland (or even if you don't), they're worth checking out.
These are pretty good bags. They seem to have become ubiquitous in Vancouver.
Slimmer, much more manageable. Course all I throw in there is a Dell XPS 13 and a book.
For travel, I use carry-on packs that would allow for, say, a 2-week trip to Europe or SE Asia.
1. Osprey Farpoint 40. All-around favorite. It does everything well, although having slightly less volume. I don't mind because it overpacks well and helps keep total weight in check. Give me a 45L pack and I tend to overpack it and push carry-on limits. Great straps, good suspension, good hip belt (but not quite as good as Tortuga and certainly not better than the MEI).
2. Tortuga Pack v2 (v3 out now, but think v2 was much better). Until the Farpoint, this was my clear favorite for me. Very comfortable. Not flashy or good-looking, but really effective. v3 is considerably heavier and looks very nice (maybe too nice). I don't want my pack to look like I bought it from a Prada store. I prefer the rugged utility look of Osprey. Best at having quick-access pockets.
3. PacSafe VentureSafe 45L. If you're going somewhere where there is no safe in your room or you worry about pack slashers, this is the pack. Its basically like carrying an emergency safe that will protect valuables while you're out of your room. Not as supportive as Osprey or Tortuga, though (weaker straps, no suspension, and weak hip belt). Really good pack in every way but a little lacking in comfort and quick-access pockets.
4. Minaal v1. I hate saying anything bad about this company because I love upstart companies like Minaal and Tortuga. The pack is better IMO than the Patagonia Headway for comfort and support, but its not very stiff. You have to pack it carefully. Put a tablet in the back when overpacked, and you'll worry the tablet is bending. I don't use mine anymore. Totally ineffective hip belt BTW.
5. I've tried Patagonia's Headway carry-on and the Tom Bihn Aeronaut. While they are nice packs, they don't distribute weight very well and can become uncomfortable pretty quickly. No suspension. Weak straps and hip belts. I wouldn't want to walk long distances with them. Bought both and returned them.
6. Haven't tried the GoRuck, but I understand they're quite heavy (good materials, well-built). I don't see better storage options than the Osprey. People love them, however. Or at least, they seem to love the company. I place a premium on added weight, so I probably won't ever buy one.
7. I have an MEI Voyageur, and its without a doubt the most cushioned pack I've used, but its so close to exceeding carry-on limits, you risk overpacking it and having it checked. And if you underpack it, the pack tends to sag and support diminishes. I don't use it anymore.
8. Timbuk2 Aviator. This pack is so close to excellence. Unfortunately, way too small for me (35L or something), but its a good stiff pack, good straps, good pockets, and extremely well-built. All makes for a very comfortable pack. If this pack was, say, 42L, it would be a very close competitor to #1 and #2.
As a Mainer I have been using LL Bean bags of various types all my life, and have several which are great, but they tend to be roomy "bookbags" and it made me nervous that my laptop and things were flopping back and forth in that big space. I'll still use the LL Bean bags for hiking, the gym, and so on.
I'm now bagless, and looking for a replacement.
The Tom Bihn Synapse 25 is at the top of my list.
I've sold some companies here in the Valley and I've noticed that the most fun people to hang out with do the same old stuff as everyone else (scout troops, poker, skiing, writing code, etc). If you're biking with your buddies does it matter how much money any of you have? If you have kids they'll be easier to raise and will themselves have more fun if they're just like their classmates. Even at Paly (Palo Alto High School) there's a mix of kids whose families have little (yes, even some getting food stamps) and kids whose parents have private jets. Don't you want your kids to have the maximum set of possible friends? If you live it, they will too.
I sent my kid to private school (for certain specific reasons) and the worse part of selecting a school was finding one without the snotty factor.
"It's been really nice to know I'd be taken care of if things didn't work out, but as it turns out I don't think I'm going to end up needing anything from you guys. Is it too late to restructure things so that any inheritance skips me and goes straight into a trust for the grandchildren?"
That's a realistic position that you can get yourself into (it just happens that the rest of us need to get there). Having the inheritance as a safety net will actually make it a bit easier, since you'll be able to take a few more risks, career-wise, or even do some of that entrepreneuring that you don't seem interested in.
But I think you'll be surprised what it does to your feeling of self worth to know that you actually accomplished something on your own, rather than just waiting for a trust to mature.
I grew up in a very affluent area in Stockholm, and although my parents were far from 8 figures, we had it very comfortable. My parents were extremely strict about not spoiling us, so we got nothing for free. When I was around 15 or so however, my grandmother gave us a tiny inheritance so she could spend the rest of her money backpacking with a good conscience. Anyway, that very small amount of money meant that I could take long breaks from university to travel the world, live in Shaolin, China etc, and I definitely didn't have any financial motivation to work hard and finish university quickly.
I did have some great experiences, but I ended up never finishing my degree, despite also being very technical and finding university extremely easy. It hasn't been a problem for my career, but it has stopped me from pursuing other goals, such as getting a PhD.
What I'm trying to say is, very few people can handle being even slightly free from economic constraints without becoming idle, and as nice as idleness may sound, it's really harmful in the long run. If you're anything like me, you'll regret it.
I think the best thing you can do is to get a degree, not because you need it but because learning is interesting. If you're past that stage in your life, join a startup (such as ours, kitex.tech), your financial freedom means you don't have to get a second job, you'll be a great addition to any team.
If you really feel the urge, take a year to travel, but be disciplined about it. But in my experience, travelling, like anything, is much more rewarding when there's a goal. Better work with something that involves travelling to exotic locations, than bum around as a directionless backbacker.
If that doesn't interest you, you could start a company or go to school. You don't have the same pressure to make money that many recent grads do, because you have a big safety net if you fail. So the risk/reward ratio is higher for you in startup land.
I don't see why rich parents should change your behavior. Don't you want to be successful on your own? Or do you just want to wait for an inheritance (read: wait for both of your parents to die)?
What would your parents think if they read this post?
How do you feel about charitable work? Is it something that would give you satisfaction? And do you enjoy working with people? I always imagine how great it would be to have money and be able to make small loans/donations to entrepreneurs just starting out. I think I would find it equally satisfying to providing funding for small businesses as much as the next world changing startup.
Do you have some hobby you really enjoy? Maybe you could start a small business involved in that as a sort of side job, without the pressure or drive needed to launch a full time business.
Slightly off topic, but I couldn't even imagine what I would do with that amount of money. I remember when I first started making $35k-$40k here in LA, not exactly a low COL area, and I had more money than I knew what to do with.
We work from Oregon and Maryland. Currently we are a team of 2.
Basically, the reply page subtracts all context, even those the response will immediately appear in that context. We'd get more contextually appropriate responses if the context were visible on the reply page.
I would consider this a feature - not a bug.
Please respond if you'd be interested, and ill reach out
I like the idea detached from the sort-of-problem because the comment page might change a lot without refreshing between loading the page and reading further down.
I would not consider this a bug - but a feature.
This problem exists everywhere. I am not aware of any discussion platform that solved this problem, other than maybe StackExchange, which shows similar questions as you type.
The real solution is a better language which computers can understand semantically, as well as the ability to refactor discussions (merge, split, edit).
A B C D E F
A B F C D
But once you are already on google.com search page, the entire page need not be reloaded. So google would fetch the search results for the new search string via a XHR and update the page.
In fact if you search for https://www.google.com/search?q=wonderland#q=alice, the webpage would first load the search results for 'wonderland' and once the page is loaded, there would be another XHR for 'alice' and the DOM would be updated again with the new results.
Things like current temperature and forecast I don't want a dedicated app for when a simple search is more efficient...
The hash won't be sent along as part of the referrer header, so the search query won't be available to 3rd party analytics. The only way to track search queries is to use Google's own analytics, which can correlate queries to traffic since it's watching both ends of the handoff.
The technical explanation discussed in this thread is certainly valid. But it only explains what is happening. The question posed was "why". Why would a search engine implement a design that would have the effect of removing the query string from referrer headers?
Answer that, and you'll answer your question
They could of course do it without actually adding anything to the url - but then it won't be bookmarkable (and refresh would get you back to a page without results).
They could use the new history pushstate api, but then:1. it won't work in older browsers2. if they wanted it to work in older browsers they'll have to shim it (which ends up using hashes anyway) - and maintain it, and it will add the the page download size, which google (at least in the main site) take very seriously.
Sounds like you may have been doing display not search. I'd avoid this until you learn more about campaign setup. Search side is easier/safer. Display can have better returns but is harder to achieve.
If you really want to advertise I say get a few thousand $$ together and get someone who knows what they are doing to have a crack.
There are all kinds of people delivering services if you want to run a real campaign.
I ran a 100 dollar campaign for a university project, it was an interesting learning experience, but it also taught me that for any real campaigns I'd be better off hiring an expert - and they come at all sizes and prices, from independant contractors up to the biggest marketing companies in the world.
In my own sample campaign we did get a lot of noise, and a very low click-through rate. We calculated a cost per customer of U$ 8.
The big players run AdWords campaigns like... you know, ads. They cost money. Then you sell those new customers more shit down the road. Requires complicated analytics and customer tracking. A lot of people are just in it for the big data.
It's not supposed to be a slot machine. But Google isn't arguing with you if you want to treat it like a slot machine.
10L/8 clicks = 1.20L/click. If we assume 1% net conversion rate (strawman number), your customer acquisition cost is about 120L. Is the customer ltv high enough to justify this?
I make a great living off Adwords. God bless it.
Visiting IBM once a month or so for a few days to communicate with team.
I had rather specific rare set of skills (malware and security research and investigation experience).
Basically having rare set of skills - not necessarily in high demand - will help.
Been paid in US dollars at a higher rate than Canadian employer would pay, plus exchange rate was favorable too.
Worked in a corp-to-corp arrangement through canadian-based consulting company.
- How do your taxes work (I would assume not deducted by payroll, etc)
- If you enter USA for any work-related thing, do you need a work visa? (I assume the answer is yes, but maybe it's more nuanced?)
To the general HN community: has anyone seen/heard of US companies hiring up north to try and get a 'discount' on talent, based on the currently weak CAD?
On projects where the level of commenting is low and theirs little to no documentation it can be tough.
For C projects as there's usually a single point of entry I just start with main() and read through the code to get a conceptual overview of what's happening. Often I find it useful to comment the code/write basic documentation as I go.
Then I often attempt small changes/refactoring to attempt to validate my understanding. Often I'll add code to dump intermediate data to better understand what's happening.
It can be quite a slow process in a large project to be honest, and it's a lot easier if you have the original developer available to ask questions.
- if there's good unit tests, I immediately feel more comfortable and confident as nothing can explain the code and behaviour more than the test suit.
- if there's no Tests, but can allocate sometime to think and write tests. that's the best documentation you'll ever provide and benefit from.
- With better languages debuggers things are easier, logging to the console keeps to make me win quicker in some cases!
- Really long comments are confusing sometimes. and might make things more complicated than simple.
- Time will help you get everything. The more time you allocate to focus on the codebase you'll find yourself more familiar. If you have time, make sure you don't stress yourself and stare at it too long. take breaks do other things and come back to it once you brain is cleared.
- before you build on top: Once you understand most the ins and outs, try to burn down bugs before building on top.
finally - it is OK if you don't know 100% of the code. no one can easily know a whole code base they didn't write!
Have to watch out for strong signals on non-standard channels (i.e. other than 1, 6, 11, 14). https://en.wikipedia.org/wiki/List_of_WLAN_channels explains the situation well.
In my experience the "auto" channel selection option doesn't always work well. Depends on the make and model of your WiFi A/P. WiFi repeaters might also help if you have low signal in areas that you often use your devices.
I have a Plusnet 2704n router connected by cable to two other rooms with poor wifi signal. The wifi on the router is switched off.
In the two other rooms there is are two TP-LINK TL-WA801ND used to create access points - these run on different channels and have static IP addresses.
On to the problem. Sometimes the internet connection slows to an incredibly poor speed - simple pages fail to load. This occurs with no apparent increase in load (based on the traffic graphs on the access points).
I've not done any setup beyond what's described here.
I have a suspicion that the hub is unable to handle the number of total connected devices (as much as 10) as it sometimes fails to list wired devices on the settings page.
Any ideas on things I might try or buy? I'm aware the 2704n router is pretty basic but I'd still like to work out what the issue is before replacing it.
It helped me a lot when I lived in an apartment and got a dual band Apple wifi AP.
It's only when you live outside of the US that you realize it has the worst healthcare system in the developed world (unless you're very rich, in which case it's the best, which says a lot about the US political system).
Our combined family income makes us ineligible for subsidies, so I guess my option is to pay $14k a year for an $8k deductible with little coverage. I guess now all plans are HDHP, but with 3-5x the premium.
That's a family plan price and we were looking at 2-3 times that with a big out-of-pocket obligation on the Exchange. So far it's saved us about $10,000 and we really like the communal model.
(Posting under an alt account to avoid giving out too much personal info)
What would taxes be if we compared the US to Canada?
Using the following two tools:https://simpletax.ca/calculatorhttps://smartasset.com/taxes/california-tax-calculator
For 50k a year in British Colombia for Canada and California for the US I get the following:
BC: $8,372CA: $11,112
At 100k with 18k contributed to 401k/RRSP the numbers are 17.5K and 25.8k for BC and CA.
Unless I missed typed something because it's late we Americans are getting a raw deal. I realize Canada has VAT, but CA has very high sales taxes and I did not include the cost of an exchange plan. What you are looking is the Income and FICA taxes alone.
I'd recommend checking out your local professional associations. IEEE and ACM have some options:
If you want a better health care deal you'd need to leave the USA or maybe become a member of congress.
A small group health plan isn't likely to be much less expensive, if any, and the small business health exchange SHOP (CoveredCA, Healthcare.gov, etc), the plans are pretty much the same individual plans.
The Affordable Care Act defined Essential Health Benefits (EHBs) which are basically a way to ensure that common and critical types of health care are guaranteed to be covered, along with a variety of other market making aspects (individual mandate, pre-existing conditions, etc). Prior to this, people could sell "health insurance" which covered few services, had strict amount limits, and could deny claims for various unclear reasons.
If you're going to earn less than $50k in 2017, then you'll qualify for a subsidy on your plan. If not, your options are going uninsured (potentially getting a tax fine at the end of the year), or enrolling in an individual market plan.
Stride Health, https://www.stridehealth.com helps consumers enroll in plans through CoveredCA and Healthcare.gov, as well as directly through the health plans. * Prices are the same you'll find anywhere else (they're set by law). I'd encourage you to try it, and hopefully it will take some of the headache out of it. * There's a support line with a very knowledgable staff if you have more questions about the impact of your income earning for the next year, or any more questions about your health care needs. * We'll also be there to help you throughout the year, and make sure to close the loop with your taxes the following year.
I initially purchased insurance via CoveredCA (no subsidy) and they just acted as a middleman between my family and Blue Shield without providing any benefit.
That's how I do it, but this probably puts me in the "lucky" category...
We just signed up for JustWorks, a PEO, primarily because their healthcare plans are much cheaper than going direct to brokers as a 3 person company. They require 2 people though so if you are solo I don't think this is an option for you.
cheaper and the model is more efficient. yes you give up some choice but there's a reason it is cheaper
before you poo poo it I would give it a try with an open mind
maybe next century, "benefits" will actually favor the recipient, and not their corporate masters...
From running two small ecommerce companies I think I've learned enough about MVP, shipping, inventory management, etc.
From 25 years as a software engineer I've learned about building tools to automate steps.
I'd pick some "hard to find / expensive niche (e.g. Greene and Greene, Art Nouveau, etc.), but offer repeatable designs, not do custom work. That would allow for lots of jigs, fixtures, using cheap machines in duplicate to eliminate setup times, etc.
...and then after growing sales and shaking the bugs out of the production, I'd hire assistants to keep cranking stuff out.
Eventually I'd allow customers to start turbing a few "knobs" on products, via a website tool (this isn't too much falling back into software, is it?), which results in customized cut lists being kicked out for my assistants. Mass customization.
I would study the first proof in mathematics all the way up through modern probability theory.
I would throw away my cell phone and do all of this work from a nice modern loft in the Trastevere neighborhood of Rome - starting every morning with an espresso, and ending it with good food and two bottles of Red French or Italian wine.
Back to work ..
If the question were, "What other job would you like to do, if it paid at least as much as software development?" I could probably come up with some creative answers.
But even though I'm not particularly driven by money, given that I have a family to support, mortgage to pay, etc., I probably could not take a job right now that would significantly reduce my income.
With that constraint in mind, I suppose I would say I would return to my first career (journalism) and become an editor again. This would involve a significant drop in salary. So I would have to ramp up the time I devote to my second job. I'm an author of nonfiction books, which has been mostly a side project, but a relatively lucrative one. If I could bang out a book a year, on top of working full time as an editor, I could probably keep our household finances afloat.
Takeaways that stick with me till this day:
- You can develop an incredible amount of strength from just cycling.
- Air quality is a long term concern.
- (More sun + more exercise) - LEDs = great sleep
- Excessive amounts of exercise != great health
- Learn your machine, and do your own work.
- Fixed gears are extremely useful in dense traffic.
- The type of work you do affects your outlook on life.
- There is a substantial amount of pride amongst messengers who show up, especially on the worst of days. Most people tend to avoid the harsh realities of life, and everyone can learn something from just taking life one delivery or line of code at a time.
- There is something to be said for sitting on a park bench and admiring the beauty around - people, man-made, or nature.
I miss it, but don't recommend it to anyone, as it's a job that requires a lot of grit and is low paying. I wouldn't change my experience at all, though. It aged my mind and soul in a really positive way.
I will say, returning to software development raises some eyebrows. Some will scrutinize the hole in your resume, others will congratulate you on being different.
I know the logical response to this statement is: Reduce your needs and the reduced pay won't be an issue. While true, I don't think I am that flexible sadly.
1. Why do we work? (Jobs, Businesses, and the individual economy) 2. What is wealth, and how do I get it? (Saving, investment, real estate) 3. Is it supposed to be like this? (Capitalism, Government, modern political economy) 4. Systems Design (If you want to change the system, how should it work? How do we measure things that aren't money? Love, time, attention?)
In the future, I could be an aged carer as I really like looking after people, although it doesn't pay well and there can be a lot of poo to deal with. On the other hand, one of my former managers has been working at Google for about ten years and is quite enthusiastic about my working with him there. Unfortunately, they are in California and I am in Melbourne so I'd have to move.
2. Try to bring software development education to underprivileged kids in some way that eventually scales and has real career potential. There is part of me that feels this has potential, because the opportunity for self-development is so high, and the cash costs of the tools low. There is part of me that worries it is futile, because I suspect software development jobs actually require more deep and diverse basic knowledge of math and reading than I could hope for in underprivileged environments.
Actually whenever I get too stressed out at work I consider doing this, I've got the necessary capital and in a city like Oslo where people don't care about beer prices it can surely be made into a profitable thing.
That, or help out my political party (https://en.wikipedia.org/wiki/Party_for_the_Animals) since we have elections early this year. The party's name is unfortunate and its Wikipedia description as well. It is more well-rounded than that and also is the best party in the parliament wrt privacy, civilian rights, etc. (dutch link: https://www.privacybarometer.nl/pagina/45/Actuele_stand_van_...)
And Judo, more Judo.
1. Become a musician. I love all kinds of music and drums/percussion in particular. On the side, I'm working my way to being able to play drums+timbales for Cuban timba music. I've only been doing this for about a year and think I have a talent for it.
2. Go into criminology and/or politics. Crime is one of the biggest problems in Venezuela, with murder and kidnappings at all time highs, affecting me personally and frankly every Venezuelan. I'd heavily use technology to help me. If I can play a significant role in eradicating that problem, I'd be very proud of my life.
3. Open up a bar/restaurant. I love hosting people and providing an environment for people to have fun. Live music and a dance floor would be a must, but a nice chill lounge area should be available too. Again, I'd like to use technology, e.g. having automated beer taps that you can open with your RFID wristband or code and get automatically charged, and having something similar for standard mixed drinks (of course, I'd still keep bartenders for specialty cocktails).
I guess there are more, but these will suffice for now :)
I have a lot of reasons for wanting to do this. The most straightforward ones are that I want to create something tangible and enduring with my time.
Nowadays if I were to do it again, I'd probably go into board game design or publishing. I'm a bit more in tune with the board game industry than the video game industry nowadays. I'm actually actively working on several board game designs and trying to get my first game signed. Hopefully one or two of them will be a hit and I can afford to stop working a 9-5, maybe just do some freelance development part time on the side.
I would consider going back into video game publishing too, though.
1. What would you do if you were not worried about finances and could simply do what you most loved for a living?
2. Given your financial and career needs/desires, what would be more rewarding than your developer job?
I'd answer these two questions totally differently, and I suspect many in this thread would as well.
* Dance music DJ or music maker - I love me some house music. (Notice I said "music maker" - i.e. a maker of tracks/songs, and not "musician"...i just don't have the formal training to play an actual instrument...however, if time travel existed, then yes a musician).
* Indie film maker / director / screenwriter / or even actor/performer.
* Custom motorcycle maker. Although custom choppers are fine and all, I'd lean towards custom made naked or cafe racer style motorbikes.
* Own/run my own little cafe - with a few small food offerings - showcasing small, local bands, and maybe even a teen dance night. (There was a local dance club that had a teen night where I grew up, and I always thought it was such a cool idea.)
The one that doesn't quite fit my lifestyle (married, love it that way, spouse has a stable job with a set location, thinking about kids): travel journalist. My wife and I have both spent a significant portion of time living and working in semi rural areas of underdeveloped countries. I'd do it again in a heartbeat, and would love to get it all down on paper. But that really doesn't fit in with giving kiddos access to education, so maybe in thirty years!
My driver was the rant that easily followed on from the above. :) Basically wanting something more substantive, less ephemeral, more tactile. I ended up in restoration. I'm enjoying it hugely and the things I'm doing will have life of many decades, perhaps sometimes centuries.
The surprise was, even after 3 years, discovering there's still more satisfaction in physical tiredness and manual activity at the end of the day than just mental. I'd already experienced this in car restoration and various projects but assumed much was from hobby and novelty interest.
I don't know if this is normal, but I feel burnt out after working 6 years in the tech industry. So much so, that in my spare time I occupy myself with hobbies completely unrelated to software engineering. I enjoy reading books about finance and medicine, and have also grown an appreciation for cinema/film-making.
My side projects have definitely suffered as a result, because often times I find myself preferring to read The Economist instead.
Alternatively, I'd like to be a product reviewer and write about products. This may be more attainable as I was a journalist in college and still blog occasionally.
All that said, I love designing software. Don't see myself leaving the industry anytime soon.
Farming and winemaking both appeal due to the feeling that you're working on something that will come to fruition months or years into the future. Tax arrangements make small-scale winemaking in the UK somewhat unattractive (beer and especially cider get better deals), but I do ponder given it a go sometimes.
And seriously, I bought a saw, a hammer, a screwdriver last year, it got me crazy. Same as having a unix terminal and an Internet connexion.
Why is programming fun? What delights may its practitioner expect as his reward?
First is the sheer joy of making things. As the child delights in his mud pie, so the adult enjoys building things, especially things of his own design. I think this delight must be an image of God's delight in making things, a delight shown in the distinctness and newness of each leaf and each snowflake.
Second is the pleasure of making things that are useful to other people. Deep within, we want others to use our work and to find it helpful. In this respect the programming system is not essentially different from the child's first clay pencil holder "for Daddy's office."
Third is the fascination of fashioning complex puzzle-like objects of interlocking moving parts and watching them work in subtle cycles, playing out the consequences of principles built in from the beginning. The programmed computer has all the fascination of the pinball machine or the jukebox mechanism, carried to the ultimate.
Fourth is the joy of always learning, which springs from the nonrepeating nature of the task. In one way or another the problem is ever new, and its solver learns something: sometimes practical, sometimes theoretical, and sometimes both.
Finally, there is the delight of working in such a tractable medium. The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures. (...)
Yet the program construct, unlike the poet's words, is real in the sense that it moves and works, producing visible outputs separately from the construct itself. It prints results, draws pictures, produces sounds, moves arms. The magic of myth and legend has come true in our time. One types the correct incantation on a keyboard, and a display screen comes to life, showing things that never were nor could be.
Programming then is fun because it gratifies creative longings built deep within us and delights sensibilities we have in common with all men.
I have stood in a bunch of elections and lost them all. I'm not dissuaded yet.
But take the dream of a brewpub. At first glance, it takes a lot of capital, and you don't want to run an undercapitalized business - very stressful. You need runway for some beginner mistakes. And if you've never run a bar or restaurant, you'll make lots of mistakes.
But imagine five engineers teaming up to open that brewpub. Now we have 5X the capital and a bigger "brain trust" to bounce ideas off of. It's harder for the staff to steal with 10 eyes watching them. Problems which a single owner might overlook (cleanliness, service, pricing, competition) will get addresssed. The chance of failure seems much lower. Of course the return per person is also much lower - but the partners could open a second pub if successful. You have the luxury of putting a lot of brainpower on each major business problem.
Unfortunately, I have too much to do still in the applied physics world. It takes too damn long to commercialize inventions. I'd love to move on to the next new thing, but there is no one you can just hand off an invention to; if you want to see it deployed and profitable it seems you have to carry it all the way yourself.
My second choice would be as a researcher in a field of biology. As many others have said, the interest in tech lends to a natural interest in how humans and other life forms work, and I'd like to explore this more. The time for this has probably passed me by, sadly.
If anyone is also interested, I'd recommend the book Flour Water Salt Yeast (https://www.amazon.com/Flour-Water-Salt-Yeast-Fundamentals/d...) as a starting point
If I were to quit today, I would spend time unschooling my child. Maybe along the way I could rediscover some important lessons about how to live a more physically present life.
(Over the years, I have earned money as busboy, stock clerk, landscape worker, driver, proofreader, copy editor, tech support worker, and developer. At this point, I don't know that my back is up to some of the manual labor, and I think that I'm too much of a wool-gatherer to be a good commercial driver. I wasn't a bad editor, but it doesn't pay well: people know when their computer systems don't work, but don't know or don't care when their texts are unreadable...)
Pays reasonably well too if you can find work. Also most welders are people who don't put up with much BS so it's refreshing coming from pretty much any other field.
Digging ditches sounds really great at times.
And then you get to start your own D&D-style real-life dragon hoard and put it on display. Very few people are unimpressed by nature's splendors.
What's stopping me is the up-front capital requirements to lease a building, hire technicians, and buy the tools & equipment needed (you can't just use an ordinary car lift on a 50,000 pound bus).
Funny story, her school call her a couple weeks back and I happened to be in the room with her, and you could tell it was some undergraduate performing some capstone research project, and he asked her "If you could tell students now one thing, what would you tell them?" to which she cynically replied, "Don't waste your time if you hope to make a living." and "Only .05% of you will go on to have successful music careers." Brutal.
Somehow get into climate science. I almost went to school for meteorology in the early 00s but on a tour of a college atmospheric sciences department when I was 17 an old professor told me it was a hard career to get into with very limited job prospects. :(
I would never have to write a thing. After all these years in enterprise I.T., I have enough material for life.
I'll just tell them stories from real life at work. I doubt I could write anything nearly as funny as what actually happened.
Jimmy: I closed 7 tickets this week. How'd you do? Kim: I had a bad week. I opened 2. Boss: We have too many open tickets! Kim: Don't blame Jimmy and me. We closed 5.
Or maybe be an auto mechanic. Or a woodworker/metal worker/welder. Or a farmer (seriously).
Part of me wants to embrace the city and "book" knowledge to further my career, and part of me wants to abandon it and go back to a rural life and just make/repair things.
I wouldn't start with a city, though (disclaimer: I'm not a multi-billionaire), but probably with the individual building. I want to dramatically change the "footprint" of the building in terms of : ecology/sustainability, cost, value for the people investing in the real estate property.
If that's successful, I'd like to then up the target to changing whole "new" cities.
I fully appreciate how crazy and over-ambitious this might sound. Curious to hear any feedback or comment/questions about it.
Or consulting. I think I'd pick up interesting skills there. I might still follow this path by getting my MBA.
My biggest frustration is that professionally it's very easy to top out in tech. I'm still quite young and already make more than most developers. Really the only way to significantly level up professionally is to take on more risk (by founding a company).
I have fond memories of going on field trips to state parks in elementary school.
If I could afford it I'd happily code for 6 months of the year, then be a warden for the rest.
I think coding is really fun and creative occupation if you can decide what you code and when you code. I know if I would make my dream come true and would teach teenagers self defense I would end up spending my nights coding the website of my dojo by myself...
I'd describe the science behind a different technology each issue and interleave an interviews with pros in that space about why it's hot or not -- like "Mathematical Games" a la Martin Gardner, but set in a a more cultural context that made the most of the gogo enthusiasm that infused those heady days.
Computing was a blast then.
I can spend all day playing my guitar and jamming with other passionate musicians from all walks of life. I would love to take the time to explore jazz, blues and classic rock. I have guitars and I just don't seem to make enough time for them.
Unfortunately, I don't believe I'll make any real money in this space, so my assumption is that food and board is paid for by a patron so I can play music publicly in return.
It's fun and it's a nice change of pace. I've retained some engineering responsibilities. So what might be a passion project for someone on an engineering team, I develop something and then start writing blog content to help educate our audience around the subject. Our product has the ability to fire a JSON doc at an endpoint which gives you the ability to integrate us with other systems... To many ops engineers can't write a web service to bridge us with that other system. So, I'll write a small service and then after it's up on GitHub I'll write a tutorial and walkthrough of the service. If you just download what I wrote and run it, awesome. I've helped solve a customer issue. If you take my blog post and learn to write your own service, that's even better!
Jobs that you can do at your own pace, and with the kind of SEO skills I have I'm sure I'd do well. Plus these kind of jobs cannot be out-sourced.
Speculation here, the Einstein of this century will be a programmer.
Until that happens, I think the next step is to write and produce a play at my local theater.
But also I make peanuts compared to what I used to and I'm basically living on savings, so I'll probably end up going back to tech eventually. My best friend with less development skills than me just got a job for over $200k, so I can't help but feeling I've fallen off the track rather than made a positive life change.
Something that can be done out of my heart.
Most recently I have enjoyed doing physical therapy with my dog -- so that'd be another option.
Scientist - researching complexity and complex systems, my longest-standing passion. I hope to one day contribute significantly to the study of cognition and artificial intelligence.
Politician - after thoroughly studying mathematics, economics, and law. I have strong opinions on humanity's direction and my views are not well represented in US government.
I haven't ruled out any of these for a future life. I'm hoping entrepreneurship will earn me enough cash while I'm still young to fund my future escapades.
Yeah, my returns wouldn't necessarily be as high, but at least it would improve the neighborhood without unduly displacing the things that made the neighborhood desirable in the first place. Or being a generic, overpriced pile of blank like most modern pop-up construction.
I'm also a musician (synthesizers / piano) with enough skills to play in cover bands in the past. But that's a very difficult market to break into, and the types of jobs that actually make good money either aren't usually the type of music I'd really want to play, and / or are a market that I'm too old to enter, and / or are well beyond my current skillset. It's a good hobby to pass the time with though.
I figure if I can inspire one or two pupils into truly understanding thermodynamics, maybe -they- could change (or save?) the world. Doesn't seem like I'm going to.
If I was really forced to choose, though, it would be art or writing. The idea of capturing ideas and feelings, or creating worlds, characters and stories in visual or word form has a lot of appeal to me. That's probably why I make video games as a hobby.
I'm an aikido instructor already, but making a living from it is not very easy (and incredibly poorly paid compared to programming). Also I'm not sure I'd like it so much if it was my entire career.
I'm also a musician, but I'm not good enough to make a living performing or teaching. I might be able to if I had funds for two or three years of intensive practice, training and bloody hard work beforehand I suppose.
But yeah, in dreamworld I would make my living from a mixture of aikido, music and some code on the side, because honestly I'd never want to give it up entirely.
Assuming I magically had enough saved to pay for all my family's housing and food and assorted expenses with passive income, then I would probably work on the following:
- Several book projects that are in the pipeline, one near completion
- Podcast production projects, maybe a business like Dan Benjamin's 5x5
- Work with homeschool groups to teach classes on electronics
- Possibly run a small maker space
- Maybe go back to school (at nearly 50) and study some things I'm interested in: architecture, some upper-level mathematics?
- Teach again at a university level (with guaranteed income, I could afford to be an adjunct and teach programming)
Of course, the best strategy here would be make it on a proteam and become a personality. This has the added pros of my daily needs and equipment being maintained for me while in the roster (and probably better health benefits than I have now if I get a gym membership to regularly exercise and, also, no team wants an "injured" player). Whether I win a big prize pool or not, I then secure some momentum for my stream. I don't see my stint lasting for more than 2-4 years for either some external or intrinsic reason, but options are pretty open from there. If I made near the amount the top, say, 30% make, then I estimate I have a healthy cushion for at least a couple more years given my relatively modest desires. I can go back to the tech world (honestly I'll probably still contribute to open-source projects even during this period), become a content creator of a different kind or use my clout/connections I've built to find my way in a similar scene.
More than I expected to type for this prompt.
- Electronic musician (Just hardware, no software involved)
- Cartoonist / Illustrator
I lack the skills for all of them but at least I'm allowed to fantasise :)
I don't regret being a programmer though, computers are probably my favourite thing.
The other boy dream not come true (but still dreamed): being a pilot, preferably for cargo planes or other mid-sizes special missions.
Unfortunately I can't afford to pursue my hot glass dreams. My second job is providing palliative care for my wife. That takes up more than my paycheck and most of my time when I'm not writing code.
No pesky real world to mingle with your results, if a cent is missing it is because somebody took it. Also, when 0 = 0, you know when you're done!
But more realistically, I'd probably pursue product management because it seems interesting and isn't hard to transition into as a developer.
If I didn't have to worry about money, then I'd be trying to make the world a better place, doing things like spreading awareness of and advocating for a basic income.
I used to learn to paint during the whole my childhood, but I gave up to be a painter and switched to be a tech guy.
I really like paint and I do some doodles in the weekend now.
I've also always liked the idea of being a welder or machinist. Whatever it is, it must satisfy my need to tinker and experiment.
I'm shy, suck in presentations and am not very funny. Plus I work all day from my laptop without talking much.
So naturally I really really want to do the opposite, work creatively on a show to tackle that, talk in front of big audiences of people and entertain people. Maybe YouTube.
There's really nothing like living in some beautiful, tropical place where you get to spend a ton of time in nature. And diving regularly makes me feel 10 years younger.
Other jobs always seem easier, more rewarding, more exciting till you try them.
Our civilization desperately needs independent thinkers of this type. The problem is that the people who get paid to do this for a living are all hopelessly compromised by the institutional structures they inhabit (universities, newspapers, right-wing think tanks, etc)
One idea I would promote is geopolitical vacation as a third-path way to deal with refugee and immigrant crises. My claim is that geographically large countries like Canada, Australia, the US and Russia have no serious need whatsoever for the vast lands they have claimed. So they should take some of that land and vacate it to make room for refugees and immigrants. It doesn't need to be a lot of space: city-states like Hong Kong, Singapore and Dubai prove unquestionably that prosperous and wealthy societies can be built in physically small territories.
I don't think I could contribute much to an NGO if I had to leave my technical skills at the door. But that's certainly a domain that I'm interested in.
I would also love to do something in the film industry. I would start as an assistant, and eventually do something with special effects. I also enjoy editing.
Maybe writing. I don't think I'm a very talented writer, but I might try to write a novel one day. I've tried to write a few screenplays for short films, and so far they've just been awful. It's a lot of fun, though.
This would therefore probably be a profession where I either see a lot of people (doctor?) or use my hands (carpenter).
 I realize the irony given the "corrupt businessmen" comment.
Some people love music so much that they are happy making their living any way they can involving music, including teaching, playing weddings, and other functions. I've done a lot of this, and ultimately am not happy doing it.
Even though I loved touring as a musician, most of my friends that made their living touring have retired from it and gone on to do something else, as the road life makes it pretty difficult to have a "normal" family life.
I've often asked myself what I'd want to do if I weren't a technologist, and I always come back to doing something with my hands.
Indy rapper: My favorite artists are all YouTube stars (Futuristic, Devon Terrell, Kyle KiD), and I have some talent for music and I've been freestyle rapping in my car for decades. I could bring a unique perspective to rap as a black software engineer turned rapper (from python to gettin my rhyme on?).
Motivational speaker: My first career was teaching so I have experience with public speaking. Specifically I'd like to create a series of seminars that teach people how to negotiate pay raises. I'm horrified when I hear about people who don't negotiate, or accept 3% raises. I have averaged an 20% increase annually over the past 10 years and I think I can teach others to do the same.
I also spent a lot of time in my life as a volunteer firefighter and was an instructor with qualifications to teach Firefighter I & II certification classes, as well as Incident Command and LP Gas Firefighting. I love that world, especially the teaching part. So something related to teaching and emergency services could be appealing. The problem is, there's not a lot of money to be made doing that stuff, except at the higher levels.
But right now even though I'm in tech, I can't afford my rent or be able to afford a house. I feel very unsuccessful hitting 30s.
It's a passion of mine (and probably something I'd do for fun in the future) to get an old mustang (preferably ~1964) and convert it into a modern car (electric, heated/cooled seats, power windows etc.)
oh and build competition grade racing drones.
and be a tech reviewer.
Our jobs are amazing! Every minute we're solving a problem that probably hasn't solved before. It wasn't solved in our work context for sure. I can't imagine doing a job that is repetitive. Even teaching seems repetitive.
I'd love to be a farmer, a painter, a philosopher, a writer, a chef, or a combination of that. However since the world is changing so much due to technology, I'm not sure how feasible or enjoyable those jobs would be in the 21st century.
I find it a bit pointless to think too much about it, since its unrealistic, unless you're interested in changing. For good or worse I'm gonna stick to development for the upcoming years. Who knows what's next though.
You guys are not instilling me with a lot of confidence however.
Not a grease trap, but quality, but familiar breakfasts, great sandwiches, home-made pies. Superb diner coffee.
A place welcoming to anyone, young, old, family, friends.
Software Development is great. It's been a fun ride, and I've made some amazing friends, learned many skills, and of course, took in a salary that helps pay bills.
Eventually, it'd be nice to try this. There's a rush, and a large challenge to running a restaurant, but a diner brings a simpler focus. It might be a pipe dream, but since I'm not planning to execute on it any time soon, I will continue dreaming :)
It'd be far less likely to work out but I'd also love to be able to professionally produce music.
I love farming and growing stuff.
And I know it's not a "career" but being a gentleman scholar would be even more fun...
But if I were going to switch into something else, it would probably be something involving the outdoors, with a tangible physical aspect to it. Surveying?
And I've never spent any time with music but I think it would be a really enjoyable endeavor.
I use almost all of my spare time to pursue my hobbies, and this year I want to get started learning filmmaking.
I'd like to incorporate programming with filmmaking, too. I've had an idea for programmatically switching between several cuts of a scene based on user input and other variables. With enough shots and a clever enough script, one might be able to turn a film into a game.
If there's anybody locally into film, I'd love to buy you a coffee and see if we might be able to work together.
Surfing all day long could be a lot worse. You'd have to teach mostly tourists, but then you get to talk with people from all over the world too. Read the rythm of the waves a
I gave myself a target: to have my first paying client by end of April 2017. I have been photographing for 20 years, did some paid work here and there, but never found the cojones to move 100% to photography as a job.
I'm very comfortable doing my 8-5 job as dev/architect in a large financial institution. I have lost pretty much any interest and I want to do something I like. I hope my plan works out :)
Other issue is how much thinking about code has ruined my creative writing skills. There were no sign of humanities at my school, not that anyone would've had time for electives, and the "tech writing" class I tried was more interested in how to use styles in Word than anything else!
Basically, anything that doesn't involve staring at a screen all day long.
- Farmer (been there; my fallback option)
- That person who works in the IS18 infrasound station that detects nuclear explosion sound waves in Greenland (https://www.youtube.com/watch?v=vULUkp7Ttss) or something similarly monk-ish. I could be a monk but i cant stand religion.
It is very difficult to get published, and till you do, it is very hard to make 'rent and food' money (leave alone serious money) out of it (and sometimes not even then. Most non bestseller authors have day jobs), but if I couldn't be a developer for some reason, that is what I'd do.
But if I could have any job in the world, it'd be what I spend every other hour not on shift doing, and that's programming and solving problems.
- Historic building salvage crew and/or restoration of historic buildings.
- Bed and Breakfast / AirBnB / wedding venue proprietor with healthy dose of the above history/restoration work on the side.
On the more creative side I'd love to take my Arduino hobby to the next level and build interactive art installations for museums.
If I had to pick something else, I'd probably get bored.
Now I find most of my vacations are centered around traveling to ruins or going to live in small towns with interesting cultures.
Way cooler than software. FML.
I can sit for ages thinking about how movies and TV series are cut and edited, i think it is fascinating.
Surgeon would be interesting.
It is however not a big leap from the fundamental reason i am in tech.
I like to figure out how stuff works and fit together.I don't feel it maters that much if it is a computer or a human body.
Prototyping this year.
You got a serious and a kind of serious answer :D
Also, any hobby/sport that gives you big addrenaline rush + makes/keeps you fit but doesn't slowly kill you (example: (kick)boxing kills your braincells) ?
The original reference architecture for the Human Body is still valid, save for a newly-classified organ here and there.
No microservices revolutions, no development methodologies, no UI toolkits...
The feeling of learning a new word and using it correctly is like crack. I still have pretty good memories of learning words like "however" and "nevertheless" when I was a kid.
The more I read about how people in the US treat each other, the more I want to work with innocents.
Screw the money. I've got enough saved to live simply but well. And yes, I'm married.
Theme park design/engineering
Museum exhibit design/construction
Most likely taking care of goats.
Love development, but I'd much rather do it on the side than 40 hrs/week.
Half of it is shared with CS, so is kinda the same but more fun.
C is still the main language for standards so I could find myself at home, as I am a OpenBSD user and zealot.
No GNURadio here, sadly, but is WIP.
Hacking comm devices is funny.
Even something simple as SDR's are interesting too.
- Fiction Author
- Location Hunter for Cinematographers (basically get paid to travel to wonderful scenic places)
- Landscape Photographer (very hard to get paid for this I guess)
Have been doing it as a hobby but would love to spend more time immersing myself into the beautiful game.
edit: Film camera repairman
Edit: Or HV mechanic. I love big engines.
Professional chess player
Fantasy book author
Or, teaching engineering.
assuming I could live on the crap money, of course
One of the disappointing things I have learned is that many municipalities limit the visible height of residential buildings from the average grade level to its highest point to only 30 or 40 feet. That means, in combination with the depth of the frost-heave line, that spherical shells are not possible for a family-sized home, and the only feasible tornado-resistant shapes would be severely-flattened ellipsoids and toruses. I had a hypothesis that I really wanted to test regarding the humidity problems experienced with geodesic dome homes, but that one zoning issue makes testing it pretty much impossible.
I have been pretty disappointed with all of the stick-built homes I have ever lived in, with regard to maintenance and infrastructure issues. In short, I'm sick of paying through the nose for cheap, slipshod crap. If I'm going to pay through the nose anyway, I'd rather get something that could survive a nuclear strike on the nearest strategic asset, where I would never have to use a plunger in any toilet because the architect never talked to a master plumber, and never need to tack up visible wires because the existing wiring plan stinks, and also never have to carry the laundry up and down two flights of stairs because no one bothered to minimize the distance between that particular appliance and all the bedroom closets.
I just want to rebel against the existing market conditions in housing. Realistically, I would likely be an abysmal failure in that sector, and would have to return to software development--with my tail between my legs--in less than 5 years. But I'd also get a kickass house out of it, which would slowly reveal its agonizingly severe problems over the following 10 years, which would have bankrupted my company anyway, had it succeeded. Then I'd write a book about my experience, which would sell 30 copies. I'd become a bitter old geezer, and none of my co-workers would talk to me unless they had a question about our crufty, legacy C++21 module that everyone else is afraid to touch. My best friend would be a red Swingline stapler. I would be buried with it. Then concrete shell homes would sweep the nation in a flurry of unexpected popularity. I would get frequent reports about it in "The Special Hell for People Who Don't Really Deserve It, But We Torment Them Anyway, Just for Fun", which would be effectively indistinguishable from my pre-demise existence as a software professional, except Special Hell gets 3.5 weeks of PTO, and Columbus Day off, because even pure evil has limits.~
Maybe start a barbell gym.
To make a lot of money you need to be really good at it, by that I mean having slept with 100+ girls, having an amazing social life, and have people in the community that can vouch for you. Building that can take years if you are not a hot, white dude.
When I get approval with no other feedback, I become deeply concerned. For non-trivial changes I let them soak in review for longer than necessary, until I'm unfamiliar enough with it than I feel confident reviewing my own code. I often find bugs this way.
Unnecessary nitpicks that are holding Pull Requests for days/weeks are stressful though. Because they are holding a feature hostage to satisfy the ego of the commenter on an opinion that is subjective. It is especially unnerving when the commenter is dropping the nitpick and then disappears and never comments on the PR again, or only after months. I appreciate when the commenter clearly points out that this could be an optional change to slightly improve the code (or by opening a separate issue after merging).
So I'm actually kind of stoked when a code review catches a bug in my code. They're often the exact kinds of edge casey corner cases that would've manifested as the kind of heisenbugs that lead to exactly those kinds of long days and late nights - but the code review caught it, so none of us will have to go through any of that over it. Yay!
Do I wish I hadn't made the bug in the first place? Sure. But to err is human - and statistics means this err will be you averaging X bugs a month, Y of which won't get caught before the code review, Z of which will get checked in when the code review doesn't catch them either. The goal isn't to have no bugs, it's to reduce X Y and Z until it's no longer cost effective to do so (which is at a very different point for NASA than it is for your website or app.)
I'm also acutely aware that when you've been staring at the same code too long, your brain starts replacing the code that's there with what the code "should" be, and you start missing the obvious right in front of you. Again - human nature. The solution is a second set of eyes from time to time. This isn't an excuse to be lazy or to avoid trying to improve, but it is a perfectly acceptable excuse not to beat yourself up when you've been putting in the effort, and still somehow missed the fact that you were assigning a reference to itself.
What's that? You want to be human too? I'll allow it!
My team sees code reviews as a way to lift the burden of responsibility from the person who wrote the code and share it evenly among the reviewers as well, so bugs that make it through code reviews belong as much to the reviewer as the author.
I got used to the reveiws. Then I joined very small teams and I miss not having them.
If you look at it as a learning experience, you get other people to look at your code and give you helpful advice. If you have somewhat abrasive coworker, look at what they say not how they say it.
I played hockey with a guy who would just shut down whenever the play didn't go how he thought it should go. If someone didn't pass to him when he thought they should, he would just basically stop and give up as a result of the difference between his expectations and reality.
The key to getting over it is to not dwell on the work you've done in the past and just accept what is being given to you now.
If the code review comes back with bugs and you're getting stressed about it, you're probably still thinking about all the work you did in order to get to the point of committing it. Focusing on the feedback that came back from the code review and how you can implement it will help to get over the anxiety.
I'm writing a book - Programming Spiritually - that helps developers deal with stresses and issues in their work in a more holistic way. If you're interested in being notified on progress with the book you can check out https://leanpub.com/programming-spiritually
The issues I've seen re: code reviews are often due to a lack of emotional intelligence amongst developers who use reviews to promote their own ego or lack the experience to know how to craft their feedback in a cordial manner.
If it works, it has tests, and it is understandable, merge it ffs.
I do get embarrassed if I repeat a mistake and am really tough on myself in that aspect.
The stress and burnout that results when code reviews aren't properly done and production is constantly on fire is _far_ worse than the alternative.
Also a second set of eyes just really helps sometimes. That said, it's also important that your reviewer is experienced enough that they can provide a substantial code review. I much prefer a critical eye to "looks good to me" every time.
It's always good to get a good code review and get confidence than deploying buggy code to prod and worry what would happen tomorrow.
I always try to give some positive review comments as well as just getting a list of negatives is grating.
It occasionally annoys me for a few seconds when someone will nitpick the style of the code, but I get over that quickly. Usually I just change it and move on.
Was using VS Code for Go, now using the Gogland EAP
Basically, if JetBrains makes an IDE for the language then I'm using it.
Intellij for other Java related stuff. Before the dedicated IDE for golang came out from JetBrains, I also used IntelliJ for golang development with their golang plugin.
Aside from that, I use Sublime for dumping the logs/note taking etc.
Last, not least, vim!
Atom is great text editor for notes and such.
Atom/Gogland EAP - Go
Vim when I done goofed and have to change something on a server
Gogland is IntelliJ's Go IDE. It's in early access and it desperately needs a new name. It's based on the Go plugin for existing IntelliJ IDE's.
I use Atom for everything else (including small Python scripts/packages). I used to use Sublime Text but IMO the plugins in Atom just seem to be much easier to install.
For C# I use Visual Studio, Intellisense autocompletion is gteat.
For Java I use Eclipse, but in One project where I was forced to developer on a remote server with many restrictions I user vim + make + javac, It Is Crazy, I know, but It Is possible
And Sublime for all quick edits.
Just kidding: Mostly RStudio (R), jupyter notebooks (python) and Sublime Text for everything else
Really liked Atom but it always crashed with big .txt files.
I prefer code now because its features are nearly on par with WebStorm but it runs far faster than WebStorm or even Atom.
About 6-9 months ago, it was still a bit behind on features but they've just been rolling out improvements at a furious pace. The integrated terminal you can open with ctrl + ` is super useful as are some of the auto checking features. If you use something like TypeScript or Elm, you'll get detailed debugging suggestions on hover any time you save a file with any errors.
I recommend Cloud9. Isolated environments and a uniform editor/experience.
Currently on my desktop, I mostly switch between Atom and Visual Studio code, because I mostly write for nodejs, or I am trying out something weirder, like purescript, or elm, or clojure, and these two editors usually have good plugins to deal with them.
When I am on ssh, I use vim.I develop stuff in vim, in tmux over ssh often, because that is the simplest I can drag my colleague to my work env to help me :-)
If Jetbrains could embed actual Emacs as its editor, that would be the holy grail for me.
Atom for Web Development.
1. We've been trained to critique, and communicate issues constructively. This is absolutely essential to working quickly, the sooner you realize there is an existential problem with what you're doing, the sooner you can work through them. I've become an absolute user story master because of what I learned at art school.
2. Self management, I prefer to work alone because I get the best work done when I can juggle and understand all the variables of the task. This forces me to be adept at a lot of different things but also means that as a developer you can pretty much leave me alone unless I really suck at something.
3. Asking why all the time, critiquing is one thing but the worst experiences I've had are when other developers say things like "It's always been like this". For example, I came into a shop where their build process had an SCSS linter that would error if anyone tried to use a color that wasn't a variable. This ended up creating the habit of a single stylesheet with around 200 slight adjustments of colors. Critical thinking is whats important for building systems with low technical debt, and I think artists are able to realize something is turning into technical debt much quicker than their engineer counterparts.
The tradeoff is that I have a huge communication gap with traditional computer scientists, I really have to work and study algorithms on my spare time and I still struggle heavily with mathematical notations.
It was about a decade ago or so. I was finishing high school and contemplating studying graphic design or animation in a renowned school in my hometown (Les Gobelins, Paris). I befriended freshmen who were being sucked up into Flash animation trend and we started working for short-lived startups as Flash animators.
Then I discovered the works of Joshua Davis', Erik Natzke's, Robert Hodgin's (aka flight404) and it was the first epiphany I started coding. It became a part-time job and a time-consuming intellectual pursuit up till now.
I knew nothing about it, but chose Fashion Design out of curiosity and because it's an interest I could share with my sister, but kept programming everyday. I never regretted it. In some way, it's very much like architecture (technical + philosophical + social impact). I even worked as a fashion designer for a short period right after, but it was not for me.
I learned HTML, CSS and PHP, then AS3, all thanks to the massive amount of literature available. I worked part time, paying part of my school tuition. When I graduated, I used my connections within the fashion industry to work as a Flash dev in a creative agency specialized in luxury brands.
Today I'm a full-stack web dev doing mostly JS, Python and studying Lispy dialects. I currently hold a position in an academic lab, where we blend design, research and engineering to study social sciences-related question within large data sets.
I'm studying math and algorithms to make a transition for the web to other scope of interest.
I knew literally nothing about code at this point. But I struggled through it with W3schools (this was 2011, before the fancy learning platforms). The hardest part was fighting my own lack of confidence, because I had been made to believe that I was artistic and therefore bad at math and science. I never realized until that point how deeply I had absorbed this idea. Pushing past it has been a marvelous experience.
As far as applying my artistic knowledge to IT work, I'd say it's been a struggle to stop applying it. At first, my approach was very creative, and I quickly saw how disastrous that is when you're working in a team. I would catch myself trying to find some other way of solving a problem than my co-workers, because I didn't want to "copy" their work. Solving artistic problems means finding your own unique solution, but solving programming problems means almost the exact opposite.
There are other areas in which my creative side does come out though. I recently had a job where we had to reverse engineer a financial API that was not public. This sort of quasi-hacking is kind of perfect for creative people because it forces you to think outside the box.
Now that I teach and coach leadership (not IT work, so different than the question asked), I find art training tremendously valuable. Our educational system is strong on intellectually challenging people, but socially and emotionally teaches more passivity and compliance.
Creating art forces you to express your emotions, be sensitive to others', to face criticism on what you consider beautiful, to face vulnerabilities, to grow and learn in ways that lecture, problem sets, case studies, reading, and writing papers don't promote.
I also took some acting classes. Their structure has become the structure of how I teach, which gets very positive reviews from my students. They commonly comment that they never learned this way before, that they didn't know they could learn what they do in my courses, that they value it deeply, that it's immediately practical, and they wish they had more of it.
We teach fields that are active, social, expressive, emotional, and performance-based differently than academic subjects and that training teaches genuineness, authenticity, self-awareness, and other things that traditional academic education doesn't.
Followed it up with an MSc in Computer Science, looked into careers as a developer but lacked the experience/aptitude for a coalface coding job and was hesitant to go into IT consultancy. Ended up opening a board game caf with some friends instead so all's well really.
I'll definitely go back to coding / making, but as a hobby not a career. The skills definitely translate in some sense, but for me the most beneficial aspect is just having more ideas for cool projects. And maybe a greater willingness to spend time doing silly stuff because I enjoy it - not always for a lofty intellectual/societal purpose.
Also, reflecting further, more than anything, the sheer amount of reading that I was able to do during my MFA taught me more than I think I give that time credit for. Days I was forced to do nothing but read/translate ~12-14 hours to get through coursework. Greek pastoral poetry and the Augustan-era Roman derivative have been influential.
Informative and encouraging to read all the responses in this thread. Thanks, iansowinski and all!
It's difficult to justify in some ways. Most of the practice-based work I'm doing I wouldn't really show as commercial art, it's introverted and 'academic' (in a Fine Art sense). Things like simulating a DDos of an online artwork and looking at that as a performance within the history of iconoclasm. Also anything technical is self-taught so I feel fairly certain I couldn't step into a coding role straight away - too many holes.
However, I've learned loads of assembly, python and general reverse-engineering skills and really smart & weird people constantly make me prove the point of what I'm doing within a context that I believe in. It's a context that's not exactly native to the materials I'm using, none of my peers have experience with what I'm doing on a technical level, so I'm forced to both "code switch" with my language during critique + think about computers in a way I never would in a CS degree (having spoken to many people with CS degrees). I love it. Art school forces you to lay down your own markers. Mine are that in the end I like what I'm making and I hope that it can add a small piece to our knowledge.
I have worked in a silly amount of industries, from retail to cleaning beach houses to coaching ceos. I have consulted for large energy companies, small non-profits, and, most recently, marketing agencies.
A friend in the startup game inspired me to stop dabbling and make a go of it as a coder, mainly for $$, but also because I enjoy endurance problems and painful growth.
I make art because people are fascinating. The emotional systems they construct around themselves- and the systems they are woven into- endlessly blow my mind.
Making good art requires a fascination with human systems. All of them.
I have stood out to my employers as someone who 'isn't like other coders' because I am interested in the emotional stakes of their lives, and have developed the skill of re-communicating those emotional stakes back to them in an artful way.
Art teaches you to see. This is helpful, socially, professionally, because most people want to be seen.
This understanding has been powerful and lucrative, for sure.
The creative writing workshop process also thickened my hide and killed unproductive parts of my ego.
Most professional meetings with supposedly 'high stakes' don't come close to the kind of personal vulnerability required to put your poem, your inner life, in front of a group of strangers.
I agree with lots of responses in this thread about the roles of conceptual integrity and openness to criticism.
The other thing I would add is that my path to programming seems to have given me an orientation towards the outer shell of what I'm delivering, whether that thing is sensory or not (i.e. GUI or API). That's not to say I don't care about internals and constructs, but that I care about them _in service_ of that outer thing. Midway through my programming career I learned about real outside-in TDD and it was like a lightning bolt where everything came together and anything seemed possible.
It saddens me to hear about the supposed importance of STEM education, as if the only thing left to do in today's economy is to deliver predictable implementations of finite technical problems. IMHO, this attitude is doing a great disservice to society, to individuals, and to the field of engineering itself.
 I needed CS 121 for a math credit that year and failed. In retrospect I realize that the class was entirely focused on for loops and divorced from the eventual goal of writing software. As a study in contrast, I was simultaneously taking "Programming for Artists" taught by the creator of Kid Pix. I learned a smaller set of skills, but really caught the bug for learning more. (Teach them to yearn for the sea and all that.)
 Ok not entirely. Some programming constructs are beautiful in their own right (e.g. map/reduce, CQRS, polymorphism...).
After getting through all the courses that interested me I dropped out to travel and then fell into a few interesting jobs that kept me otherwise distracted from going back. I would 100% do it all again. The only thing that I'm super upset about is that I did't fall into the live coding community while I was there (this was literally happening at the same uni https://www.youtube.com/watch?v=yY1FSsUV-8c).
One mindset that it solidified in me was when building things come up with the concept first, then figure out how to make that happen. That may be easy, or it may not. But at least what you're making will be worthwhile.
I work in the audiovisual industry today running an R&D lab for a systems integrator. We create presentation spaces, high-end corporate facilities and VC suites (which are still apparently a thing), a little bit of broadcast work, some stadium projects and lots of large format displays. When I'm tied into projects I'm usually end up rolling with some systems engineering, DSP programming, a bit of embedded dev, UI work and network engineering.
About to begin something new and rather exciting too.
After studies I was working very seriously, created a strong portfolio, was specializing in branding.
But design (and other types of (applied) arts) is very uncertain thing. In design for you 2+2=4, but for your client 2+2=7 and for the target audience 2+2=46. There are no objective criteria how to measure graphic design.
In programming 2+2=4.
Another bad thing about design is that non-designers are able to create design. Yes, their design is bad, but still they can do it by themselves.
In programming there is a big entrance barrier. That is why clients never DIY. That is why clients have bigger respect for programmers.
Before studying arts, I was in tech (when I was 11-14 years old). I did some linux, tried C++, web design etc.
Now I am 31. The last 3 years I'm mostly in development. Now I also do front end coding.
Arts can be very hard. Artists lack money, lack respect...
Yeah, you can do web design and get some decent money for it, but it is so mechanical and superficial. Once you learn it, there is nothing new to learn anymore. Just repeat the same. Follow some trends, that's it.
I like programming because there is a lot to learn. There will always be something new and exciting to learn. That's not the case with design.
Anyways, I really don't want to go back to graphic design and work with clients. But good that I got these skills. Now I can create an app (idea, design, development) completely on my own.
As a hobby I also participated in the demoscene and saw how very advanced technical approaches and art intersected and found a deep interest in software and technology.
Mix and stir over a couple years, add some time in school studying computer science and management and bada bing bada boom.
I learned to have an opinion, to spot quality, how to make compromises, how to make short term goals that achieved long term goals, how to lead, how to manage and so on. All these skills have served me well and I happily work alongside people with very intense and deep technical backgrounds.
The downside for people in this field is that we need just one for a team of 25, whereas we have nearly 18 engineers. Competition could be fierce for these jobs, but I'll never start another company without a design co-founder.
I was beyond lucky to get a design job for a small startup on craigslist doing just design. From there I just wanted to help the startups I was working for move faster. So I learned to do better with HTML, CSS. And then JS and PHP just to help feature development go faster.
Eventually I found the programming interviews much easier then the design interviews. Though to be fair I don't think I was that amazing of a designer.
I got a few jobs doing all front end development and now I do all node / js/ react code.
While I lack any formal programming training what I do have is a really amazing relationship with the UX designers I have worked with. I have a feel for what they want and I care about what they are trying to accomplish. I am also better able to find good middle ground to compromise feature development on.
I think my focus on UX as a developer really helps me put out the best possible features.
While there seems to be many people in this thread with an art background I have found very few in the places I have worked with similar backgrounds.
I taught myself programming (C++) when I was 15 (1995). I made simple puzzle games on my Mac.
The internet got big and I got into HTML and JS.
I didn't go to college for Computer Science b/c it sounded like I'd end up wearing a white coat and working at IBM.
I went to Art School b/c it was the closest thing to programming. Programming and Art are the same in that you create something from nothing.
When coding became "cool" (2004 ish) I picked it up again.
# Don't sweat on Math skills. There is a vast majority of area were your logical reasoning would just be enough.
# Don't let your artistic inclination limit your initial learning process. If your basics are strong - you will never feel like drowning.
# Don't let any source code scare you. Trust me - it's always easier than it looks.
# Don't try to pick a domain as the go to destination - not yet. You can take informed decision when you have hands-on experience.
# Don't try to have just one trick up your sleeve. Width is more important until you can hit the depth.
# Don't marry yourself to any technology but choose your allegiance(eg. Open Source).
# Don't miss local developer meet ups and conferences.
# Don't pick a big corporation or become a freelancer or any remote jobs for your initial stint. Startups are the best place but with the development team size being more than two people.
In particular I've learnt to apply the many of the concepts I learned from graphic design/illustration to problems in software engineering. I also learned that for all the differences they had, they were both about problem solving, merely in different media, and that right-brained or left-brained, I'm more interested in solving problems than I am interested in the context in which I solve them.
Also, art students are on the whole way more social, so I learnt to communicate on a whole different level than I had at high school.
Also, way better drugs.
I started out as a graphic designer, moved into web design and then into programming.
My degree, and study of lithography, painting, sculpture, etching and more has made me the professional I am today. Studying art is all about the need for rigorous process and attention to detail in a creative workflow. This is what programming is. I have no doubt that my education and experience as an artist has improved my ability to think critically and solve problems as a programmer.
You may get more insight with the following question "Have any developers coded with someone who had an art degree ?"
My experience with a former artist proved challenging mainly because they refused, almost out of principle, to adhere to our company's design patterns and best coding practices. They felt that coding should be an expression of creative writing. The result was a collection of anti-patterns and dismissal of our naming conventions.
It was like explaining to a poet who now works with physicists that there is one and only one word for "force" and that word always means mass x acceleration. If you want to destroy the spirit of a poet, take a way all synonyms and metaphors.
There is certainly creativity in software development, but it is in extracting simplicity out of complexity. It is not forcing it into the embodiment of the code itself. The heavy constraints imposed in software development can be a source of frustration to someone from an art background. It is not too hard to overcome with awareness. My comment is not meant to be discouraging. It is also a single data point, as are all the other responses.
I've been programming and writing since I was quite young, mostly making games, but wanted to make a go of it as a writer. I went through an AFA and BFA program, but became less impressed with the quality of my own writing, and the output of MFA programs, as I went on. Because of my love of programming and interest in intellectual property law, I decided to go to law school instead.
While in the BFA program, I had started to develop tools to help me track vocabulary, word usage, sentence structure, and analyze other authors works. In law school, I did he same thing, building chrome extensions to speed up trademark searching, building toy-scale trademark watch services, and a variety of other projects.
Having the practice making quick prototypes of useful legal products was useful when finding a job. An automation focused legal company hired me during my third year of law school, and I've been building tools to help them automate all sorts of business tasks ever since.
Some of the key things from my art school days that still help are my ability to handle and give feedback constructively, and a willingness to quickly try new things to see if they'll work.
If anyone has any questions, don't hesitate to ask!
More applicable to programming has been my minor, English. I think English composition, the particular kind taught in The Elements of Style and On Writing Well, is very similar to programming. This school of writing is neither The Chicago Manual of Style (put a comma here) nor free, self-expressive, creative writing that I was mostly taught. It's all about economy of words (which maps directly to economy of code), making every word count, and putting yourself in the background as you work to serve the reader (or the user).
I also loved drawing and have studied graphic design. This of course helps in the design of user interfaces. Although, like my writing, it's not about creative self-expression but being clear and direct and getting out of the way.
As someone who matured as an artist on the cusp of the transition from analog to digital, I feel I have a one foot firmly planted in both. Analog is more forgiving, the digital environment requires rigor. Now I am more or less a designer by paid profession (and a sound artist by chosen profession) and I make web sites for a living, mainly for cultural institutions. (Mostly using Drupal, in case you are interested.) I went from xerox to here by essentially being fascinated by publishing, the sheer difficulty and amount of work it took to put words on paper; and thence to the web, where it became somewhat (ahem) easier.
Worked as a freelancer web dev for a while, did IT helpdesk, went back to tech school, got involved in hackerspaces, got a job in machining which was more stable than web dev work & less mindnumbing customer facing than helpdesk. Paid my dues and worked my way from running machines to building machines, programming PLC's, and writing programs.Now I'm part of the Advanced Development engineering team. I spend a lot of time pulling data to run reports, 3d modeling parts & assemblies, & hands on troubleshooting of our prototypes.
Web development helped with the industrial programming I deal with & the art degree taught me visualization, deconstruction, and problem solving.
Anecdotally, I used to scour McMaster Carr for parts to make for sculptures. Now I actually order stuff for it's intended uses.
Right now the crossover between the arts and virtual reality is incredible. You need to be able to: dress a set, light it, do sound design, puppetry (avatars/rigging), sculpt / model, paint, and code. Artificial intelligence for agents and their behaviors. Narrative to tie it all together. Oh -- and to take risks, withstanding brutal critiques while taking the advice that helps and ignoring the advice that doesn't. To document the entire process, present it in public, and speak about it with alacrity. How to research new methods & materials, and adapt them to your practice.
I'll take a second to plug all the programs at UC Santa Cruz -- Department of Computational Media, Center for Games and Playable Media, Digital Arts and New Media MFA.
Forget the tech, the syntax of languages, and look at what you are actually doing -- You have a vision of something you want to build. You have a selection of tools with which to build it. You start from nothing, and build up to your vision. But it will only be considered a success if other people like the result, and comprehend what you were trying to do.
That process of creating something from scratch is exactly the same in Fine Arts, or in software.
As far as how I got into tech, the story is pretty boring. I graduated from college in '94. Needed a job. IBM Research was hiring support people. I applied, got the job, moved from support into coding over a couple years, and just worked my career from there.
It helps with general product solutions and obviously design and content choices and strategies. It helps with big picture concepts and with confidence in experimentation. I believe it sharpens general intuition, which could be handy in IT.
Studying art thoroughly over a few years by looking at other artist's work in detail and doing your own art, sharpens your command over "less is more". You become better at peeling away layers to get to the essence of things. You become better at avoiding nonsense and you may learn to communicate ideas in new ways.
I liked the balance the degree gave me - a clean break from both subjects. shame i dont get to practice german now, and shame we're leaving the EU
I got my degrees in the early 80s, just as the microcomputer revolution was heating up. Up until then, I was totally unaware of computers and computing. Math and science didn't really interest me growing up.
After leaving college, I got an entry level job as an artist that was fairly menial: rendering toilet seat covers and drapes for a local department store for local paper B&W advertisements. Left there to work for a now-defunct children's book publisher in 1982 or so. Was illustrating teaching aids as an in-house illustrator. A year or so later, the company started a division to write educational software for the Apple][. This was the first time that I really got to see and interact with computers.
Well damned if i didn't fall in love with the little things! I immediately got friendly with the developers writing the software (one of whom I know and work with to this day!) and asked if they would teach me how to program. This meant learning 6502 assembly language. So after working a second job for six months to save up for an Apple][c, I really hunkered down and learned. As it was, I was burning out on the "art on demand", cranky art director world of in-house art departments and decided that I'd like to get a job as a developer full time. So I basically stretched the truth about my background and landed a job writing Mac software (in 68K assembler) for a printer company in 1985-86. From there I was off and running.
As far as using art in my everyday work, I am certainly drawn to GUI work and can both design and code interfaces if needed. In working with UI and interaction designers, it is often easier for me to see what they are after and to implement the "spirit" of their work, so in that sense, my art background does really come in handy. (this is starting to sound like an interview answer--sorry about that)
Also, I've never completely given up art and still work on illustration (and writing) side projects to this day. It's the only way for me to let off certain creative steam.
The skills necessary to build a complex novelwriting characters, scenes, plots, and pacingseem to have translated quite well into building complex software applications. I never consciously applied my writing skills to my software development. I just recognized that I was going through the same mental processes for both one day, and that the quality of my software, and the speed at which I could write it, had improved.
Occasionally I also do art projects with decent sales through a NY gallery.
I have always seen art as exploratory, a frontier where you push what is thinkable and communicable. An example would be the literary pioneers that preceded space exploration. In other words playtime to widen your perception before you narrow down on a problem and solve it.
The funny part is that I have a computer engineering degree though..
During High School, I loved 3D Modelling, Computer Music Creation, and Web Development. I thought about the possibility of majoring in CS, but like many, was discouraged by the amount of Math.
After my stint in College, it wasn't difficult for me to find a Technology related job. For eight year's I worked a mix of Support and System Admin roles, I became fed up with the "Cost Center" side of the industry. I decided it was time to pursue Software Development full-time.
I choose Web Dev as a way into the industry. I hunkered down and studied the "MEAN" stack, learned Python, experimented with C, and C#. Many interviews later, I found a Startup crazy enough to give me a chance. My life was changed forever. I was now a Full-Stack Developer.
I'm amazed by how much I've learned since then. About proper architecture, testing, general CS. I've been able to work with Angular, React, iOS, Android, Rails, Node, Spring, the list is endless. That Start-up has since been acquired, and I now work for larger Corporation, but I couldn't be happier.
I believe my time in Art school was invaluable. You learn creativity, expression, and not to fear critiqued.
While going back to school for CS is on the back of my mind, I have no regrets with the path I've chosen.
I started out wanting to pursue computer science, but those classes didn't fit into my schedule (I did my freshman year at UCI and senior year in high school at the same time).
The only class that fit my schedule was a Visual Arts class with a "New Media" emphasis. At this time I was also working at the local paper and putting their site online (this is around 1997).
I got hooked on the theory behind the why/how/engineering of the Internet, art, computers and how all these intersected. I liked that art was putting a mirror up on humanity as it got more and more connected.
I ended up going to UCSD in their Interdisciplinary Computing and the Arts program, then to UCSB where I was in Media Arts and Technology and doubled MFA'ed with Visual Arts (Computing Emphasis).
I did a lot of installation work, a lot of interesting programming with AI and the like.
From there I started the technology department at Warner Bros. Records, ran Live Nation Labs, and currently the General Manager - Digital at Fender Guitars.
I think the art background helped me bridge the arts/humanities and technology in an interesting way, and keeps my approach to tech grounded in the artists and artistic practices I've worked in.
This was actually a somewhat reasonable progression, although if she had known for sure she wanted to do architecture when she was applying to colleges, she could have saved two years of her life and gotten a five-year undergrad bachelors of architecture degree instead.
My job is quite interesting because I lead both design and development for most of the projects I work on. Each process informs the other, for example being aware of what's going on in the development world can help establish and hopefully push limitations in the design process.
I've found clients really appreciate someone who understands why design decisions have been made as well as how that design will function and the process of implementation. I can usually talk a client through an entire project without having to check in with a different department to see if x is possible or how long y will take.
However it is very difficult to find employers who are looking for someone like me, everyone seems to want one or the other. So I can't hop between companies so easily and my salary has pretty much stagnated as a result.
Uni taught me how to concisely think through, package and present ideas to people; and to be able to pick apart unfamiliar concepts until I was able to understand and analyze them.
I've built a successful consulting business out of combining the two and acting as the bridge between engineering teams who typically have a deep understanding of the product but struggle to explain practical use cases; and marketing teams who sometimes lack an in-depth understanding of how a product works but know how to sell it. I've had CTO's tell me they can't believe I've never worked FT as an engineer. I've also had people ask me what Hegel could possibly have to do with technology but ultimately software and marketing are about people and what makes them tick.
When I got burnt out of being a violinist, I found it pretty easy to transition to technology. But I will add the caveat that I had an insanely good violin teacher who taught me everything in terms of solving problems. I had an ear for what seemed artistically "right" for various pieces of music since I was a kid. Thanks to being the youngest in a family of professional musicians. I grew up with that stuff.
Software is about solving problems. I think there's a link to almost any artistic endeavor that solves problems. In my case, it was the problem of how to communicate what I wanted to for the audience in front of me.
It's different for everyone. I will say this, however: being a good software developer is thousands of miles easier than being a good artist. If you've done the hard work it takes to be good at being an artist, you can succeed as a developer. And it pays better as well.
email me if you'd like to talk more.
I got into open source software and programming after graduating, and it eventually led to a career. I wouldn't say the artistic knowledge does anything for my work per se. But I do view development as a creative process similar to art. You start with an idea and some "raw materials", and gradually add or remove until you get the desired end result. When developing, you can start with design documents and prototypes, which is like doing sketches or mockups. I'm also pretty perfectionistic about code aesthetics and quality, so there is an artistic element there.
But as a student, you also need to take charge of your education because there are pitfalls in much of the standard studio art curriculums (I'm a tenured professor of art. I see this up close....) The older pitfall is an emphasis on art training as the development and articulation of a personal visual style. This approach doesn't help you the long run and isn't particularly helpful when your goal is to apply your knowledge to IT work. The current pitfall is seeing your education as a checklist of training and mastery of specific software packages. This is often built into the course sequence of degree programs. I think this reflects the wrong approach. An art education ideally provides you with great powers of close observation, pattern making/matching and systems analysis/creation. It teaches you to trust your own abilities as your ideas come together. It teaches you patience. It builds critique and review into the creative process. And it ties you into a long history of people exploring the expressive possibilities of a diverse range of media systems. This is a great legacy to be a part of.
My advice is to make sure there is room in your schedule for other liberal arts classes that involve reading, writing and discussion. These skills will help you bridge the differences between your approach and the approach of those your work with who have a more technical background.
I love working with technology, and while at times I wish I had more knowledge in CS and math, I wouldn't change a thing about my background.
I actually don't do fine art or graphic design much these days, though do want to do more on the side. For intranet apps it's just easier/cheaper to get a canned layout than design one from scratch. I do value my art education for teaching me some mental approaches to problem solving in app dev. In painting (usually), you work general to specific. Block in the big picture, then break down into more and more detail gradually. I take this approach in my apps: understand the problem, then go and block out the main classes, pages, etc. I gradually add code, adjust layouts, etc until it does what the customer needs. I also grew a thick skin in critique that I think helped me listen to criticism better ;)
I do feel I had some lucky breaks to be a fine arts major with a paying job. People took a chance on me that maybe not all art majors would get. But I do 15 years later still appreciate both and am glad for my art major.
I originally taught myself HTML, as a teenager, approx 16 years ago. The web was a continuing interest in the following years and the work of people like Joshua Davis, Daniel Brown and Yugo Nakamura was a significant inspiration.
After graduating I was looking for work and found plenty of demand for the basic web design and development skills I'd been gradually acquiring as a hobby over the preceding years. Consequently, I started dedicating significant time to improving my programming skills and establishing my career as a developer.
Similar to the comments of others on this thread, I've found the key benefits of my arts background to be schooling in:
- critical thinking
- visual / aesthetic fluency
Two notable differences I've found between the two fields:
1. STEM vs humanities
Currently, developers often tend to have a science / mathematics background or an affinity with those disciplines. Work that is often considered most effective in the arts is ambiguous and open to multiple interpretations. This is quite a cultural difference from the empirical search for knowledge in the sciences or the eternal truths of mathematics.
2. Social status
The respect accorded to developers in comparison to the majority of professionals of the visual art world (artists, curators, educators etc) is extraordinary. Societies frequently don't seem to know what the purpose of art really is, especially given that the arts often have an obtuse or outright critical relationship to capitalism. Developers, as the key technicians of the information economy, in contrast typically receive a great deal of autonomy, prestige and financial reward for their work.
These days I spend more time writing code for the artists than I do working on the art, but I'm sure that past experience is useful in communicating with others. Also, code itself is an art form. I like to think that past experience allows me to write better code, especially visually appealing code, whose importance I believe is oft underestimated.
For what it is worth, I have found the context switch to be particularly interesting. When I have been away from what is traditionally considered art for long periods, it takes a lot of failed attempts to get the mind back into the artistic mindset. It always comes back, but what seemed natural at one point in time does not come back naturally in an instant. The same is true trying to go back into the programmer mindset when focusing on artistic endeavours for long periods.
I was always interested in drawing as a child. Naturally I gravited towards an art degree in college. In my sophomore year I took an interest in programming and for my junior and senior year I essentially split my time between programming and graphic design courses.
Understanding art and being able to appreciate fine craft has made me a better developer. I spend more time (trying to at least) do things the right way, or to write more efficient and elegant code.
A quality art degree from a well respected university will almost always teach students to think critically. There's a constant questioning that happens as an artist and the good ones are almost contrarian in nature. Employing a bit of this critical thinking in the tech field can take one a long way. Unfortunately that type of thinking is currently under attack.
I realized that it is more important to have width than depth in many circumstances. That is to say, knowing a little about a lot of things instead of knowing a lot about one thing.
For example, in my web dev work, I need to be able to cooperate with the graphic designers who provide the designs for the product to me. Being able to talk their language and understand the tools they use is tremendously helpful. I'm also able to apply the principles of visual design in my own projects instead of needing a designer to review all my work.
And I still try to do art on the side. After I changed my major, I took a printmaking class and discovered my favorite kind of art. I'm planning on doing more of that after I graduate.
The greatest mistake people make about computer programming is that they believe it's an engineering discipline. It's not at all: It creative fine art - just like drawing or painting.
I'm movie critic and also appeared in two movies. And made some small ones.
HR asked me the same once. I answered: As architect you are generalist. You have to be scientist, and you have to be artist. There's not so much difference, and from all the differences both have their good and bad parts. Artistic knowledge is not different to engineering knowledge. Just artists are different :)
The biggest difference is that in theatre, you can't miss your ship date, because you've sold tickets and there are folks in the seats. That curtain is going up at 8 regardless of whether you're ready. The show must go on.
On the other hand, software engineering and theatre also couldn't be more different. Theatre by definition is a transient art form. It exists while the show happens, and then disappears. Long term planning or design just doesn't happen (this is probably different on Broadway and the West End) because you only need to make it through the run.
Today i apply my artistic knowledge a lot when i do prototypes or when in the company there's a lack of designers. The other good thing is that when i enjoy myself building little games or web apps, i can create the assets myself.
On the other hand, art has definitely influenced me as a person. Its like meditating, when I visit a museum, an art gallery, or even watching art online I feel very much relaxed and contempt. The other thing that's great about art is that it helps you understand yourself better. Art is a sentimental stimulant and as such helps you explore your inner self and your emotions.
Nonetheless, I learned many useful things in that introductory year of Graphic Design. The program placed a strong emphasis on design-thinking and critical feedback. Those skills are valuable in any line of work, especially in programming, which often requires artistic or creative thinking.
The graphic design courses also improved my code review process (toward self and others), and it improved how I think about usability when writing code I focus much more on the next person who might work on/with my code.
Regarding the impact of my art background on the job: im recognized as the team expert on making charts, visualizations, and documentation. I have been able to improve our processes by applying a clean visual approach to describe and document our work.
As others have mentioned, one of the most valuable aspects is critique and all the benefits of being able to be critical of what you see as well as what you make in a constructive way.
The other useful bit of knowledge that I employ rather often is frequently referred to as the creative process. The process of starting with a rough exploration and refining it iteratively, or moving quickly through many explorations until you find one you'd like to refine. Basically, a toolset that enables you to go from nothing to something regardless of the tools you are using.
I now do interaction design, and there was a lot I learnt in animation that's helpful. Mainly about trying to convey ideas clearly. You learn that when someone else comes to something you've done, you need to lead them clearly through a story that makes sense. Build on concepts they already understand. Draw the eye to certain details or characters. Basically that the work has to stand on its own, if you have to be there to explain it it's not very good. Same with interaction design.
For me (as student still) it's interesting to see some similarities between software development and design. I consider programming as some form of design - solving problems is design mission from its beginning. It's nice to see people applying experience in solving macro problems (design) to solve micro problems (programming).
Also we all are a bit like Eames - trying to find better and better solution.
Actually, probably most useful were the presentation techniques, including matting & mounting techniques we had to learn to properly present photos as used by galleries. This translated directly to my web presentation techniques.
At the time there were very few people taking this type of approach to art/design making. Digital arts meant using Photoshop not writing scripts. Nowadays more and more creatives from various disciplines use code as a tool of creative expression. Processing.org (direct descendant of Madea's ideas) is a huge community of artists who code.
What I find interesting is the cross over inspiration between the disciplines. Learning some new tech or algorithm feeds my ideas for visual works. And studying (traditional) artworks pushes me to develop programs to create similar visuals. One side very often inspires the other.
Often working on multidisciplinary teams (on multimedia type projects) I feel like people who have exclusively one type of background are somewhat handicapped. Artists who fear code are dependent on geeks to implement their ideas. And coders have to hire designers to create interfaces to their inventions. A lot gets lost in the translation!
Individuals that have knowledge and skills on both side of art/tech equation seem tremendously more innovative and can move forward much faster with their ideas. Ability to create complete functional prototypes or demos that work and look/feel good without having to ask/pay other people is freedom! I wish education systems recognized this and brought technology to art schools (beyond mousing in Photoshop) and arts and design into engineering schools.
In practical terms I use my dual skills working as UI/UX and data visualization designer/developer and I have an art practice creating dynamic images with code. Recently I won commissions for digital fine art frame company to create series of generative art projects. (I was told I was the first artist who codes they work with...).
In summary, amazing creative thinking and innovation happens at the intersection of fields and it might be difficult to quantify, but individuals that step outside of their main area of expertise always benefit in my opinion.
- A habit of taking nothing for granted, interrogating everything. - Comfortable dealing with ambiguity.- A broad communication toolkit.
There was another post about what you would do differently if you could and it would be more creativity but with a scientific twist to it, I don't know... maybe science fiction? Maybe teaching. Maybe sailing like those kids 'la vagabonde'. So inspiring.
Costs around $2500 per year for three years. I'm currently halfway through and really enjoying it!
That's my path... got a degree in the recording industry: Music Business from a TN state school and worked at labels for a bit before leaving. A few years later I taught myself how to code for one of my startup ideas. Fun startup journeys none monetaryily successful but had a great time riding that rollercoaster and learned an in demand skill.
Now in govt. IT and contracting which is the best place to be professionally/financially on the east coast.
Works for me, as I consider mathematics more art than science (i.e. it's mostly useless), but this is probably not what you had in mind by "arts degree".
I don't apply my mathematical artistic knowledge at work. I mostly used my degree to impress employers to get programming jobs ("ooh, maths, this guy must be smart," ha, right), and I do mathematics on my own for the cold, austere beauty of it.
The biggest hard skill that is transferable for me is in the making of presentation artifacts. I am better at documenting, commenting, and organizing my project structure because of the training I've had in explaining the design decisions behind my work.
My design background informs a lot of what I do now especially in the UI/UX realm. I feel that it's an asset and sets me apart from other devs who might have taken a more traditional path.
I also took a shorter computer science degree. I'm only half joking when I say the skills I obtained studying history is more applicable in my work as a developer, than what I learned studying computer science.
I interface with designers daily and it's great to see their eyes light up when you says something like "yeah I can increase the leading, no problem".
Her slides always look amazing. I can't comment on how else her artistic background has influenced her work.
I never expected to go back to school after high school because it was so boring. It wasn't traumatic, I had lots of friends and many good times and learned one or two things, but it was mostly just a poor use of time. And they made me wake up so damn early.
I got my first full time job in IT at 17 and had almost 5 years of experience (tech support -> jr. sysadmin/datacenter stuff) before taking my first sociology class on a whim with a friend, expecting to hate it. Much to my surprise, they treated me like an adult, and I had a great time. Seattle Central Community College was a very good school for me.
I got an AA in a 7 quarters (1 calendar year = 4 quarters, by the seasons, more or less...) and had a high enough GPA that I was automatically accepted into a BA program at UW in the math department. Shortly after, I switched to modular logic. Shortly after, I switched to philosophy. Shortly after, I switched to and settled on English, and spent almost 3 years completing it (while working part time) and took it pretty seriously. I did all of my homework and went to the vast majority of my classes and even took notes and went to office hours and study groups.
5 years of full time work in a 100% OSS datacenter/ISP (with root) left me with (significantly?) more skills than your average BA CS/CE grad (and having interviewed a lot of them, I am pretty confident in this). One big exception being algorithms and not as much programming experience. But I had a lot of practical "real-world day to day stuff" knowledge.
For that reason, I purposefully only took the one required "computer" credit I needed as part of my humanities degree. I was able to talk a nice CS teacher into letting me into a 3rd-year level Java class to improve my OO skills. I met none of the prereqs (like, not even remotely close), but within 10 minutes of talking to him in his office, he waived them all and let me take it. I think I got a 3.2.
The English dept. was great and I had a great advisor and so many great teachers and fellow classmates. I ended up taking mostly night classes because they had more adults and were a significantly more interesting group to me. I drifted toward English because "I like books" and, for some reason, really enjoyed reading all of those painful literary tomes and busting out all of the essays. So many essays. I did well and was dean's list almost every quarter. I stayed 2 quarters longer than I needed to, on purpose.
After graduating I immediately went back to IT and have been doing ops (OSS system/network engineering) ever since -- about 10 years of it. Still working on our own hardware in datacenters across the world, complimented by cloud services here and there. Stuff I was doing as a 12 year old (ie: minicom to talk to stuff via serial) is still stuff I do at least once or twice a year.
I mean, I guess I briefly looked into the job market that an English degree usually veers towards. Teaching? Writing? Journalism? Technical writing? Manage a bookstore? IDK. But realistically, since I was planning on staying in (expensive) Seattle, the choice to go back to IT-land was pretty obvious.
The last thing I'll say is, you'd be surprised how useful an English degree is in the IT world. I mean, English is basically taking this big pile of words, trying to make sense of it all, and then trying to use them to state interesting things about people or objects or whatever. Software, on the other hand, is often about sifting through a lot of documentation, working with a lot of different APIs and config syntaxes and databases and init systems and revision control and centralized configurations and dynamic scaled platforms. Then putting it all together into something useful for some developer for some company (ie: their platform!). Or something terrible -- like an ad server.
No regrets what so ever. If/when I retire, I may go back for an MFA, and maybe even a PhD in English lit!
In my experience, if you enjoy creating art there's a good chance that you will enjoy coding. Programming is creative and code is just another medium.
I started my studies just at the turn of the millennium, when old analog equipment was being replaced with a first wave of digital products. At school, the very last 16mm editing desks had just been carted off to the basement and replaced with Avid workstations consisting of classic MacOS computers and Digital Betacam decks.
I already had a software hobbyist background; I knew C and understood graphics algorithms to a reasonable extent... So it became obvious rather quickly that there was more opportunity for me in participating in this industry's software disruption, rather than trying to build a creative career in a small Nordic country where the film industry operates on government subsidies.
In 2002, the ATI Radeon 9700 was released as the first GPU with fully programmable pixel-level shading capabilities and floating point support. It was clear that you could do pro-quality video processing in realtime on this hardware: it cost a minimal fraction of whatever Avid and others were peddling and was 10x more powerful. So I jumped on that and started a company around GPU-based effects software a few years later. I was terribly bad at the business side, but it was great otherwise, and I'm still working in the field of content creation software.
Film school was extremely useful for a software career in two ways:
1) Editing a film and developing a software package are fundamentally similar on some levels. There's a certain set of "raw materials" that you have to work with and can't change without extreme cost. The raw material is based on an idea and specification that existed at one point, but you have to evaluate the current situation as objectively as possible and ignore the original intent to some extent, because the viewers/users won't know it. Shipping something will require you to make sacrifices on things that everyone originally thought would be essential.
2) A film is always teamwork, and there are some difficult people in the field. Especially as a post-production professional, you have to keep your ego in check. This was difficult for me in the beginning, but I got better and less attached to my own ideas of how to proceed, as long as the whole of the project was being served. I feel this has been a useful attitude in building software too: a developer with too much ego is even more detrimental than a film editor with the same.
Developing your very own attitude towards things and being able to defend it helped me in many ways outside art.
Anyway, I was lucky enough to get a great job with not much but a portfolio of my work. I couldn't be happier with my job.
I went to a conservatory film school program that was crazy hard, and through senior year and afterwards I had a lot of cool gigs that sound great but didn't materialize into anything long term.
The story of why I switched is pretty long, but I can sum it up by saying that you really have to WANT to be in film to make it, and I found that I didn't want it badly enough, so it was time to change.
In the wake of the Great Recession, the only industries that were hiring (that I could see) were sales, medicine, or engineering. I didn't want to do sales, I wasn't really cut out for medicine, so that left engineering. I figured I was good at using computers, so I should give programming a shot.
In a few months I was at community college taking Java I, writing HelloWorld for the first time, and loving it. About a year later I transferred to Georgia Tech to do a BS CS. Georgia Tech was nuts. The CS coursework was fascinating but the project workload was insanely intense. I also struggled with Math because my pre-calc and trig fundamentals from high school were really faded after years away. Also while I was there I battled chronic illnesses (much better now!) and was trying to edit a feature length documentary on the side. I got through it, but not without scars.
All the sudden, it was time to graduate, and I emerged from the hell of illness and coursework to realize that I was the Belle of the Ball with all these companies. I went with one that wasn't trying to girl me into doing project management or QA. I started off doing data engineering and using distributed systems. I'm now moving to work directly on those distributed systems.
I thought engineering would be just a day job, but it turns out the training of putting shots in sequence to make a whole transferred well to building little pieces of code and putting them together to make something that works and is internally consistent. I've also found, like others in this thread, that spoken and written communication and constructive criticism in the workplace comes very naturally. Recently, I've discovered that with this film school training and years of elementary and middle school acting classes, I can put together pretty compelling talks. My higher-ups are actively encouraging me to pursue that talent.
Interestingly, one of my higher-ups learned to code as a kid but did a degree and an early career in photography before moving back into software. It's been cool to have a mentor that really understand where I'm coming from.
Many folks feel restricted by 9 to 5's, but I feel free. I have a stable income, a stable schedule, and the money and free time to see my husband, build friendships, be active in my church, go kayaking, and pursue my art on my own terms.
I've recently taken up oil painting, something I have no real training in, and and it's been amazing. I'm producing work on my own terms that's meaningful to me and there's no external or internal pressure to make a living from it or even to show to anybody.
Do I miss film? Sometimes. Do I have regrets? Not really. I'd be lying if I said I didn't sometimes feel like an artist faking it as an engineer or an engineer faking it as an artist, but part of the training is to silence that self doubt and just do the work, whatever the work might be.
For me - I can't see myself going back to an office. To teach kids is such an antidote to the self-loathing and looming pointlessness that I felt as a programmer. I'm not saying those feelings apply to any of you or to the profession as a whole - I just needed people in my life. And I guess I was tired of feeling like other people were using me for their projects - I want to use me for my projects.
I'm still in a bit of transition - do I continue experimenting in the classroom and attempt to release the apps I develop there? Or do I stay focused on teaching and improving my community? I think I'm set on the latter - I'm happier when I'm not chasing some impossible dream. But who knows - one still has ambitions that are impossible to repress anyway. Either way - it's great to have this kind of choice.
His mother is happy that she can focus on her career while leaving him in my care at home, although it's harder than she imagined because she does miss us dearly while away from home and is counting the hours at work... probably because we're two very cool froods (wink). After the infamous initial "post-natal bumpy ride" our relationship is back where it used to be - at 100%.
I'm the happiest man ever and wouldn't want it any other way.
I took a break from "everything" at one point and became a nightlife photographer in a large urban area. It didn't pay much. It mostly involved drinking and doing drugs, on someone else's dime, until the early morning. It was a great time for the most part, and I met lots of interesting people. After about 6 months I got tired of it and went back to tech. Note: having a professional camera in a club is a great way to meet women.
I'm considering leaving tech again, or at least ending my engineering career. I no longer find it personally enjoyable to build systems. Building systems that other people want, instead of ones I'd want to build, has jaded me. I've worked at several companies, large and small, over the years. And I've found that as a tech shop matures, that exciting feeling of creating a product dulls. It dulls to the point of becoming anesthetic. The longer you stay, the worse it becomes. I wouldn't mind staying in the tech field. I just don't want to spend all day in front of a monitor anymore.
I'm working while on the road, writing for magazines, selling photos and filming a YouTube series.
I am having the time of my life, and am extremely happy I made the decision I did. IMHO, sitting at a desk is just not worth it. Life is too short. I'm meeting a ton of people who agree, and are living the kind of life people spend their lives dreaming about.
If you're interested in my trip:
And my website: http://theroadchoseme.com
I found that I was very good at the work, thirteen years later I woke up one day really wanting to actually use my humanities degree (PoliSci and Public Policy) and that my joy of doing computers for other people was gone, and I didn't have the patience to keep up with where tech was going to stay competitive.
That, and the current state of affairs for people in my social group (African-Americans) compelled me to go back and do what I wanted to in college: fight for better laws and fair access to public resources.
nb4 "The legal profession isn't what it used to be, you [probably] wont become some rich attorney" to which I say "Good. Because that's not what I want to be. I don't want to be rich, I want to be good at what I do and give my kids something to be proud of come career day that isn't "he fixes computers at the local call center".
tl;dr - I have a humanities degree and I got tired of not using it for almost fifteen years.
At 25 (4 years as an engineer, games, DTP) I felt pretty burned out so I took a year out to travel the world. I saw incredible places, had new experiences, met people from a wide variety of backgrounds who I'd never have encountered in a provincial 9-5 office job. It was amazing. When I returned I moved to a new city and got back into tech, my passion for which had been reignited during my time out. I hadn't missed it, but I was keen to get into a new job in a new tech area and learn new things.
Burn out it a common problem in tech. If it were possible/affordable, taking a six month sabbatical to do something entirely different travel, charity work, teaching, writing, whatever! might be the best thing anyone could do to keep their passion and enthusiasm for tech burning. Maybe it's something you do every 4/5 years.
If you're good at your job, valued by your employer and have saved a bit of money, it might even be easier than you think...
I've considered a wide variety of things, but always come back to this: if I keep on saving at my current rate, I can not have to make any profit whatsoever, whereas if I start out now with something (a bakery, say), then I'll need to keep on making a profit, so that I can retire some day. I've got another 10-15 years in software and then I'm done and can do whatever. Check out http://www.mrmoneymustache.com/2012/01/13/the-shockingly-sim... to figure out where you land on that scale.
I would suggest that if you are running out of passion, then find an unrelated but expensive hobby, or find something related to IT that you can get passionate about.
And if you're certain you want to leave, start planning now.
After about two years of that, got fed up, and quit again, and went to grad school to get a PhD. After two years of that, I realized I was working 2-3 times as much for about a tenth of the pay I could be getting. I finished my masters, bailed from the PhD, and got a job back in tech.
My plan now is to use this time to make as much and learn as much as possible, and eventually pivot into something else at some point in the future, while always having the ability to fall back into tech if need be.
If you're going to quit, I think it's better to have clear goals and ideas of what you are going to do next and why you want do to those things. The act of quitting will give you immediate satisfaction, but long-term finding that thing that gets you up every single morning is more rewarding.
I guess my advice is to do a bunch of things and see what you enjoy, new opportunities will happen as you do. Having an IT background is helpful almost anywhere, and more valued outside of core IT areas.
In retrospect though I'm glad to have done it. Glad I stuck through the contract, though sometimes I wonder if it'd have been better for the kids if I had bailed and let someone more qualified come in my place.
The one nice thing about it is when you're done for the day, you're done. (At least if you're not a very good teacher). With software you're always thinking about it even if you're not actively working on it (or at least I am), it just invades your whole life. So it was great having nights and weekends completely free to do whatever you want.
The one adult class I had was fun. But you've got to get lucky to get a position teaching only adult classes, and the hours can be worse.
All that said, I'm back in software now.
I ended up in debt but to this day it's still the best job I ever had and despite all the work I've had to put into getting my life back on track financially, I'm still glad I did it.
I came back to IT about 10 years ago, but now I have a whole pile of non-IT skills and interests that I can dive into whenever I need a break, so burnout is much less of a problem overall. Working as a climbing instructor and gym manager also helped me learn how to talk to people and have a little bit of fun now and again.
In 2008, when the subprime mortgage crisis hit, everyone thought that the crash would only affect residential real estate, but that turned out to be falseit also took commercial property down, since nobody was buying and selling. The civil engineering firm I worked for laid off all 12 staff surveyors, including me, on the same day. We all ended up down the road at a pub, and the senior surveyors were buying the drinks and we reminisced for a while. But that was effectively the end of two-man survey crews and traditional total station/transit instrument tech. Now it's all robotics and scanning which means one man operations.
I then travelled for a while. I went to Israel and a few other countries in the Middle East, met a new girlfriend there, and got married. Before getting married, I decided to go back into technology and become a web developer and slowly move back into DevOps. Unlike some of the people in this thread, I enjoy working in tech a lot more now than I did when I started. I find that working conditions (remote, &c) and pay have improved a lot, and public understanding of what developers do has increased dramatically.
This time the exit is being more thoughtfully executed. While making a good salary, I am slowly buying rental properties. Up to 3 so far. Fingers crossed that the second time is a charm.
Many in the industry say an IT job comes with golden handcuffs. Most other professions don't pay as good. IT workers often times make what management from other departments make.
I have been programming for 49 years. I lost my government job in an agency downsizing, worked for a university for 3 years until I could buy into a small pension with health insurance. I bought a house in Mazatlan, Mexico for the winters and am a camp host for the Forest Service during the summers. I'm still hacking.
I didn't have the balls to leave the profession even though I wanted to. Now, I'm comfortable, but I regret not having done something adventurous and feel too old for an adventurous life now.
I started a company with the mission of improving food systems. So I'm working on my second prototype app for this area. It's definitely a struggle to not have a salary and not be around a company of talented people every day, but I'm still enjoying it. I don't love writing software, but I just feel like what I'm working on needs to exist--so that's what I do now.
As far as what I'd do afterwards? I'm kind of at a loss. I've had ideas that range from opening a bar to buying a plot of land and farming it, but they all seem so crazy and out of reach.
So far it's provided a very relaxing pace of life giving me a nice break from the office grind every time I start to get fed up with it.
I figure sooner or later it will get hard to find jobs with a work history like that, but we'll see how this round goes.
How was it? It was just great and it taught me about living on much smaller amounts of money, which is very helpful now that I have children and I work for a charity.
So maybe that's slightly off topic, and more of a career break than quitting the industry, but I'd still recommend it all the same.
I make way less than what I used to. However, I'm happier. I enjoy my job so much more. I still do tech stuff as sort of a hobby and I keep my small web hosting company, maintain some sysadmin skills that way.
Would I go back? Yes. Mostly for financial reasons.
I'm also certified as a firefighter, but at the age of 41, the chances of me getting on with a fire department full time are very low. I am frequently disqualified from jobs because of age limits (legal in fire service jobs, unfortunately) and that (like it or not) I am not a protected class that would be exempt. On paper, younger candidates are much more preferable. I work for a private EMS agency (not all 911 services are provided by fire based EMS) instead, but am still at least applying for part time smaller town fire departments.
I feel like my skills with server administration are kind of stagnant. A lot of places aren't self hosting things anymore. The big push to outsource and virtualize services cut into the market I was in substantially. I have been looking at some desktop support jobs, and they are not only more rigid with hours, but pay less than what I make now. And we don't make a ton in EMS, that's for sure....
I was getting far too jaded and cynical about the constant reinvention of the wheel that was never better, just different. Along with the ever increasing crap masquerading as the next must have with added lock-in. We have far too much stuff and need to make less. The dissonance had me feeling part of the problem not the solution.
I'm less wealthy, but the dot com bust taught me to be frugal (or starve). But I'm spending a lot less too. I'm orders of magnitude happier and satisfied. I feel like I'm doing something substantive and feel good about what I do. I have more options and interesting choices in how the second career develops than I expected. I feel fitter and healthier, and I get to see daylight rather more!
The idea of side project or two to keep my tech neurons active appeals, and after 3 years or so out, appeals rather more. If it makes some extra so much the better.
Overall probably the best thing I've ever done.
I loved programming, but it seemed like both the coursework and what programmers actually did for a living was pretty dull. Of course I wasn't exposed to the full range of possibilities, and it was just before the computer industry exploded, which nobody in my circle (parents, advisors etc.) predicted.
I went to college and majored in math. It seemed like the things that attracted me to programming were going on in the math and physics departments, so I was happy, and ended up with a physics degree. Today, I use programming as a problem solving tool, but have never held an actual IT job.
After many years of software engineering, I switched to part-time in order to dabble in board game design on the side. It was fantastic - enough money to live comfortably, lots more free time - but also a little bit like golden handcuffs: in order to switch tech jobs, I'd have had to find another place OK with me working 3 days/week.
After doing that for 6-7 years, I talked it over with my wife and quit my tech job to do househusbanding instead. It got her more time (fewer chores) and me even more time (household work didn't take nearly the 30 hours/week that 3 days work + commute had), which let me ramp up the board game design. My wife works in tech, so one income was more than enough for us, even socking away plenty for retirement. It took some psychological adjustment on my part, but she was really good about vocally appreciating the work I did, which helped a lot with the transition. (Plus, I got to give a big middle finger to gender stereotypes, which was a source of satisfaction. :)
Then we decided to have kids, and I became a stay-at-home dad. Help from family and babysitters means I'm still able to spend some time pursuing game design (note: this is not cost-efficient - either "I parent full-time" or "daycare" would be cheaper - but it works for us, for now), and parenting is fantastic. Also frequently exhausting and frustrating - there's a heavy tradeoff of immediate-gratification happiness for life-arc happiness - but very rewarding, and the sound of my kids laughing together is pretty much the best thing in the world.
I still love programming, I just don't do it much. (Little side projects for fun every once in a while, or simple tools supporting my game design.) And I think I enjoy it more when I do, because I'm doing it intermittently of my own volition. Once both kids are in school and I have a little more time, I'll probably start messing around with mobile development - I find it slightly disconcerting to look at a computing device and not have the bone-deep certainty that if I chose to invest the time, I could make it do just about anything I dreamed up.
With financial reasons as your main barrier to quitting the industry, much of my experience won't apply to you - my wife's salary is the only reason things work as they currently do. But if you can fix your budget so that you can live (and save!) on 40-80% of your current income, you can try to find/make opportunities to switch to part-time work. I found that when I did, the benefits of the extra free time made me more focused during my working hours, and happiness with my life situation made me more excited about my job in general.
Those I know who have bailed out tended to go in three directions:
- Teaching public school
- Diving instructors
- Owning a bar/restaurant in some touristy location
From observation, the teachers seem most fulfilled, and the divers seem to have the most fun.
I took what skills I had woodworking/web development and started a business. Its called Stump Crafters I build "stumps" to hammer nails in to its a pretty fun game and is not as dumb as it sounds. The game is in much the same vein as Cornhole, washers or other backyard games.
I even made a custom Node.js for a local meet-up group I go to often. https://stumpcrafters.com/pages/custom
I have not fully bailed on IT yet. But I don't think I will be touching any code in another few months.
Now I spend most of my time working in the shop and running the store. It's awesome.
Check it out at:
I ended up going back to high tech. Teaching took too much out of me - emotionally. In no way do I regret the move to teach - it was a vital piece of my growth as a person. Plus, I am still in touch with some of my former students, including a young woman that my wife and I helped get through nursing school.
As I get older I tend to approach things differently - I dare say better? The passion I felt towards technology in my 20s has changed. What I bring to my career in my 40's is more personal and meaningful now. It's about doing good work that I can be proud of with people who treat one another with kindness and respect. It's still important for me to love the products I am are building, but my reasons for loving them are broader than they used to be.
One suggestion - look into new domains to apply your tech skills.
He seems happy. He bought a house for his wife and son. At least from the outside, he seems to be doing well.
i don't regret leaving dev but i'm also glad i returned
I love my IT brethren but not all of us do desktop installs and tech support for a living.
Even though I don't remember if the Security Rule specifically covers this stupid scenario, I think they would be found in violation if audited. They clearly have not performed a risk analysis, which by itself is a violation.
If you're not sure if your thing is usable, find someone who you can watch use it in person.
Being detail-oriented as most good software developers are, it is easy for me to just keep adding more details to the list and crunch them. It's going to make the product better, right?
WRONG! This is where I confront my issue. Perfectionism is merely a tool of the ego, engaging various games of self-righteousness, to only one end: giving me that charge that "I'm right".
But what works for me, though often right, isn't the point. It's what works for the user. The user is who gives my work life. They use the bits to accomplish tasks, rather than those bits sitting on a DVD on some shelf in my office, dead.
So how do I serve my need to be right and have a product that is living and breathing? Only one way. Get it into the hands of users. And be open to their input of the what sucks and what they'd rather have. They don't get to dictate the final form of the product, but they do inform my future decisions. See, the key to being right is learning, and all I learn from the bits resting on my shelf are lessons in organization and expense. To really learn, other people have to be involved. And I need to be open to not just their input, but to experiencing a range of uncomfortable feelings.
Let me apologize up front for this brutally honest comment. Since you have problems finding users for your product, chances are it won't be a huge success. Sorry for my brutality. Your project is still valuable. First, it has some value to you, so finish it and use it. But don't be afraid of being wrong in the process. Just tell that bitchy little part of your ego to shut the fuck up, and get your code into the hands of others. As developers we are often way too close to our work and benefit greatly from external feedback. Learning the process will make you a better developer.
So like I said at the start, this is my experience. If it might work for you, great. If not, scroll on by, there's a lot of other help here too. I admit what I've said here might be worth less than a nickel.
I use dokku for this and simply git push dokku master right after I got push origin master.
At any given time those who have the URL can see what I'm doing and ping back with feedback.
That, and Show HN her is great. Reddit has /r/startups which I also think is supportive and helpful.
(Who knows, maybe it does indeed requires a longer gestation period).
That's not sarcastic or dismissive, it's just the best way I've found to get over the fear of shipping. By simply shipping it. The next time will be easier. And the next, and... etc.
I wish I knew a better word than feedback because I do not mean that people are necessarily going to engage you in good conversation and say "X is good and Y is bad." That almost never happens, and when it does, the feedback can be terrible and counterproductive.
But you need to find some way to get it out there in the wild such that you see how people respond and what they do with it, what gets used and what doesn't. If it isn't resulting in a lynch mob reaction, you need to not view the negative responses in a bad light. You want critique, and that means hearing both what works and what doesn't. You do not want nothing but fan boys, massaging your ego, saying nice things and not mentioning problems at all.
So, I don't know what path will work for you in specific. But you need to get some kind of engagement that puts useful information in your hands to inform the development. How people get that varies. But your fear of shipping is because it involves tossing it out there into a giant unknown void with zero idea of how that will go. The antidote to that is getting some engagement so you aren't just flying blind.
How people do that is very individual.
What I can tell you is that if your product is too innovative, you'll walk into walls, and that's fine. Most of the people I spoke to didn't get the service, and others seemed interested, but they were just polite. What you have to do is to launch and get out your product to the world, and then find the first customer, even if it's at 10% its price pointit will give you confidence and will validate that your product is valuable.
As for the feature creep, I think it will happen always, as each customer has its own view on your product, and since you're the one making it, they will tell you things, some are good ideas, but most of them are not very good, since most don't know what they want. You'll have to find balance.
The thing that helped me a lot is being in a big city. I'm from a way smaller place and I've been building stuff for 15+ years, and the big city mindset is way more open than the small city's, as they will use anything, but only once it has been proved.
I hope those pieces of advice help you in your journey. If you want to talk a little bit more, my email is in my bio.
a)you want to add enough features to attract/impress potential users. b)you want to ship it, so you can get feedback asap.
a) and b) are pulling to opposite directions, hence the paradox. There is no easy solution for this.
However, if you change the question to "what do I need to build to test my assumptions (about the market and user)", the answer will be more obvious.
fail fast -> fail more -> learn -> fail less -> maybe succeed -> repeat.
Somehow, you need to get comfortable with not knowing how it will all work and make sure you have given your best. Now best, would not mean the best product but something with the best fit. So it's not a step by step process here. The more and better you try, the more and better you understand the goal and how you may get there.
Learn to be just ok with failing and have someone to get you back up on your feet.
'Shipping' means something much different for hardware projects of course, but nonetheless I think the advice to ship on day one is really foundational. I've always been fond of the idea that 'if something hurts, you need to do it more often'. Make the game about iterating and not shipping.
I think, early fear of shipping is a symptom of uncertainty "will someone need this product?" You should try to find this someone as soon as possible, and get feedback from them.
Make a backlog of tasks.
Set a time for your sprint (2 or 3 weeks).
Estimate how long you think the tasks in your backlog will take (don't focus on being 100% correct in your estimates).
Include what you can given the sprint time and the estimates.
Release at the end of every sprint.
Rinse and repeat.
It was harsh. But it wasn't the end of the world.Manage your expectations. See it as a process.
How do you create good stuff?By creating lots of stuff, enjoying the process and some of it will turn out ok, some good, some bad. Like a musician.Just focus on getting better. Your workflows for launching etc. See it as feedback not a definition or critique of you.
The are tons of issues that show up only after you have shipped so striving for perfection before shipping is pointless.
As you work on the little things you will slowly gain a better understanding of how the code base is organised and how you could contribute more significant changes.
Valuable contributions outside of writing code differ across projects, but most lack current or understandable documentation. As you learn about the project and read whatever documentation might already be there you will certainly find things that can be clarified.
What I've seen going wrong in the past is where people decide that they want to contribute to a project and don't tell anyone else about it until they've written hundreds or thousands of lines of code that are never going to be accepted, because the maintainers don't like their overall design (or the maintainers don't agree with the direction of the patch, or something else that could have been caught early but is way too late now).
Communicate early, communicate often. And if a community doesn't like that, leave and find a different one. Your time is more valuable than that.
P.S. and be sure you're contributing to a project that you are passionate about, not just one that sounds cool. Having your own intrinsic motivation will make a huge difference.
The reason you should consider it is twofold:
- Code is only good if it's used, and ideally, usable.- This gives you a great opportunity to learn a lot about OpenSSL in an environment that has more (resources for) mentorship and unit tests.
Disclaimer: While I was around when it was founded and am still officially its resident cryptographer, I don't really do much of the work. I just occasionally show up and say "Frobenius" a lot.
For the other projects you listed Im not aware of such documentation, but Id recommend you just go ahead and ask them directly :).
Secondly, you can fuzz FLOSS software, using something like afl-fuzz, American Fuzzy Lop. The following tutorial has some pointers to get started, and obviously software written in C is easier to get started with. If you need help with something, feel free to ask on the afl-users mailing list.You can fuzz on a CPU-heavy VM somewhere, like DigitalOcean, an Amazon spot instance, or a Google preemptible instance.
In fuzzing, once you get the hang of it, you'll find that your keyboard time is the limiting factor. You'll set up a test case in 15-20 minutes, leave it fuzzing for a day, and come back to spend at least 1-2 hours working through crashes and reporting the bugs through their channels.
You may be saying "Wait I don't know anything about C," but honestly, I don't know anything about C either, and I've found hundreds of bugs with fuzzing. There are some crash dump investigation tools that give you an idea of the nature of the crash (gdb's exploitable.py) and that's usually enough to report to the maintainer. When the maintainer has a fix released, you can send an email to the oss-security mailing list detailing what you know about it. MITRE can assign a CVE on the mailing list if you describe the bug appropriately when you ask for one.
* Pick a project you use and like. This way you will already be familiar with some aspects of the projects and you will have an idea for what works and what doesn't. You will be able to use your improvements for yourself.
* It's easier to contribute to a small project than a larger one. Larger projects are usually more complex and require understanding more code. If a smaller project has less people involved with it, it will be easier for you to get to know everyone and for everyone to get to know you.
* It's also easier to contribute to newer projects. Older projects usually have strict guidelines that can take a while to get used to. They often have internal politics that come into play. Finally newer projects have a lot of "low hanging fruits", simple things that anybody can fix.
You can start with commits that fix docs or clarify the code with additional comments. Contribute some unit tests, etc. As you familiarize yourself with the code and the process, you will be able to fix larger bugs and even implement new features.
Go to their bug trackers and start working on the smallest bugs. Or write extensions for the most popular new languages to use their libraries or apps, so new programmers can take advantage of the existing crypto. Or write or update documentation. Or write user-friendly guides on what people need to use and how. Or fill the holes in their test routines to find new bugs faster, and build new test platforms for wider platform coverage. Or track down performance bugs.
Second, I would say start reading the manual, or at least skimming it. Get a better understanding of what the software actually intends to do, not what you think it intends to do. Remember that documentation is a part of software, so improvements are always welcome here!
Then, after, you can learn how to build the software. Make an easy modification (like changing a title, or changing something that gets printed out), and recompile and observe the change. From here you can look at a high level what gets built in what order, and what's important in the project.
Finally, you can start thinking about bugs that have been recorded in a bug tracker, or attempting to implement a neat improvement or feature. Look/ask for guidance, so you don't spend time doing something that ultimately no one will want or care about (which isn't to say it wasn't appreciated, but many projects have specific guidelines/goals/etc. and it's important your changes fit with those).
OpenSSL and GPG subscribe to relevant mailing lists, find something wrong with them and discuss with upstream / fix it. This could be missing tests/docs or a bug.
Adding new functionality is harder to do as an outsider, but these other areas are somewhat easier to contribute to (in general).
I gave some hints here: http://dcid.me/notes/2013-may-12
That I hope can be useful for you.
You can find bugs in bugzilla (firefox) or github (servo) that are labelled as suitable for newbies, my advice is to try and build it first then pick one up and go for it!
Are there valuable contributions I can make outside writing code?
Traditionally, documentation has always been rather lacking for the bulk of projects.
Also, check out Kernelnewbies:
Look for something you care about, and are willing to put the work into improving. Software you use is a good start.
Less popular software is more likely to be happy for help.
then I add a survey to see if people a generally into the idea.
I use adwords to get it in front off people.
will it work for all businesses no, but it works for me.
Eventually, I started learning from people online by reading their stuff and then learning from people I met offline. I never formally asked anyone to be my mentor.
My guess is that you're looking for someone who you can formally ask to be your mentor. I don't think that happens as much as you might think. It also probably sounds weird to someone when they are asked to "be someone's mentor".
Take a listen to this podcast episode - it helped me form some thoughts on the subject: https://seekingwisdom.io/04-you-need-more-role-models-a1fd02...
>>You are the average of the people you surround yourself with. But everyone is always on a mission to find a mentor. Why spend so much time and effort finding someone that youll only learn from once a month or once a quarter?
>>Role models are the people that open up the possibilities in your life and your career. We talk about why you need more role models on this episode of Seeking Wisdom.
This is a good project idea.
High ranking Google SRE's, on the other hand, can view your personal information as their job is to run and maintain the production servers where your personal information lives. I don't know what portion of Google employees are SREs but I would guess much less than 5 percent.
I don't agree that Google is a major offender as far as negligent or malicious data/privacy leaks. Their security seems fairly top-notch, especially considering the context of new hacks/leaks that come out constantly from other companies.
Technically, it's possible to access it, bit no one person can do it without oversight.
(I work for Google, and cannot access your data)
What verified stories are you referring to?
It's not entirely clear who "we" is in that tweet.
A while ago I have been contacted by a Google recruiter several times over e-mail, which I found bizarre, as I did not apply to any job at that time. I asked the recruiter to disclose where she exactly got my mail from and she dodged the answer.
Turns out there's a guy with the same name as me who is also a programmer (except he has been in the field for several years and works on awesome stuff, unlike me) and they were eager to recruit him, since I got the same mail several times over the course of a year from two or three different recruiters.
The only thing connecting me and the other guy was our last name. My e-mail address doesn't mention my last name in the slightest, I did not post it publicly (just tried to google it - zero results) and it's not connected in any way to a service where one could figure out the combination of the email, user and password (such as facebook or linkedin). I've also checked the data breaches on haveibeenpwned and I definitively did not use my real name on the services where the data was stolen.
Considering that the original guy's e-mail address was lumped in CC (fully visible - how professional of them) I can only think that they essentially did "SELECT * WHERE lastname = 'myname'", spammed all the available e-mail address and hoped for the best.
Beyond just keeping my data out of that ecosystem, I sure as hell hope Google has some serious talent to keep my data safe from outsiders, and insiders wanting to make a splash. I mean, I obviously trust them to some degree. But it's a scary prospect to think what would happen if an enormous trove of Google data were ever leaked.
Gmail personal data is stored encrypted. Just because algorithms can profile you doesn't mean every google employee can simply read your emails or personal information raw from some db somewhere. I can't even pull up basic technical troubleshooting data from a cloud customer without begging them for the data.
Higher up executives don't necessarily have more access, access is given based upon your responsibilities, and level of need. A VP of marketing is not going to be granted access to a customer's gmail messages, because they don't need that information to do their job. There is no reason to grant them that access, the liability of a leak is far worse than any benefit.
Everything an employee accesses is controlled by a complex system, subject to oauth2 authentication, a permission handling technology, and fido u2f yubico security key 2fa. Everything an employee accesses is logged and monitored. Nobody is able to walk out of there with an archive of user info, that would alert every alarm in the system. Nobody has been able, as far as we know, to phish access into our internal network since we started using yubikeys for everything.
The employees with the most access are typically SREs and Developers, and their access is designed to facilitate their jobs. Example: the data in your BigQuery db won't be able to be easily read by any employee, but the right ones will be able to read logs, activity histories, and relevant statistics in order to be able to troubleshoot and diagnose bugs and issues and things. They don't need to know what data the table holds, and therefore aren't given access to read it.
We are pretty far from a major offender of negligence over the security of our user's data. As far as I know, we were hacked by China and the NSA, which immediately prompted us to encrypt our server2server communications, encrypt our storage data, and research and develop novel security best practices. Our development and trial with fido u2f keys, for instance, has resulted in a drop to 0 KNOWN successful phishing attempts, all while making 2fa more convenient than ever.
It may be hard to believe, but Google's information about your lives in the machine. Our employees only have access to the bits we need to do our jobs, which always sides on your privacy. Trust me, I wish I did have more access, because trying to troubleshoot in the dark sucks.
But they respect you and your privacy more than they respect me. And they work hard to keep your private information safe, to levels I doubt most companies you regularly use or shop at would ever care to. Remember, just because some company doesn't sell your info to advertisers doesn't make them more trustworthy. They could be storing your info in an unencrypted db with a basic admin/login on a rack of poorly administered and configured servers in a budget datacenter somewhere. Google uses the latest technology, funds new research, and implements a security policy built on state of the art equipment and software other companies could only dream of. This is not a secondary consideration for them, they bust their ass to keep your info safe.
I am an international tax lawyer and I advise startups that do business all over the world.
I do not have a good answer to your question. There is insufficient data upon which to make a suggestion.
However, here are my guidelines:
- if there is a US person involved in this business as an officer or owner, you will experience exquisite agony in opening a bank account abroad.
- until your net profits from non-US sources amount to $2M - $3M per year, the tax benefits are likely to be trivial.
- an hour of founder time spent thinking about tax is an hour wasted. Think about building your product. Think about getting a customer. That's much more valuable.
- as soon as you add a foreign corporation to your business structure you have probably added $10K - $20k to your overhead. Minimum.
There are exceptions to every rule. Your situation may be different. Good luck.
Why? Because otherwise all freelancers would simply register in the country with the lowest tax to dodge their national taxes. Obviously governments don't want that.
If you have the opportunity to physically relocate to another country though, then it becomes interesting to find places with lower tax rates. Countries like Singapore won't care if you're a foreigner opening a company and are never there. It's mostly about your personal tax residency what matters.
An increasingly common construction with people working remotely is a Hong Kong or Singapore company, and either no personal residency anywhere (e.g. traveling around perpetually), or a personal residency in a place with lower personal tax. Think Bulgaria or Panama.
If you're a US citizen, there's extra difficulties here. You'll be taxed for any income above $100K/y, even if you're not a US resident anymore. If you don't want to be taxed in the US, you'll have to forego your citizenship (!).
You'll find that most US companies want to deal with US companies. This isn't just preference, but is part practicality. Contracts "Governed by the laws of Panama" isn't going to fly. I've even seen companies argue over the US state specified. This can be true elsewhere, but most places are more used to dealing with US-based companies and contracts than another random country.
Related: As a foreign company you might find you're subject to provisions and laws you weren't aware. Could be privacy or even simple reporting. Knowing your own country's business requirements is hard enough, knowing another could compound that.
It's going to be a similar story if you intend taking investment. To some investors it won't matter. To many it will matter a lot. Either way, a US (esp. Delaware) company is simple for both -- and you'll probably find the investment legals are significantly cheaper.
Eventually you'll want to employ people too. Granted there are ways of doing this without a US entity, but it's not going to be pretty.
About 10 years ago I decided to become a one person tax expert, read a NOLO press book on incorporating, and found what I thought was a clever solution to optimizing taxes in the most favorable manner. About a year later, my accountant told me two things... 1. "I've never actually seen a client choose this tax structure" 2. "You picked the worst possible taxation vehicle for your business, which is hard to do on purpose!"
(Also what everyone else said: it's premature optimisation)
I currently have an LTD in Cyprus, and am shortly moving to France. On paper, it is going to be hugely advantageous to keep my LTD in Cyprus, and move income via Cyprus to France. In reality, the likelihood of hassles with the French Tax and social insurance departments is very high, so I'll be setting up shop in France. When the millions start rolling in, I'll figure out some kind of construction, if it will be worth it.
Do not, under any circumstances, even think about running a SaaS business from Europe. EU has made invoicing hell for small businesses, especially those selling SaaS. You will spend time on things like VAT number checking, verifying customer's country using their IP (yes, I know), several kinds of invoices, prices inclusive or exclusive of VAT, calculating VAT for each EU country differently (and in different currencies), reporting VAT, and lots of other silly annoyances.
And if you think this is a "solved problem using a third-party service", you haven't tried it yet.
The only disadvantage of being US-based is that the first serious lawsuit will basicaly crater your business. Otherwise, you are way ahead of your buddies in Europe (like me).
But seriously if you're based in the US and all of your employees are based in the US then pay tax in the US. The US government doesn't look kindly on tax shells and unless you've got a lot of money to spend on accountants and lawyers you're going to struggle. The US is the only country in the world that forces their citizens to pay tax on income earned (and taxed) while living overseas, so if you were thinking of relocating to a tax haven you'd end up paying more tax once your income reached a certain threshold.
And it's only going to get tougher with the new administration.
Just pay your taxes, and take joy in the fact that you're contributing to the society that you live in.
Banking service is rather poor, although they tend to reply via email in 24h. Finding an accountant that does speaks/writes English properly and reply on a timely manner can be a challenge but it's not impossible, especially in Sofia. On the other hand, in other cities you could get an accountant for 1/10th of the cost.
The major benefit is that the legislation is stable which is a big plus. Requirements for opening bank accounts are pretty loose compare to most other European states, although account expenses are considerably higher to neighbour states - but still we're talking ~ 120 USD/year. Starting a business is easy and rather straight forward. Most official documents (like company statute) come in PDF with official (reckoned by the BG state) digital signature on them. As long as you pay your taxes, mail your invoices to your accountant, etc. You're good to go even if you live in Alaska.
I'd be worried about the EU, even the more corporate friendly places (Ireland, Estonia) - the recent retroactive ruling on Apple's Irish taxes make the EU seem potentially third world-like unstable.
Of course, if you eventually plan to bring the money back to the US, probably incorporating in the US is your best bet.
Interestingly, this link says that in the US: "Generally a corporation is treated as a domestic corporation if it is created or organized under the laws of the United States, any State, or the District of Columbia. No other criteria related to place of management will cause a corporation to be domestic."
If you do decide to incorporate somewhere else, and you manage the company from the US, make sure it's a place where the tax code also doesn't care about the place of effective management.
However, if the income is US-source, aren't you always taxed on that income in the US anyway?"A foreign corporation engaged in a US trade or business is taxed at regular US corporate tax rates, but only on income from US sources that is effectively connected with that business, and at 30% on US-source income not effectively connected with that business. By contrast, US-resident corporations are taxed based on their worldwide income."
If you are planning to bootstrap the company then incorporate wherever you want. On the other hand, investors would be a lot more comfortable investing in a US company and clients prefer to deal with other US companies.
If you are a passthrough entity like a sole-propietorship, partnership, or S-corp, probably not. Note, this doesn't matter if you're an LLC or not because the IRS doesn't care. Basically, passthrough entities calculate all business income minus deductible expenses as personal income. Therefore, the amount is subject to federal and state income tax as well as payroll tax (FICA). Certainly, income tax is tiered and FICA caps out at $118,500, but let's assume that you're pulling in $100,000. This mostly puts you in the 25% tax bracket. We'll assume that there's also 5% of state income tax. For FICA, since you're both the employee and the employer, you pay 15.3%. All together, that means you're losing about 45% to tax off the bat. Note, this taxes apply regardless of where you register your company unless you live out of the country for 330 days a year or can claim foreign residency. Then, it gets complicated because a certain amount of income is tax free, but not over a certain amount. Anyway, if you decide to live in the U.S., that 45% or so of tax from above applies regardless of where the company is registered. The reason people register their company outside the state where they do their business, other than liability and tort concerns, is because they're trying to avoid sales or gross receipts tax. However, everyone just bills that amount to their customers anyway, so it's really a wash.
If you really want to know the implications where you live, just hire an honest accountant for an hour and ask. That's what I did. It's worth the money.
Look, if you really want to save money on taxes, just make more money. That sounds silly, but it's true. Register as an S-corp. Your first $118,500 are brutal because you're paying an extra 15.3%, but after that FICA goes to 0%. Now, the top tax rate in the U.S. is 39.6%, but dividends are how people cheat that rate. Basically, an S-corp is required to pay the people who work in the company the prevailing wage for that position. However, money above that amount can be distributed to the shareholders as dividends. These are taxed at 15%. Note, you can't just underpay yourself and then claim everything as a dividend. That's illegal and you will get caught eventually. That said, the overall tax rate for someone who's running an S-corp and making $300k is almost certainly lower than someone making $100k. For example, if you can convince the IRS that the prevailing wage for your position is $120k, and you made $300k, then the first $120k gets taxed at 45% or so (see above) and the last $180k gets paid out in dividends and taxed at 15%. That's how you get your tax rate down. Note, at this point, really, just hire an honest accountant who can do the correct calculations and paperwork.
Note, I talked about being an S-corp above. However, even if you register your company out of the country, it doesn't matter. Americans must file their taxes every year regardless of where they live. If you are a bonified foreign resident, then the first $100,800 is tax exempt, but we still have to file this number. We also have to file what bank accounts have foreign assets over $10k at any time during the year. So, basically, when you file your taxes, the IRS doesn't care where your company is registered at all. You're going to pay your income tax and FICA, which is going to be in the 40% range if not more. Quite simply, if you're self employed, you're paying 15.3% in FICA. If you try to cheat this and your employer didn't pay the other half, the IRS will still want its money and you'll get caught. Even if you setup a foreign bank account with a foreign business, if a company pays you more that $600, they're probably going to file a 1099 in order to deduct that expense from their taxes, which means that the IRS knows about your income. Further, if you try to wire the money into the U.S. from your foreign bank, that goes through a check as well. Really, the IRS wants to get paid and they will one way or another.
It's not that illegal action can't hide money. Certainly, it can. However, it's difficult to hide money or reduce tax liability unless you have a lot of money to pay someone with a lot of know how to do it for you. At that point, just be happy that you're rich.
The only way to solve this problem is to wrest control of local policy decisions away from municipal governments and make them instead at the state or national level. Unfortunately, I don't see that happening any time soon, since those already living in cities are much more incentivized to fight to retain the status quo than those who don't live there are incentivized to fight for changes that could hypothetically help them.
In the USA, the average house size has grown. So has its quality. It has air conditioning standard in warm climates. It has safer electrical systems that handle higher loads. It has more carpeting. More bathrooms. Better appliances, with washers and dryers standard. More, bigger windows. Higher ceilings in basements. Lower-maintenance building envelopes. Better fire safety, with fire sprinklers being required in many jurisdictions. Off-street parking. The list goes on and on.
Technology helps explain why housing has improved so much. Much of the home is fabricated offsite and trucked in. Computers help make more efficient use of materials. Manufactured building products (like oriented strand board) make more efficient use of lumber, and create more durable products. The labor savings are immense: compare the labor to sweat a house of copper pipes versus using pex. Compare plastering a house versus drywall. Not even in the same league cost wise.
Do not make the mistake of looking at a few extraordinarily high cost areas like SF or NYC and believe they represent anything typical. They do not. Housing has improved dramatically in just a few decades.
I mean, look at the Midwest. Houses there cost nothing compared to houses in metro areas along the coast. It's not like cities there are terribly middling either. You look at the Cleveland Metro, and it has 3.2 million people, it has a lot of historical architecture, it has good infrastructure, it's alright overall.
But everyone wants to live in LA, San Francisco, Portland, Seattle, Denver, New York, Miami, or pretty much any other major city along our nation's western or eastern coasts (not so much the southern coast, unless you like living in a greenhouse in the summer).
I mean, I get it, all the cool stuff is happening elsewhere, but Midwesterners are still having a good time, sans beach.
In case you're wondering, I myself live in New Mexico in a place called Albuquerque. Affordable, but not as affordable as some Midwestern cities. Because the city wasn't in the Rust Belt there's also fewer older structures. The boom took place once all the nuclear scientists moved in and gas was cheap, so it's pretty badly sprawled out.
A) The 'cost of housing' is usually not the building itself. It's the land. So, we can't compare to other products.
B) It's greatly affected by financing, interest rates, accepted norms. Ex: when interest rates drop, housing prices balloon. Also - as people accept longer and longer mortgages, housing prices ballon.
C) It's a relative thing, not a 'cost' thing. There are x number of people and say, roughly x spots for housing. The riches people will live where they want. The others go elsewhere. If rich people want to live in an urban area, there is nary a solution for 'low cost' housing in that area.
Some things like 'rent control' - if applied responsibly can maybe help, but they can also create other weird problems.
Social housing might help, but also, some other odd problems.
The only want to allow poor people to live in expensive areas is to seriously mess with market forces, and that can be problematic.
The 'problem' we are trying to address here is age old: 'the fair and equitable distribution of resources'. It's not going to be solved with some new technology or process :), it will probably be some smart economic thinking.
Using New York City as an example there are about 3.4 million residential housing units available and a population that is set to reach 9 million in the next few years (500k increase).
It's true that there is not much raw land left for new development, but the city can change zoning in areas. Imagine if 100,000 1 family houses are rezoned to allow for even just 8 unit multi-family walkup. 800,000 new housing units would help counter the demand that causes the price to keep rising.
The home construction industry also has issues which end raising the finished cost of housing. An interesting read is "Sweat Equity" by Larry Angell, A self-published book where the author describes why it made financial sense for him to leave his job for a year to build his own house rather than buy a house and continue working.
"Will we ever have affordable and attractive urban housing for all?". No, not as thing stand. Those with a monopoly on credit will continue to use competition for accommodation as a means to leach every spare drop of wealth from the productive members of society.
Realistically we either need a massive borderline miraculous leap forward in materials science and construction technology (like carbon nanofiber weaving spider drones) or a completely different system from capitalism for allocating for basic needs, or a looooot less people. Its not really a space problem at all so much as a energy cost and societal values one.
Even if that were a goal, you couldn't reach it because there is only so much space. This would be a problem even, if we were to use what space is available, which is usually not the case for political reasons.
Improved technology won't help you and even changing politics wouldn't get you to this.
The main issues I see are:
Construction is a low skill labor intensive source of jobs, so unions and government don't want to cut it. And a more efficient way of building will probably mean less people working.
Most people loves being showing off, a huge house is the best way of showing how much money and power you have. Why print this wall when you could buy some expensive material?
It's a people problem, not a technology one - the elevator was already invented.
"The Rent Is Too Damn High" is a good, short book on this.
By the way, someone really ought to define what they mean when they discuss affordable things. It seems everyone has a different idea of what that means.
I pay about 25% of the cost of a 1 bedroom apartment in SFO for a 4 bedroom house with a great yards, with a 15 year mortgage.
Any gap in salary for not living in SFO/NYC/BOS is more than accounted for. In my case, over my lifetime I'll come out $4M ahead.
We need to solve that problem first. Sadly, I don't have a solution.
Over in technology, we're rapidly marching towards cheap household-scale solar panels and batteries, commodity autonomous driving technology, and cheap electric cars. Elon Musk's satellite constellation will deliver decent internet service regardless of the population density/economics needed to support fibre buildout. Telepresence is already good and keeps getting better.
The society coming down the line is one made of energy-independent prefab houses with no particular constraints on location (so they'll go to where land is cheapest), drastically improved freeway throughput (autonomous cars can pack much more densely), and car interiors not much different from small apartments (you'll be able to eat, sleep, and work while the computer drives).
So, as it gets easier to live farther from work, the economic incentives for everyone to cluster into a few square miles will diminish greatly.
The other urban trend of smaller housing unit zoning will allow increased density which will also bring the cost of housing down. The demand is there a NY Times article reported that when new micro apartments (260 to 360 square feet) were available, 60,000 people applied for one of the the 55 units. Article: http://tinyurl.com/ntdjvt9
Was a software engineer 3 years ago. I am now an engineering manager making pretty good money and having a good work life balance. Also, less cut throat competition and I do not feel being in the rat race all the time.
All of the bootcamps I know of focus solely on web dev. That's not necessarily a bad thing. Plenty of places need web people, and you can always keep learning and transition to something else if you want.
Here's the advice I usually have for people that ask me if they should do one:
* what did you do in college? I found that people who did some sort of STEM major caught on much more quickly than those who did something like Art. Basically, if you've had a lot of experience with problem solving and critical thinking things should come easier to you
* go in with a project in mind. Learning with a purpose and intent (I want to build X, what do I need to learn to do that?) is much more effective
* don't believe the job placement numbers. Prepare to be on the hunt for 6 months after you finish
* try to talk to people who did the specific program you're interested in. This is a big one. LinkedIn is your friend.
* if you do go, don't mention it on your resume. Plenty of people just throw bootcamp resumes out. Just say you're self taught.
* you won't learn to code just by simply showing up to class. It takes a lot of effort outside the classroom
That's all I can think of for now. I had a tough time finding my first job, but if I had to do it all over again I'd do it in a heartbeat. Feel free to shoot me an email if you have any questions.
It was a total scam.
Billed itself as a RoR shop, would teach you Ruby, and then Rails, in a few months, and you were "sure to get a job". The kicker is that they asked for a bunch of money, or, if you didnt have it, a (terrible) loan.
It's fine right? They told me "You'll leave here with a job paying you 80k +, and you'll get a bunch of money from us if you stayed at that job for 6 months, great! Not so much. The RoR market is saturated, and you had to lean on the Bootcamps connections to get you a job, connections that cost the company money. The people they had to place you were essentially really bad recruiters, and the teachers where just the "best" from the previous cohort. The person who ran the Bootcamp treated them like trash, and you could see it when the teachers would get black out drunk every Friday. The 99% placement rate was, as I found out after, was a lie. My cohort was 15 or so people, I was one of 5 who got a job within the first 3 months. 5 more would go on to be extremely underpaid living in near poverty as "support" or "QA" trying to pay back crazy loans, and the last 5 either went back to their old jobs, or are still looking.
All that being said, I did get a job after working there. I went from working odd jobs to doing something I love, and got my start there. I think Bootcamps are unnecessary, but I didn't know know that recruiters existed before. I truly believe most of them are scams, and you'd be better off trying to teach yourself over the course of a year, and putting small projects on github for recruiters to show off.
If a bootcamp gives you no guarantee, run like the plague.
Here's some advice:
* don't start the bootcamp without any practice on your own. Everyone successful at myBootcamp had spent months / years practicing and learning to code beforehand. You won't be successful if this is your first attempt* you don't get really any job support. That will be your job* your "graduation" means nothing as an employer; it has no brand (or maybe negative) unlike a cs degree. The bootcamp gives you minimum skills to be competitive in an interview but it gives you no brand.
* the job hunt will be brutal. You will rejected a lot and the hunt can last a long time. One of my colleagues took 9 months. if you don't have any pedigree on your resume (good school, good company, etc) many employers won't even interview you. You need a way to stand out of the crowd of bootcamp grads
If you want to land a job, you can check out this repo. https://github.com/jwasham/google-interview-university
Everyone just works damn hard to get a job that he/she dreams about. Nothing comes easy.
Things I can vouch for:
* The curriculum is fantastic: you definitely get your money's worth in terms of learning things that you can't just pick off the web or even from paid courses
* A bunch of my cohort mates already have jobs and we've been out for less than a month. All their salaries are definitely in line with the Hack Reactor statistics listed on their site. They are pretty transparent about their salary numbers.
* You have to bust your butt off for 3 months. I was coding a good 10-12 hours each day and really burnt out near the end of the bootcamp.
* If a bootcamp doesn't have a rigorous admissions process, probably not worth doing (ahem General Assembly, Iron Yard, etc.) unless you're restricted by geographic constraints.
* Trust their career advice process. They are very rigorous with resume work (they help minimize the bootcamp footprint on your resume and help you spin it well on interviews). Their alumni network is fantastic and also I was very prepared for algorithm based tech interviews.
Let me know if you have any other questions!
Disclaimer: I don't have a job yet as my cohort just finished a week before Christmas.
As for me, before HR I had been a designer for about ten years and had been doing some front end dev work at my last job.
I'd say the number one reason to do one of these programs is not the curriculum itself, even though HR's is great, it's the opportunity to work in groups of really smart people on software engineering projects. HR seems to be pretty selective and this definitely pays off for their students. You will learn a LOT from your peers. A large portion of the program involves the self directed building of applications in teams, and this team workflow is the one thing you just can't really learn on your own.
Long story short I think it's a great idea but try to find a boot camp that really cares about selecting people they think are a good fit for the industry, not just a stat. You will benefit.
Bewares statistics! They can be easily manipulated.
For my first year out, I made ~80k in the bay area.The next year, my salary went up to ~120k.
I can save up 140k in the 4 years it would take me to get a comp sci degree.Enough for the down payment on a (small) home.I also have 4 years of programming experience on the fresh grad.
From my experience, about 10-15% of my cohort didn't get tech jobs.This is better than the 30-40% drop out rate of college.Also, people who are "just in it for the money" can pursue comp sci degrees as well.
I use none of the technologies I learned there.I could conceivably have done it all on my own.But App Academy put me on the right track.
I did put in a lot of time initially,~50-60 hours/week coding for my first couple years.But I imagine comp sci majors go through the same thing.
I went to General Assembly in NY in 2015. I had a great experience with them - learned A TON and was successfully able to change careers. I am now teaching at a bootcamp in Berlin, Germany. Attending General Assembly changed my life for the better, I can say the whole-heartedly.
The cons are the cost and the time commitment. It will take you many months to become a proficient programmer, this is only the first (several) steps.
You obviously need to be wary of bootcamps that don't live up to their promises. I would say stick to the bigger names in general, but do your research and make sure that the school has alumni who were went on to have successful careers.
A lot of comments on here are saying things like "Bootcamps are a scam" and "Bootcamps are just not worth it". This could not be further from the truth. These bootcamps have changed a lot of people's lives for the better. There are some bad ones out there (as with any institution), and it is ultimately on you to do your due diligence to make sure that school is right for you. But as for me, attending a bootcamp was one of the best decisions I ever made.
Both times I did not have the intention of finding a "job" afterwards so that never factored into my decision. Instead my intention was to learn the material so that I could provide it to clients as an independent contractor.
If you go in with the understanding that you're going to have to put in several months of work afterwards in order to effectively provide for clients, or get hired for a job, the experience can be a great opportunity.
I met many great people with whom I still keep in contact with, overall it was a very enriching experience and I would highly recommend it for someone who's willing to put in the work.
Note: Both boot camps are now only teaching high school kids.
It not only helps out potential devs looking to attend bootcamps, but also helps the bootcamps themselves figure things out.
* Amazing community of driven, engaged people
* Week long interview/algorithms prep at the end of the program
* Strong curriculum, learning a ton of material into 3-4 months
* Learned about most key topics for web development (see cons for negative of this)
* Much easier to get job #2 (was juggling multiple offers) with experience on my resume
* No one said having bootcamp on my resume was a negative (possibly that's because the ones who did think that didn't even give me a first round interview...); more often seen as positive since I have more diverse background (used to be in sales).
* Limited help getting a job after graduation
* Strong disadvantage to individuals who are new to the area when getting a job; most people got jobs through personal connections/networking
* Since time is so limited, even though we "learn" a lot of topics, the practice for each topic is extremely limited. This leads many people to feel unprepared come time to interview.
* Seeing a larger majority of bootcamp grads going into sales engineering jobs (maybe could be a positive too? depending on the type of job you're trying to get after graduation)
Overall, I think it really depends what you want to with your bootcamp education. With so many options out there with online learning, there are a variety of different paths to software engineering.
I wanted to move into an engineering position quickly, and learn in a more social/collaborative environment, so I really enjoyed my bootcamp experience. I would highly recommend it to individuals with similar objectives as mine.
I learned what they were teaching easily, but it didn't really teach me to code in any way different than I had for tiny self-contained projects in college. I was on the hunt for 10 months, got a job, and lost it a few months later. I still don't really know how code is written in a business context, and I'm probably heading back to academia now.
Overall, would not recommend.
I entered because I wanted to switch from front-end development to full-stack. I'd really enjoyed what little I'd done with Ruby and Rails, so I fell for the pitch of this bootcamp that I could be retrained as a Rails developer in three months.
What I wished I'd known:- everything about the bootcamp (schedule, curriculum, equipment) was set in stone. You are just a widget on a conveyor belt.- the bootcamp's mandatory pair programming did not help me to learn the material at all.- as others have mentioned, bootcamps are untruthful in their statistics. Mine even lied to the state regulators, claiming 90% of my cohort was employed as software developers, when maybe half of us were.
I ended up going back to my previous career.
As far as my wife's experience, it's a legit introduction to the craft and she'll be able to assemble crud web apps when she's done. It does not make up for experience, but neither does learning on your own or a CS degree.
If you aren't already technical, I would view a bootcamp as the start of developing a career in tech. Maybe equivalent to getting 25% of the way thru college. If a college student can drop out after freshman year to get that 80K+ USD/year job, that student were pretty close to being career ready before ever attending college.
1. People who were also spending time learning on their own while working for peanuts (or even free) to gain experience.
2. People who were supplementing their existing expertise (outside of computer science) with basic coding skills.
The people in group 1 certainly had a lower salary/years-experience ratio than people from CS backgrounds. The people in group 2 often increased their salary, assuming they learned relevant things.
> What were some of the positives or negatives?
I didn't have any negative experiences that were big enough to remember but I had many great experiences. I met lots of very smart people, learned a lot and built some cool stuff. It was a lot of work (a lot, probably 60-70 hours a week) but very enjoyable and definitely worth it.
> Why did you initially enter, and did you feel like it gave you whatever tools you felt were necessary?
I was attending school in the evenings for a CS degree while working full time and at the pace I was going it would have taken much longer than I was willing to wait to be able to change jobs. I wasn't enjoying my job and the pay was less than awesome. My fiance (now wife) encouraged me to to try it and I applied and after a couple of tech screens was accepted and haven't looked back.
I believe I gained about 95% of the skills I needed there. However I did learn how to learn everything else I needed, as the saying goes I didn't even know what I didn't know. At the program I went to we even spent time doing practice interviews and reviewing our resumes so we were prepared for the job search.
It's silly to dismiss a job applicant for having a bootcamp on their resume, but don't hire them for entirely that reason either. I have it on my resume.
I found Dev Bootcamp after flunking out of university. I guess that was a choice. I had grown increasingly afraid of my classes. They stressed me out. Sitting in lectures was torture. The reading seemed pointless. My professors didn't have time to for my unread, meandering questions. My TAs didn't want to spend all of the lab entertaining my musings, either.
I guess you could interpret all that as selfish monopolization of shared resources TAs and professors have limited time to spend with their share of ~15,000 students; they're not tutors, after all. So maybe it's a good thing I fucked off.
I managed to finagle myself some independent studies, but these were even less nurturing than I had hoped, and I came out of them only marginally better at the subjects. My independent study sponsors were very critical, but not very constructive, and with no input into the process, they were more-or-less guilt-tripped into giving me a barely passing grade, and a vague sense that my efforts were mediocre but not, crucially, how.
I have spent my entire conscious life dreaming up software products. It probably started as games, but I am a very connected guy read, web-addicted Millennial and the Tetris Effect knows no deontological divide. While I was flunking out of university, I was filling grid-paper notebooks with colored boxes. Uninterpretable, colored-pencil, overlapping, concentric or con-something else.
Some of these were UIs, and some of them were data models. I didn't know the difference, really. I didn't know anything about any of these. I didn't know those words.
I didn't have a major at university. I took introductory classes. Anthropology. Astronomy. Afromusicology. Robotics. Philosophy. I thought I wanted to be a writer. I still do!
But people don't read novels. This was 2010. The next great American novel was gonna be an app.
So that's what I wanted to do.
A friend of mine came home from school in Montreal, disenchanted.
"They're not real artists," he told me. "They're just concerned with their grades. There's no scene! They're not doing real work!"
I don't know how true that was, but he and I liked Silicon Valley. There was a scene, here. People were doing real work. They were bluffing. They were failing. But they were trying.
We agreed to start a company on the ride home from an early Quora meetup. We wanted to build an app to build the artists' scene he hadn't found in Montreal. Something to get people out to freaky little early-stage artistic efforts. And something to reward the artists.
We had no product sensibilities. We imported a Canadian software engineer, and he taught me how to install Hadoop. This is a good joke, if you're paying attention: at this point, I've only read one book on Python, and hadn't even yet written my first program. Hadoop is a non-trivial big-date-crunching ecosystem, a tool for reliable, scalable and sophisticated analysis of large data sets across disparate computing clusters.
We had no users. No designs. No business model, and three old PC towers in my friend's father's garage.
We had a startup fetish, and no mentoring. It took us more than a year to fail, by which time we'd thrown one (1) party, hashed out one (1) mockup, pitched one (1) investor and let slack two (2) academic careers.
Oh, but I learned to stay away from Hadoop, which is something.
So what the fuck was I supposed to do next? Go back to school for computer science? Sit alone at my mother's kitchen table reading SICP? None of that seemed the alacritous route from zero-to-CTO I was seeking.
Enter Dev Bootcamp.
(This story ends badly, by the way. Five years later, I am not CTO.)
I had heard about it from a friend with a real CS degree, who now has a read CS job at a real CS company.
It took me two tries to get in. They rejected my first application. I think they only let me in the second time because I offered to pay all $10,000 upfront. Did I mention I saved a lot of my [grand]parents' money by flunking out of public university? That's a weird way to put it, huh?
Dev Bootcamp was a phenomenal experience. I never felt so hot, so capable, so brainy, or like I was learning SO DAMN MUCH! I was psyched to get in early, psyched to stay late! I was flooded by a barrage of unassailable concepts, but among them were countless grokkable models to wrap my hungry head around. I started saying things like "you don't have to understand everything to be learning maximally", and imagining that drowning might not be such a bad way to die.
Sometimes, it was easy. And I got to play. My pair and I would finish an exercise, and I'd say, "hey, wait; before we go on, what if we tried to go further?" or "what if we tried that first step like this, or like this, or like this!?"
Maybe I just like having a pair a captive audience for my japes, as well as a library of unknown unknowns who could only explain things at a basic level: my level!
I didn't know the exercises we were going through were trivial.
I sat on a couch all afternoon with giant Jenga blocks, trying to explain iteration, sorting and searching to a smiling, comfortably bewildered cohort. It was like magic: I was grokking beautiful immaterial things in a room full of crazy, ambitious people.
None of them were techies. Doctors, lawyers, hippies, mothers, just wandering, wondering people desperate to learn the secret art!
Leave no one behind, we promised ourselves. Our reputations are only as good as our peers'.
They made us cry. They brought in a shrink to walk us through interpersonal communication exercises. They had us sit in groups, every week, to talk about how we felt, what we were learning, how we were struggling. We cried! We embraced! We joked about recursion!
Our instructors were mad geniuses! They exposed themselves. They knew too much. They'd cover any topic. They'd go far afield. So long as we finished our SQL milestones, they'd sit at the whiteboard and explain absolutely anything. They were real people.
"There are two kinds of people," our instructor told us, one day. He pantomimed an intensely focused person hunched over a keyboard. He became exasperated. He threw his hands in the air, and stood up. "That kind, and then this kind."
He pantomimed another intensely focused person, hunched over a keyboard. He became exasperated. He threw his hands in the air. He lay his palms in his lap, closed his eyes, and drew a long, meditative breathe, then whipped around, and again began to energetically strike at his pantomime keyboard.
He stood up, finishing "only one of these people is a programmer."
They taught us yoga. My father loved this. "They're teaching you things I wish they'd covered in my classes."
He's an old-school Java programmer. Never taught me a thing. Didn't want to be like his father: controlling, forcing him to learn software to help the family business.
"It took me years in professional environments to learn these communication skills, the importance of health, of empathy," my father told me, when I got out. "They're really setting you up to avoid all the worst things about working in software."
He stopped bothering me about going back to school, after that.
Instead, I got a job writing software at an international business services firm, and Dev Bootcamp sent me a bottle of champagne.
I put a date on my calendar for three years after I was hired. "Quit Your Job," it said.When that date came, I quit my job. I have been freelancing ever since, and I've never been lonelier.
My overall observation with coding bootcamps is you shouldn't do them. At my current company we have turned away a very, very, large number of applicants who have come from coding bootcamps.
The reason being they have a very narrow skill set and no actual real-life skills. They all build the same projects (this isn't always the case), and seem to always share their bootcamp projects as their own projects.
The best applicants we come across are simply passionate about building quality software. They build things just to build things, and learn because they're interested. They gain a very solid understanding of mathematics and algorithms through MIT OCW, Stanford Online, Coursera, etc...see a pattern? If you're looking to learn to code just to get a job, you'll have a really tough time.
The top 1% of software devs choose where they want to work, they don't ask for jobs and cross their fingers - they're actually very passionate about their work and it truly stands out.
The point is, anyone who is looking to do a coding bootcamp should really ensure this is not the only thing they have when they come out of it. Love coding and solving problems, that's priority #1. The skills will come to those who enjoy it simply because you're always asking questions and learning something new.
To be fair, I had already had two jobs as a developer and had been coding for about 4 years. I was self taught so I really wasn't sure at what level I was at the moment and felt I didn't know a lot of things. I decided to do a bootcamp in order to move away from living in Virginia and doing mostly WordPress + CSS web dev to living in SF and doing mostly Node work. I think doing HR helped a lot in doing this and it would have taken me a lot more to do this without it. For me, the experience was incredibly helpful since I was able to:
1. Learn new technologies like Angular, MongoDB
3. Learn about CS: data structures, algos
4. Learn Interviewing skills
5. Have a network in a completely new city and see a bit of SF tech culture
Of all of these, I feel #3 was probably the most useful one, since I already knew a lot about coding, but all of these were important. I was able to get a job fairly quickly and now have a lot of confidence for tech interviews. It also really expanded my universe in terms of things I knew about and how my career could go. I'd say my imposter syndrome is completely gone because of being able to see how well many of my other classmates are doing.
That being said, my experience was a lot easier because I already knew how to code and already had job experience.
For my classmates, a lot of them that were relatively new to coding. Most of them were able to find jobs, although the process certainly was not easy (I've also heard it's getting harder every year), but many of them were able to pull it off. It does take a lot of work and dedication. In my experience, the two things I saw that differentiate the good ones from the mehs is 1. If they had previous coding experience (even if it was just a bit) and 2. If they were really passionate about it and continued learning after they graduated. If they had this, they did fine!
My suggestions for anyone considering a bootcamp are:
1. Have some months of coding experience before going to a bootcamp. This will ensure you actually like coding and are decently good at it.
2. Only go to a selective, high-quality bootcamp. There are a lot of scams out there. Asking graduates about their experience and outcomes is a good way to measure this.
3. Before going ask yourself: Is this something I'd be willing to pursue for the next 10 years, even for next to no money? If you like it enough and are passionate enough about it, the answer will probably be yes and the short term barriers won't seem that bad. If you're doing it for $$$ or to just get a job, the answer to this question will probably be no.
Many of the "mentors" didn't know the subject matter, and were struggling themselves in their careers. On day one, the at-home prep-course we had completed in advance of starting the bootcamp was re-introduced, so basically there was little point in doing the prep-course because you repeat all that material in class. Turns out the at-home prep-course exists mainly for the bootcamps to get a different tax code classification so they can pay less federal/provincial tax.
The companies that hire from the bootcamp use a government grant so they can pay their new hires $5/hour and the government covers another $10/hour. This is only for the first 3 months (they call it "probation period"). So new hires make $15/hour for the first three months, and then if you prove yourself (and they actually have the money to hire you), they roughly double that pay to around $30/hour after the "probation period".
Right after graduating I lost three job opportunities (even though I have a few years web dev experience, and these companies were very interested in me) because I'm over 30 and this gov grant all the companies are using only applies to people 30 and under. I started telling companies: "Hey, I'm 3x years old, is that an issue?" and some confirmed to me that yes, it was an issue, and that they were no longer interested in interviewing me.
I ended up getting hired by a startup that had me apply for another type of gov assistance that would allow them to pay me the same $5/hour while Ontario covered another $10/hour. I was their first employee. I built approx 50% of their app during my probation period, by myself. When I was done the 3 month probation period, they offered me $7/hour, a fancy title, plus bonus pay when (if) they get VC funding at some point down the road. I refused and am now looking for another job. The Career Services person at the bootcamp hasn't sent me any leads, but it's early Jan so I don't expect much, and I'm doing OK networking on my own.
This is the second time I've worked for a startup that used my labour for near minimum wage pay during a "probation period" and then tells me they have no money to pay me a fair wage. First time this happened was in Berlin. There are many companies in Berlin that survive by hiring people, paying them 1/2 industry standard pay for 3 to 5 months and then kicking them to the curb. Companies in Toronto appear to be doing the same.
If you want to learn to code, definitely a bootcamp is a great resource. Sure, you can do it all yourself, find materials online for free, but putting in the time with other learners for 10-15+ weeks in an actual learning environment is for me worth the $10K.
A lot of people (who almost always have never done one) like to say that you shouldn't do them, you won't get hired, you can find it online. I'd ask them if they have a college degree, and they why waste your money at college when all the info is available online?
In the end you're going to get out of it what you put into it; before, during, and after. Obviously do your homework not only on the camp and instructors, but as well all the time you can into online resources.
I'll never regret my choice to go to a programming bootcamp. It literally changed my life in amazing ways.
What the coding bootcamp did is kicked my ass into web development and gave me resources and people to get a job as a programmer. I think it would have taken me much longer to get up to speed if I would have done it on my own. It also gave me a chance to learn my learning style and gave me the tools to pick up new languages and frameworks.
The only draw back is I'm now in a position where I feel like i want to go back to school to bone up on Computer Science basics because I'm more into the craft and less about whatever market forces are doing. I'll be programming probably for the rest of my life in one form or another.
You should do one if you want to get into app/web development, but if you want to dive deep into computer science or do things not related to app development, just go do a computer science or computer engineering degree. I'm still considering doing my masters in computer engineering which will be a lot harder without a bachelors in compsci or computer engineering, but possible.
Even after all these years it's hard to beat apt-get. I think a lot of people dismiss Debian as unmodern or some how less than the distros built on it but that's hardly the case. Debian "testing" has all the latest software and yet is still very stable. Many people are scared away by the "testing" release but this is what Ubuntu and Mint are based off of.
I find Arch, Gentoo and many others to be a lot of work. I don't have time to spend fiddling around with the OS.
Don't get me started on Fedora/CentOS/RedHat. yum/rpm is just horrible if you've used nearly anything else. I think the only reason this OS family is still alive is because RedHat managed to sell so many copies to big corps and universities. I think people still use it mainly because they were exposed to it at school or work and don't know any better.
For me Arch breaks extremely rarely. I use it for 7 years and remember no more than a couple of times it made me confused after an update. Most issues are covered in the wiki or newsfeed (like breaking changes).
If you need something Windows-like, you can try Ubuntu, sure. But once you need fresh drivers or recent libraries for development, you add third-party PPAs and the shitshow begins. The very idea of keeping old stable versions with just a few new ones that you really need leads to problems surprisingly hard to fix.
ArchLinux: Great community but too many surprises when updating that sometimes break things or in one case left the OS unbootable. Fun to tinker with but if your livelihood depends on it, choose something more stable.
Fedora: good option but no LTS version
Debian: slow to upgrade and doesn't support newer hardware
RH has a big virtualization focus, and Fedora is their development playgroond, so if you're planning on using KVM for virtualization, it's very easy to get going.
However, if you use VMWare, sometimes VMware won't support the newest kernels immediately which can cause problems since Fedora upgrades quite frequently.
Others have mentioned trouble updating with Fedora, but I upgraded from F16-F24 on my desktop fine. I finally decided to do a clean install to F25 on my desktop just to switch to a UEFI boot. F24->F25 worked perfectly fine on my laptop (and the upgrade experience has gotten better and better). Either way, as long as you put /home (and, maybe /opt, /usr/local and /var) on their own partitions, doing a clean install is no big deal.
It seems many people had bad experiences with yum/rpm in the past, but dnf is much faster and I think people usually run into problems when mixing non-compatible repositories.
In the end it comes down to Ubuntu provides me with a better abstraction layer for support and problem solving over the top of Linux than the alternatives I've seen.
: Edit. As that sort of interface goes, I think Unity is better than many, but it took some time fooling with it enough to be familiar to reach that opinion.
1. Gets out of your way really fast - very little config and setup to do.
2. Clean UI - very macOS inspired, so they try and get rid of everything unnecessary. To the point where it doesn't feel like a normal Linux distro with knobs all over the place.
3. Excellent built in terminal - can't stress this enough - the built in Terminal on Ubuntu is very barebones - the Elementary terminal feels really polished and had everything I wanted coming over from macOS.
4. HiDpi support - you haven't mentioned what you monitor is, but Elementary handles retina and 4K displays well straight out of the box.
5. Ubuntu based, so pretty much everything that works there works here, apt is available for everything you need to install.
- All modern distros can run virtualized systems. You just need to install your favorite virtualization software (VirtualBox, qemu, VMWare, etc.).
- No distros have good battery management, at least not really on par with Windows, and certainly not on par with macOS. This is just the unfortunate state of affairs with the Linux kernel. Some of it is due to lack of focus on improving that aspect, and much of it is due to the difficulty of programming power management modes for various bits of hardware (a decent amount of this stuff isn't well-documented, or documented at all, depending on manufacturer). Using "powertop" (on any distro) can help you figure out the things that are eating into your battery and can help you reduce usage. TLP, a set of tools for configuring your system better for longer battery life, can also help, and should be available on most if not all distros.
Personally I run Debian (stretch) as on my main dev laptop, and it's been working well for me for years (well, jessie before stretch existed). I used to run Gentoo years ago, but got tired of long compile times. The flexibility of compiling or not compiling certain features into software just turned out not to be all that useful for me.
I usually test distros in a VM instead of installing them on bare metal. So far I have not found a distro specifically tailored to development though, and the question really should be what tools are best for development?
In that case, Emacs/Vim would be a good start, and being able to develop without an Internet connection helps harden your coding ability too as you're not so reliant on the solutions of others. Go for one day of coding without Stack Overflow/Google and see how you fare.
For battery life, I get Windows like battery life out of my laptops using powertop/tlp but mostly by swapping out the window manager for i3. I3 is very efficient. Not only to work with but also for the battery; it literally makes hours of difference on my Thinkpad X2x0 systems.
I read about Archlinux here a lot and I will try it some time in the future, but if you don't need the latest, cutting edge linux related software, you are fine with Ubuntu (which, compared to Debian, is already quite cutting edge). I say Linux related, because many tools web devs etc use have no apt-get package or have a package you don't want anyway. So that's not related to the OS installation then anyway.
If you want a developer laptop you want modern hardware. If you want to run modern hardware you want a modern kernel.
In your case (since your hardware is a little old), you might not care about support from recent kernels but still want modern compilers, toolchains, etc available to you.
You also probably don't want it to break every 6 months when you have to system upgrade. Rolling release is the best.
it also helps that Fedora is pushing the edge with newer tech like wayland, etc.
its polished, dont have to muck about with complex howto. just pop the bootable usb drive and you're done in 5 mins.
If you like or at least don't mind regularly tinkering with your system and have a preference for running the newest software, Arch is definitely your best bet. Depending on UX and ecosystem preferences, you could go with Antergos with a DE of your choice (personally, I prefer KDE, it's gotten much better over the last year or two), but there's a lot to be said for setting the whole thing up from scratch at least once. It really teaches you a lot, and will invariably be useful when something breaks. Battery management will be as good as you bother to make it, with some effort it's possible to come close to Win10 levels of battery life.
On the other hand, if you want something that just works out of the box and the last paragraph sounds annoying to you, don't get on the Arch bandwagon. Fedora (my preference) or Ubuntu are you best choices here, and I suggest trying both for a week.
And, of course, if all you care about is a thin base for VMs of your choice, all of this is completely off topic. If you want the newest kernels, Arch will be a bit more convenient, but ultimately distro choices don't matter much for this use case.
I spent many years jumping around Debian and its derivatives but then I found Arch and it just felt right. I love the package manager and the fact I can control what I have installed. With a 9 cell Thinkpad battery and some cleaver settings I can last all day.
I have to admit that these days I tend to run from Antergos which is a great Arch derivative but that is mainly because of a lack of time and a need to get stuff done. Also from years of installing and running standard Arch I can tweak things very quickly from Pacman.
If you do actually need to develop for Linux, I would suggest something with a rolling release model, otherwise it won't be long before you'll need to start compiling things from source because you need a more recent version of <something> than your distro is packaging.
"Rolling release" means that there is no Arch Linux 1, 2, 3 and so on, as in Fedora's case. Arch periodically releases an install image, which you use to bootstrap your system, but the latest tested version of every package is what's available in the package repository, for everyone, and as soon as a newer version is packaged, you can install it. This seems to be the best way to guarantee that you get the latest packages and the most stable system that you can get with them (spoiler alert: it's not that stable, but not disastrously unstable, either; I've ran rolling release distros on my laptop for years).
Arch is an usual recommendation in this case. Red Hat Enterprise Beta, uh, I mean, Fedora, is also a good choice -- it's not a rolling release, but it regularly ships with very recent packages. It's also a testbed for new technologies, and does have the advantage that you get a fully setup (and generally mostly working) system from the beginning.
If you're a more experienced user, you might want to have a look at Gentoo and Void Linux.
The benefit is that you can easily switch to a new distro or reinstall a completely hosed one with much less migration effort. That way, if you don't like the first thing you tried, there's no harm done.
- Its stable while being very latest of packages. So I am done with distro upgrades which might break something between version changes.
- It has largest number of packages in repository https://en.wikipedia.org/wiki/Comparison_of_Linux_distributi... .
- YaST is great for everything to administer - NetworkManager, static network config, printers, kernel parameters, sysconfig, docker and what not. So I do not have to hop through different GUI's
- Hardware works out of box mostly (because I am on MacBook Pro)
- The community is vibrant, receptive and responsive. Till now I haven't seen anybody pushing an agenda of preferring one way over other (systemd would be another discussion). Most packages are as good as upstream with little branding change, which also can be changed with a package change from Yast (or zypper).
- Server, desktop, RaspberryPi (and variants) are supported from same base.
- OpenQA, OBS, Suse Studio and packman!
- Defaults set are good to go, but you can easily change them, for most packages and configurations in general. The distro doesn't stand in your way that you have to change something very basic for the distro itself.
IMHO after inside all distro's are same, since you still need to use bash, KDE/GNOME, systemd, NetworkManager, FFMPEG etc. unless you are rolling your own solution. They differ in what they pack as defaults, updates and administration tools provide, and what they consider as "best config" for your use case. openSUE seems to have a fail balance on these.
I have had nothing but trouble with Debian and its derivatives on my machine. In a VM they're fine, but on bare hardware they are a pure nightmare of dysfunction. Fedora was the first linux OS I was able to get going on my PC out of the box.
Arch is good too - i hear a lot for that. I might look into that for a VM, but i'd lean more towards something like Fedora for the hardware, so you don't need to muck around to get the basics going.
YMMV though, hardware can make/break a distro.
Arch however can be a pain if something does not work, if you want it easy just use a Ubuntu derivat (or Ubuntu if you like that fugly Desktop)
* Best SElinux implementation if that sort of thing turns your clock.
* Latest gnome 3 and yearly new releases with even more recent desktop software.
* dnf, or yum as it was called, which from personal experience I think is very good. On par or better than apt/dpkg.
* Backing of RedHat, a huge Linux company that have proven their dedication to open source countless times and are one of the major contributors to the Linux kernel.
* Ubuntu. Works fine (I used kubuntu and xubuntu).
* Mint. Tried it and it seemed to work okay until I upgraded it one day and ran into issues that I think were related to the system having an identity crisis over who it really was (ubuntu or mint?).
* Fedora: had a few more driver issues than ubuntu but still worked okay for the most part.
* Debian: pain to set up and a lot of issues - there wasn't a bootable ISO I could find that would let me boot into a USB and test run the latest version with all of the (nonfree) drivers I needed.
* Arch: ran into more bugs than on ubuntu/fedora: the project maintainers don't do QA as effectively as ubuntu, debian and fedora. There seems to be a pervasive attitude that since its the distro where you get your hands dirty, that you should hand-fix a lot of bugs too. I tried manjaro as well because I wanted to try Arch and didn't want to configure every little thing until I saw this horrifying post and then ran far, far away: https://www.reddit.com/r/linux/comments/31yayt/manjaro_forgo...
* Gentoo: tried and failed to install firefox due to dependency issues and then gave up. Waste of time.
* Opensuse: tried and again got bogged down by the package manager crashing when trying to upgrade some pretty basic part of the system.
For me the decision comes down to comprehensive driver support out of the box and QA. Ubuntu still seems to be the best at those although Fedora isn't far behind. Arch has the most up to date packages which is nice but IMHO its instability caused me way too many headaches.
On the other hand, gentoo makes a great linux experience for those who would like to get more intimate knowledge of Linux internals, networking, etc. It's a great experience if you have time and will to get your hands dirty. The documentation is excellent IMHO and the community (forums) very helpful.
Now to me stability is everything. I have shit to do and don't have time to fuck around with the system every two days (that's why I was on 14.04 in late 2016). But a friend of mine convinced me to invest some time, install Manjaro and learn the slightly different ecosystem. And I can say, it's been worth it. Fantastically stable, things work, and in the 3 months of usage I have yet to find a bug.
Fast and light, rock solid, many packages available, a lot of tutorials and documents on the 'net, and ltd is guaranteed to receive updates for three years on desktop and five years on servers (well, on server is Ubuntu).
Just works and doesn't get in the way.
If I need something else, qemu-kvm is awesome or docker.
Before I discuss specific distributions:
1) powertop is your friend for battery management
2) Pretty much all distros will let you run virtualbox and qemu-kvm so there's no real wrong choice for your use case.
A lot of people like Ubuntu, but I've had terrible luck with it. It somehow seems to be in the (for me) uncomfortable spot where it adopts certain things before they are ready for prime time while also having other things feel old compared to a rolling-release distro.
Debian "testing" tends to be more stable than Ubuntu and "unstable" more bleeding edge. If you want a middle ground between those two, give Ubuntu a try.
That being said, nearly 20 years of running linux has given me a strong bias for source based distributions. Rolling binary distributions (e.g. Arch) tend to have issues with DLLs, and release based binary distributions are often a pain to switch releases.
For non-laptops I use Gentoo, but you don't want to have to install or upgrade packages when not plugged in as you will be able to watch your battery usage go down in realtime.
My current laptop uses Nix, which is a source-based distribution with a binary caching system. I love Nix, but it's a small enough community that you are likely to find software for which no package exists; as a source based distribution, you can often write a package expression in a few minutes, and I've done that about 6 times in the past 6 months. It is a very non-FHS layout so a ./configure && make && sudo make install like you can do on Gentoo is unlikely to work.
Another upside of Nix is that it also has a lot of great tools for developers, letting you easily make isolated environments with different libraries and utilities in each one. All this being said, I usually don't recommend it to someone who is asking "what distro should I use?" since the small community and sheer difference of the approach makes it much harder to do google-based troubleshooting.
There are various flavors of BSD that have the toolsets to do what you requested. Not very sure of laptop battery management though.
FreeBSD (Very stable)
OpenBSD (Stability + Security focused)
PCBSD (Linux like ease of setup for Desktop environments)
They all have access to large/comprehensive application/system/development software.
After just a few weeks, even using the same distro, everyone's installation is customized to its user like a glovesl. Some start with more more comfortable distros than others. Something like Ubuntu will give you a very stock, GUI heavy, "beginner/I don't want to think about my OS" operating system. From there, you get into Debian, a much more "pick and choose distro" than Ubuntu, but still with great support and stable packages. After that, maybe into Arch, a rolling release distro with grear, always-up-to-date, system with a very minimalist and well designed base install. After that, Gentoo, a hand crafted, labor intensive distro that will be completely bespoke to you.
Some never move on from Ubuntu, some never make it to Gentoo. AND THAT'S _OKAY_. It's about what YOU are comfortable with.
As you grow and become more familiar with the CLI and Linux, you'll want to take more control of what you install and I think you'll start to appreciate simplicity and purity over "initial ease of use". You might even consider trying out different window managers like KDE, i3 (my current love affair), or awesome wm. At that point in your Linux journey, you'll actually have some intuition about how a window manager is different from your distro and how most window managers are built on top of X server. You'll have your own hand rolled .Bashrc. You'll know what you _want_ from your OS.
Personally, that's where I am now. I've been running Arch for 2 years now and made the switch from GNOME to i3 about 6 months ago.
My advice is not to try the most highly recommended distro, or the most "barebones" but simply begin with so.thing very easy like Ubuntu. You might quickly hit some frustrations and identify things that you would like your distro of choice to better. At that point look elsewhere. Migrate and give that some time.
Don't just jump onto the "perfect developer's distro", ease into the easiest and most comforting distro for you "where you are now".
Three major reasons:
B) custom installs are default
C) rolling release + up-to-date
Of course, Arch is not that easy to setup compared to other distros (Antergos might help), you're gonna have to manage the system yourself to some extent.
If you don't like ArchLinux you could go for Fedora, NixOS or Ubuntu variants.
For example, I've recently started to play with Systemtap, and found it to be the perfect tool for some of my work.
But after some frustrating attempts to use it on Ubuntu 14.04 LTS, I discovered that it's broken and Canonical won't fix it. I tried to build my own, nonbroken version of Systemtap on this distro, but ran into nontrivial problems with library versions.
Even on Ubuntu 16.04 / 16.10, Ubuntu seems to build Perf Tools (which is part of the kernel's code base) without support for Python scripting. It was pretty easy for me to fix, but it did require downloading the kernel source, and rebuilding "perf". I don't know if they have a good reason for doing things this way, but it's irritating.
In contrast, Oracle Enterprise Linux has DTrace, which arguably is the (aging) gold standard for dynamic tracing on Linux. But OREL is a distro I never seriously considered using before needing this kind of tool.
* NOTE: I'm not trying to state which tracing / profiling tools work well on specific distros. I haven't done enough research for that. My point was only to bring attention to this category of feature.
I personally am using elementary right now. It seems to take advantage of the macos/win10 exodus by offering the next closest experience. It takes the principles of user friendliness from Ubuntu and takes it a step further. As others have said here, it sets up quickly, has an awesome terminal, has a great default text editor, and looks sublime. It's great. It has the occasional bug but I still find myself using it. I really believe that elementary is the closest thing that there is to a universla, open source os that makes computing accessible to _everyone_. I have been doing a lot of rust stuff in visual studio code and everything works very well.
I personally use Slackware. Some developer-friendly features I've found to be useful:
* Ships with all sorts of editors, including Emacs (which is what I use)
* Ships with the full GCC suite among other compilers (including LLVM)
* Convention is for all packages to include development headers; no more "foobar" and "foobar-dev" like in most other distros
It ain't for everyone, though. Like Arch and Gentoo, Slackware carries an expectation of being very comfortable with low-level Linux use.
- ~CON: It's not as polished experience as Ubuntu on "first install", i.e. "end user first" or "Windows-like". But based on other comments here, I assume if you're willing to try Arch, you agree for some tweaking. Please note I've never used Arch, so I can't more precisely compare the level of tweak-ness required; what I can say for sure that it's certainly easier than what was required in '90s (at least because we have teh internets now; and esp. the ArchWiki + askubuntu...) But again, I started my post with "if you're willing to consider Arch", so in such case I assume this point is a non-really-CON, as you're already agreeing to take this cost.
- CON: you have to learn a new language (Nix). To sweeten the deal, IIUC it's one of the few truly purely functional languages around. No IO monads or whatsit. As a result, you may (um; will have to...) learn some interesting functional tricks you never imagined may exist. Note also, that some advanced usage ideas are spread over a few blogs (see esp. the "Nix pills" series), and also in inline comments in the Nix standard library source code.
- SUPER-PRO: I found out that NixOS is a hacker's dream OS. Nix's core idea is that removing a package from your OS nukes it clean, leaving absolutely no trace it ever existed. As a result, you practically don't fear any changes in even most sophisticated internals of the OS. Want to change a kernel compilation flag? Meh, let's just try this one, bam, compile, reboot! Oh, it hanged during boot? Pfff, reboot again, select previous version in GRUB, and we're back! [Um; I mean, as long as you haven't burnt your hardware ;) you know, Linux is powerful :)] Also, part of this is in the fact, that all of your OS config is described in a single file, so you can control everything from single central position, and VCS it trivially.
I've already sent a couple PRs based on this ease of hacking and tweaking, namely to neovim and systemd-bootchart. I'm also trying to write my own series of blogposts documenting this (while it's still fresh in memory); but, eh, you know, a bit too many side projects... not to mention even some of this weird "real life" thing people are talking about so often...
Ubuntu:the 6-month release cycle highlights whats great with rolling release distros. Youre greeted every 6 months with a broken system you have to reinstall.Ubuntu LTS:Alot of the packages are extremely outdated and you'll most likely collect a huge amount of ppas(a method of installing 3rd party programs in debian based distros) that will slowly but surely give your computer a decrease in speed and stablilty
RPM based distros:Rpm package managers are the slowest you'll use. This will get to you eventually trust me.
Gentoo:so difficult and impractical to use its a joke in many linux inner circles
They were all satisfactory.
I also mentioned recent troubles with nvidia drivers, which very relevant to people shopping for a laptop based on prior experiences with nvidia binary blobs.
Finally, I linked to JWZ's relevant post on CADT, and how it leads to the sorts of issues that drove me away from Ubuntu in the first place.
None of this seems worthy of downvotes, but I'd like to hear what is so offensive. Color me confused.
For reference: http://www.dell.com/us/business/p/xps-15-9560-laptop/pd
-builds upon a minimal stack of software, letting you create the environment of your own needs
-rolling distribution, meaning your system is always up to date
-the greatest package manager across linux distros : pacman!
Don't get caught up with setting up VMs and doing a lot of stuff for setting up a distro. Write a game. Work through a series of OpenGL tutorials, compilers, and a few other game-related topics and then build something.
Have to admit I occasionally run sudo service network-manager restart and/or sudo service networking restart but compared to anything else it is a bliss IMO.
Can anyone comment on the current situation? Can you set Arch to automatically update with security patches only? Or is it an "updates include patches plus new bugs too" type situation?
The next station in this Linux journey is to dual boot Mint and Arch. Mint for when I wanna get things done and Arch for learning and customising linux.
Personally I use Gentoo now because it doesn't have systemd and I like source-based packages; compiling everything is kind of a hassle sometimes though. I ran Arch for years and I really like it, the AUR especially is great.
If you're doing enterprise development, you might want to look towards RHEL, Fedora, or CentOS.
If you're doing all work in virtual environments, you might want to just install ESX, but 275GB isn't going to hold a lot of different environments.
* The huge community would fix all the issues quickly. * Up to date set of "trusted" libraries and language runtimes.
If you just want to run linux, Ubuntu will be better choice .
Never had a problem.
it's not everyday event (it gets better, last year i got 1); however, it's a good idea to clone a working virtual disk.
also consider about having openbsd as your main os. it's stable and simpler than arch. i use openbsd on my remote server and have a desktop version on my spare laptop. zzz sleeps, ZZZ hybernates, wifi automatically reconnects after sleep, etc. all made simple by the sane default. no need to fudge around systemd, power management, etc (oh yeah, i got weird mouse freeze under arch, click and it unfreezes. but freeze again after 2 sec of no movement. turns out linux power management tries to save every juice from battery, putting the mouse in 'sleep' mode after moment of inactivity. really smart, right? until the mouse frustrate u). there's workaround (i forgot atm), but not after you waste hours of testing every mouse brands you have, test said mouses on other os, etc.
linux is like that, a lot of gotchas. it seems linux devs just code but no empathy to user (things get more complex every year). openbsd feels like its devs love using their stuff so it's smoother. it's hard not to notice.
NB: i know i know, i should read archlinux.org latest news before updating; but, what if i'm clueless about the changes?
I use mint xfce now and the only complaints I have are palm detection (probably a driver issue) and wifi trickiness after sleep (probably a driver issue).
I was mostly looking for ease of installing as well as setting it up to be a workable internet/email machine, ultimately leaving it up for the guest who would house-sit for me over Xmas. My criteria on the opinions below are based on not only installing, but also; ease of updating, get it functioning fine on the current web (youtube, flash games, etc), install a few software choices I preferred and finally try to "break" the system by pretending I wanted the latest Mesa drivers than what came with it.
First, I see a lot of suggestions by many for Arch. I really do understand the following this distro and others based on it because of the super control of having complete choice of everything installed, BUT to recommend it is a bit much for anyone just wanting things to work for a while and then getting real work done after. This "rolling release" model of distro (and Gentoo even more so) is great for those wanting to learn more/experiment about linux or those who just can't stand having anything other than the latest release for every single item on the hard drive. Stick with binary distro's to save your sanity in the long run.
Off all the 10+ I tried, I recommend this:
1) OpenSuse Leap - Pretty up-to-date and long term support cycle. Even better look to the Spin GeckoLinux for well put together lite/minimalist Opensuse Leap spins. I really liked these and he has them made for all the popular desktop environments (I really liked Geckolinux Mate). OpenSuse "Tumbleweed" is their rolling release version for those wanting latest software.
2) Korora - A Fedora spin with great defaults, codecs, etc. Also has choice of DE and Korora Mate was the one I ultimately left on my machine for my house guest.
3) Any of the Ubuntu spins like Ubuntu-Mate or KDE, etc. I leaned more towards the LTS version (16.04) because I just prefer longer stability/support between major releases. I really liked the corny named Maui Linux. This is a spin of KDE Neon (which is KDE's own distro and based on Ubuntu). Maui has a cool idea to be part rolling when you want so you can get latest, then just freeze it and turn it into a long term just security updates LTS. I was able to get the latest KDE and Mesa just by enabling a repository, then I unchecked it and can stay with it. Maui was sort of ugly imo at default but I quickly was able to get rid of their theme to a vanilla Breeze/KDE. I also am enjoying KDE again because of Maui.
Also, Suse's Zypper (and now Fedora's dnf, which is based off of Zypper) I think are the best package managers, by far. Do research for why, but RPM has come a long way. I was able to update major versions of Leap and Fedora without a hitch. Install software and back out if needed. All very speedy on top of it.
Hope this was helpful.
I would not recommend Ubuntu or Debian, mostly because dealing with old packages can be the reason you waste great amount of times.
I'm writing this on Arch Linux. My oldest files (that I created) are from 2008, but I think I've been using Arch Linux longer than that. Before that I was mostly using Gentoo - basically since it got some popularity, so very early. I'd recommend Gentoo, if you don't mind compiling. I do, so that's why I don't use it.
Other than Alpine (which is the base for many Docker images) those OSs, so you want to use something else there, but all of them have the great benefit of being minimalist and do a relatively low amount of customization, meaning that software works how to author intended.
On RedHat/CentOS/Fedora, SuSE, Debian, Ubuntu, as great as these systems might be you tend to have many, many specifics, potentially making it a bit annoying when you want your software to work somewhere else. At least that's my experience. They are an option if you are sure to exclusively use those, but other than with Fedora, which I wouldn't recommend on the server you end up with fairly old software.
You might also want to take a look on one of the BSDs. They are really great for whatever you are doing, but their major caveat is desktop hardware support. You might be lucky or not. If you try TrueOS, a for desktop "distribution" of FreeBSD you might be lucky. Oh and doing Android development on there isn't the most pleasant. For everything else it actually has a lot of benefits. For example dtrace being a first class citizen means that debugging is so much easier, especially when it's something you didn't run in debugging mode.
All of them support virtualization and allow for battery management.
I'd make a list of distros/OSs that look interesting and _use_ any of them for at least 3 months. Don't make the mistake of essentially just trying how their installer is. After all you want to have an OS where you are productive and not run the installer. ;)
Oh and one more thing: Don't listen to hypes regarding OSs. What works for you is in my experience and incredibly personal choice. If it doesn't work for you (which you will know after 3 months) kick things of your hard disk. Don't waste your time on trying to run a system just because everyone else uses it. There just is too many people that only try the top ten linux distros, which are all really similar, because they think that one of them has to fit and that the others all all bad. That's certainly not the case. There is successful developers and companies (plural there) running any of the top 100. Look often you read about OpenBSD here and how it is only on spot 86 on distrowatch.
A better measure is how old it is and whether it is still actively developed. If it is older than ten years and there is developers working on it there probably is a good reason for them investing their time.