But I don't love it. Alan Kay is right, it's like building "an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves". There's no elegance and no higher vision. It's an Asperger profession; smart but artless.
I would prefer, if I could retire, to make short films and maybe to write plays. But I can't retire yet. So I'll push stones. It pays well.
This is why it's so important for me to work on something people use.
At a previous job I'd sometimes hit a wall. I would log into one of the production API hosts and tail -f the access logs, where I'd see many different people and applications using a piece of software that I'd help write. I'd grab an IP address and geolocate it and see where the person was from.
The humanization of work can be extremely powerful. It reminds you that you're providing value to the world, that you've created something useful even if it sometimes feels so pointless.
PS, it's a periodic XHR to http://map.bookdepository.com/browse/map.json, which gives back one thing. Just in case you were interested...
Unless u are working on a heavily confidential project that has a certain legal anonymity requirement (in which case the user's IP should be scrambled anyway), I don't see how doing a whois query could create any damage.
- It shows by example that this behaviour is okay thus others are less reluctant to run queries of smilar nature
In itself each of them is not so big but all these behaviours add up to the 'culture' of either respecting the user's privacy or taking it not very seriously.
Sorry, but I would have to disagree with you on this. I've been programming now for over 35 years, and really cannot see myself doing anything else. I find I can channel my creativity into programming in many ways, and writing a good piece of code gives me the same satisfaction as writing or recording apiece of music. Yes, I am a musician too, and while they are very different, I see a lot of similarities between them too.
ANY job can become a task of 'piling bricks via brute force and slavery' at some point in time. Every good friend who has had a seemingly dream job has broken down and despaired at some of the drudgery involved over a beer.
One of them does, in fact, write plays that do very well in the UK theatre scene and he also writes TV shows that do well locally - but he often speaks of the interminable problems dealing with promoters, agents, crew and transport.
Another good friend tours the world as a physio with an international cricket team. First class flights and hotels everywhere, rubbing shoulders with celebrities. Many of us (thought we) would kill for such an opportunity, but he says he is tired of living out of a suitcase and having to check the local papers under the door every morning to remember which city he is in.
It is all a matter of perspective.
I see what you did there :)
@oneeyedpigeon cunningly made the connection between my friend being a physio (physiotherapist) whose main job is providing healing and relief from muscle pain usually by rubbing or applying pressure. (Computer programmers like me who spend a long time at the keyboard often visit a physio to get our shoulders manipulated and rubbed to relieve built up tension).
Also, this makes that a musician can be a "musician" in normal life. He or she doesn't need to change their identity. Developer culture does not blend with the normal world, and as a developer I believe you really have to switch between two worlds. That can be tiring.
If anything, I've often found that the perspective and knowledge that come with my professional experience are socially valuable, rather than the converse. I get a fair bit of my social interaction over beer and cider at a nearby bar, and it's pretty common that, when a conversation gets around to professions, I find myself fielding questions on all manner of subjects from the plausibility of widespread voting machine fraud to the rise of the machines - I spent a good few minutes the other day allaying fears that turned out to go back to that Ars article with the picture of Arnold as the T-800 that turned up here a little while back. I suppose the possibility exists that I did so in a particularly Aspergery way.
The key is to not let your profession define you no matter who you are. Once you let your profession take up every part of your life that is when it is difficult to discuss problems with other people. This would be the same with any profession even artists of any type.
You don't need to change your identity or succumb to "developer culture" in order to succeed, and in fact being a citizen of the "normal" world is a distinct advantage in many regards - product design, communicating with non-developers, team management..
Works both ways though. I'm a writer (albeit a technical writer) and I find developer culture a bit intimidating as I'm trying to educate myself and hopefully change careers. Devs can be quite sniffy and elitist if you're not one of the club.
But, as a freelance writer who works remotely, I do get the "you can't possibly understand what it's like to have a real job" attitude from a lot of people too. It's not like creative professionals are entirely accepted by "mainstream culture" either.
I just had an interview at an IT Law Firm, and made a fool of myself. That's why I completely agree that, we as "people who are good at computers" need to keep seperate identities.
Because if you go full Aspergers, you make yourself vulnerable. Once people realize you're "different", you get the "poor boy treatment" and that hurts.
PS: I am still trying to get over the interview, sorry if I don't make any sense.
I try to work on side projects and continue to develop my skills. But those are dreams and I need to be prepared for reality.
If I had the guts, I would risk everything and drop out of law school.
Good. you got out there and made mistakes. Now you can learn from them and you wont ever be that bad henceforth, hereunto. I made a total ass out of my self the first few programming interviews I went to. First one, recruiter called me (woke me up at ~10am) and I thought I'd show "initiative", I said "sure Ill be there in 2 hours". Went totally unprepared, didn't even bring a copy of my resume. They even lectured me about improving my interview skills.
Second one, I made the mistake of asking my potential coworker "what college he went to", thinking anyone in an engineering profession went to college. The manager interjected that he was 'self taught', this wasn't a total faux-pas on my part, but it created an awkward moment where I didnt really know what to say. I further erased any possibility of getting the job by getting too relaxed/comfortable and blurted out that I'm really groggy in the morning (cringe). I learned quickly, eventually got good at interviews, and ultimately got a job at bloomberg, which is fairly difficult to get past their interiew process.
So dont take it out on your neck, pick yourself back up and make a list of things you can take away from your experience. you have no other direction to go than up.
First, I shouldn't mention my passion for computers. They're looking for a lawyer, not an engineer. They already employ engineers, who are active in legal research. Second, I should pick a career outside of IT-Law. Solely working on technology feels too close to the heart. Third, I shouldn't speak a lot and reveal details about my life when I'm too excited during an interview.
Now, I only have to endure the next couple of days, then the sting will go away. After a couple of months, I'll remember this as an experience and I'll laugh at how foolish I was.
I dont know much about law, but to ignore your passion doesn't seem wise. I think you'd just have to spin it. Come up with a narrative that says tech has always been a part of your life, "but not as much as law", or "but it was missing something", or some other bullshittery that makes sense in that field. People want an impassioned person. And I also disagree that you should ignore IT law, it's in very heavy demand right now, isn't it ? The lawyers who can write amazing briefs struggle to understand technical protocols. Dont pass up on a dynamic field that will drive you. Also, shout out to https://www.reddit.com/r/LawFirm and other subreddits that might be of assistance to you. Good luck.
Bloomberg, where it's just one giant open noisy room? Doesn't sound like much of a reward to me.
Personally, I wish I had never gone into programming. I wanted a profession where I could sit in peace and quiet and work on interesting intellectual problems on my own. Little did I know that programming would not be like that after the year 2010. If I had known this, I would have chosen a different profession, probably something involving medicine, since at least there's lots of women in those workplaces.
You can still work in a medical field, for example, as a bio-informatician.
I am doing fine. I went contractor, and currently in healthcare / imaging. I dont even sweat interviews anymore :)
Or worse, once you're pegged as a hopeless geek then people tend to walk all over you and you're not seen as the kind of person who advances, becomes management, etc. You're a freakshow human resource to perform labor that, unfortunately needs to be done, until everything can be a one-click cloud solution.
I make a very special effort to hide whatever geeky qualities I have. I think ultimately a lot of geek culture is manboy-ish and the kinds of people who let all of that loose at work are seen as childish or immature, right or wrong. Sadly, those of us into things like hard sci-fi or DIY maker stuff get lumped in with the guy who still buys Superman comics at age 40 or thinks over-sexualized fan-service anime is humanity's highest artistic calling.
But sometimes, it slips out inevitably.
Regaining your image or just being able to hold your head high requires great effort.
Cold world but I'm sure there's a way to go about it that inspires more awe than resent.
It's tremendously difficult to share the problems inherent in most showbiz professions.
That's partially because they tend to be very complex and counterintuitive. If we wanted to have a conversation about my problems selling a feature film (assuming I was currently doing so - thankfully I'm not), I'd first need to give you a 90-minute seminar on how selling films works in 2016, unless you're also in the business.
It's also partially because people are usually very jealous of you working in such a cool profession, and thus any problems you have become "complaining about diamond shoes pinching".
My wife however does not feel the same way about a 90 minute lecture on how compilers work.
To reframe this from the 'musician' side of my life, a lot of other guitarists I play with absolutely hate changing the strings on their guitars. They treat it like a chore to be avoided and rushed through only when really needed.
But a few years ago, I read a short story about how Samurai warriors used to care and polish their sword blades on a regular basis. I was entranced by the ritual and ceremony around this mundane process, so I set up a similar process around my guitar string changes. Now I actually look forward to doing string changes, as it give me a lot of meditative time to bond and learn more about my instruments and my music.
i.e. the sysadmin bringing down the company from within. The Web Developer commandeering his own botnet. The backend developer who makes a fortune mining doge coins. And so forth.
Your point was good, it didn't need this poor stereotyping.
I'm also particularly curious about the "no formal education in CS" bit - for various complicated reasons I haven't (yet?) completed basic HSC, and am wondering how to break into the industry in general. I'm not 100% sure where I want to start, but "simple Python scripts" sounds rather interesting. I assume there was a bit of being in the right place at the right time, but besides that, how did you get yourself noticed?
I got my job by getting noticed through my GitHub blog, to which I dedicated only about a half hour every other night for a month or so.
One night I got an article at the top spot of HN's front page. I had a great job offer within hours from a dev at a company which I've always respected.
Content on my blog was self taught, 99% of what I do at work is self taught. Formal CS education is still useful, but the ratio of cost/reward is terrible.
Very interesting, working for free is (for hilarious reasons) something I could probably pull off right now. I'm curious what kind of work this was - was it more generic coding or industry-specific? I've wanted to play around with graphics for some time, but "get a GPU and mess around with it" has repeatedly not worked out for me, so I've no industry experience.
You work in a particular field, is it possible to take your knowledge of the "daily grind" to one of the development houses making tools you use? Is there some software that would be particularly useful that doesn't yet exist? Can you write plug-ins for existing tools (and sell them, a friend did that for audio processing software)?
You have domain experience, you don't have to forfeit it if you make the switch to programming.
Appreciate the support though.
True for outsourced departments of big corporations (Java chicken farms). Not everywhere creating the software is at this stage of development though. There are many creative and agile (not necessary "Agile") businesses and places where creating the software evolved. They are at the stage of XIXth century civil engineering - a lot is being built, plenty of experimenting, people are getting hurt, and most of it collapses. Only couple of magnificent monuments will survive but the rest will be discarded.
The idiom would be monkeys, so monkey typewriter farms?
centers of typewriting excellence?
This depends entirely on what you're working on - programming is just a tool to make something after all. As an example, I'm a video game programmer who specializes in gameplay (characters, weapons, metagame, other mechanics), AI, and user experience. This means I'm also part game designer, so there is a ridiculous amount of creativity required for my role on a daily basis (which I absolutely adore). It's really nice not working to a hard spec, a lot of my job is trying different approaches and seeing what's fun.
could you, please, elaborate on this meme?
And that pyramid, well, it definitely is the way how a corporate and enterprise Java software has been and still being made. Java itself is an ecosystem for creating coding factories - to parallelize the process of coding (one cannot honestly call this programming) among teams of easily replaceable, uniform (in terms of abilities) cheap workers. Every manager will tell about this ideal.
For programming look at PAIP or the lisp code supplement to AIMA - this is programming. Take a look at Plan9 - this is programming. People who have created Erlang were engaged in programming. Code that runs Google's AI is programming. This is an art, same as writing poetry, composition of music, writing symphonies or complex novels.
But there are very few slots available, because demand for programming is very low - it is still difficult and very expensive. Conveyor belt coding, on the other hand, is indeed fits the Kay's pyramid metaphor. And the result of such process is crap - everyone have seen "enterprise code" made by such sweat shops..
The crucial difference between an art and merely piling up more crap is that art means an attempts to approach an ideal, an optimum, perfection - it is, ideally, a reduction process with eventually converges to the closest possible approximation to an ideal. Something like this:
[] ++ ys = ys
(x:xs) ++ ys = x : xs ++ ys
While in the in the second case is just a process of production. Not in the sense of Japanese perfection of every move and detail, but in the sense a hipster produces yet another narcissistic blog post.BTW, Asperger is this. And it is not that bad.)
What remains? Projects that are so useful that dominate their niche. Windows, Linux. Office. Photoshop. CAD tools. I suspect VLC will remain, 7zip may too. Some of those tools are pyramids, some others aggregation of small artpieces. I don't think survival depends on whether or not the software is a pyramid or a thatch hut.
And they'll have a couple cryogenically frozen 20th century sysadmins in case the thing breaks.
So is the web today, its bloat eclipsing even Enterprise Java. The idea you described is the idea all businesses pursue, because it's the one of reducing costs and increasing profits.
> The crucial difference between an art and merely piling up more crap is that art means an attempts to approach an ideal, an optimum, perfection - it is, ideally, a reduction process with eventually converges to the closest possible approximation to an ideal.
Unfortunately you can rarely get paid for this.
In a way, I'm happy markets are not efficient. A lot of good, important, useful and/or beautiful stuff would never be done if the market was perfectly efficient.
Is it really true?
Personally, I'm evidence for it, since I spend my days building pyramids, and program only on the side.
But the entire thing does not add-up. The artful activity is so much more productive that I can not stop believing that in any market you are able to create a slot doing it, you will outcompete all the pyramid builders. (Yet this pyramid pays me too well to just abandon it.)
So, it's just not for you. You fail to see art in it, That happens, it's ok. Maybe you need to think about gradually moving to the movie business, they need programming too, you know.
Please don't stay because of the pay. You won't look back in 25 years and say "I'm so glad I bought a new iPhone in 2016, but didn't do the things I wanted to in life"
The last company I worked for was full of people only staying because retirement was "only" 10-15 years away, and they were not a healthy/happy lot.
You'd be giving up your life "now" in the hopes of a good life "then", which is insanity.
I have left Software twice now to pursue my goals - the first time I spent two years driving Alaska->Argentina more-or-less on vacation, and right now I'm spending two years driving around Africa. I'm exploring my passions while on the road for writing, photograph, videography, languages, etc. etc. I have less money now, and a lot more happiness.
Are you suggesting that you've learned everything there possibly is to learn, you're already brain dead (and getting paid for it).
Wait a minute...you don't work for the government, do you?
No worse than any other profession. Sure, most days I do more of the same, build reports for finance/corporate problems. It's rolling stones up a hill every morning, but that has nothing to do with programming itself. The issue you're describing is that you're working to haul someone else's stones. Fine, all well and good, pay is good. Wouldn't be any different if I was a musician or a painter... all they ever request is that I play Piano Man.
For me the art comes in doing it a different way each time. Maybe it's a function of my inexperience, I've only been doing this for a few years so far but the horizon seems so far away and there's so much to learn that I can't imagine getting bored anytime soon. Everything is amazing and I can't learn it all! In the meanwhile there's stuff to learn outside of tech. Like gardening or baking. Baking bread is a series of simple tricks (temperature of the yeast, bowl type, kneading techniques, etc.) that people do in order to produce an outcome (a certain crust or flavour). I'm struck often by how similar I find it to writing code.
Try rolling the stone with one hand tied behind your back.
I guess it's not for everybody. There's always going to be people that whatever they do it's just going to be a job.
While other people find it to be an art. You can say this of finances, music, programming, accounting, anything, really.
I learned to pick struggles I love, to pick processes I love and to pick fights I love. Writing code a.k.a. "programming" is a part of struggles I have chosen for myself and I am fine with it. What I learned through the process:
- Do "programming" if you love to pile bricks on top of each other, with no structural integrity, done by brute force as one of thousands of slaves, building a pyramid for someone else.
- Do "programming" if you love to pile bricks on top of each other, sometimes with structural integrity, sometimes with elegance, as a lone wolf or a part of a small team working on its own business. Just remember Derek Sivers.
- Do "programming" as a part of solving your own problems you would otherwise solve by boring manual work. Don't tell about your programming skills to your boss. Make a short day and have a beer while others are solving their own problems with boring manual work! Cheers! Credit goes again to Derek Sivers.
But if you care about "working on the next pyramid" and you are not the pharao... well, to cite Mark Manson, you "are giving too many fucks where fucks do not deserve to be given".
Sorry for the offensive language, blame Mark Manson for it, if you want to.
So there is hope, I think, and that hope, I think, is improving our understanding and practice of software architecture[5].
And it's not like there we don't have examples in software. Let's take Bentley's challenge[6]: Don Knuth with 12 pages of (literate/web) Pascal, Doug McIllroy with 6 lines of shell. Or Nile/Gezira, a modern graphics subsystem (think Cairo or Quartz) in ~500LOC. Yes, 500LOC.
So we need to figure out what makes these examples work so much better and how we can apply what we've learned to make our lives better. That's what I am doing, care to join me? [5]
[1] http://queue.acm.org/detail.cfm?id=1039523
[2] https://www.youtube.com/watch?v=B5hGmXFHQS4
[3] https://www.youtube.com/watch?v=wKY-0atLDAo
[4] https://www.youtube.com/watch?v=0OAtHOLIg84
[6] http://franklinchen.com/blog/2011/12/08/revisiting-knuth-and...
I enjoy coding and understanding how computer systems work, but I don't care for the constant changes in tools and techniques in certain domains of development. I'd rather practise with and improve my existing knowledge of a subject, instead of constantly playing catch-up with someone else's tools and workflow. I also don't care about waterfall, agile, scrum, kanban, scrumban or any other development methodology that I've missed. I hate that my job has me chained to a desk (sitting or standing) instead of being able to use my body. All of this makes me think that real-world software development doesn't really suit me.
I'm about six weeks into a new job after leaving a company I worked at for just over five years. Amongst many other reasons for leaving, I thought that a new environment would change how I felt about continuing a career in software development, but I'm not sure that it has. I'm aware of how lucky programmers have it, but I can't help feeling like I just want something else. Grass is always greener, etc.
What are the career options that allow one to work mostly by oneself in one-to-two week stretches without having to play the development workflow game with the daily standups and so on?
Sadly I'm not sure what I'd do if not programming, but music is a big interest and I'd considered teaching music.
tl;dr Woe is me ;)
There are still elements that I enjoy. I still love the creative, mathematical problem-solving aspects, but those moments feel few and far between.
I also feel at times I'm taking my position for granted - I'm not sure what else I'd do besides programming. I've always had a casual interest in security, so I'm thinking I might look into that. Being a "bug bounty-hunter" seems like a dream, though I'm not entirely sure how realistic that would be!
I also love music, but I think that's even less feasible. I'm not proficient enough to be able to teach it. But I would like to be able to dedicate more time to learning/producing it.
Good luck - here's hoping we find something more fulfilling :).
London appears to have a lot of jobs atm...
Also, web tech isn't nice to work with...
Going the graphics programmer route (OpenGL, DirectX, Vulkan) would make for some fun work in a stack that changes in a different way and not as fast.
Bottom line though, technology is the business of change and we enable change for those that we work for.
It never used to be like this. I think management has reacted to the traits they perceive in programmers - get distracted too easily, work on things that don't need doing, take too long, cannot provide work-time estimates, etc - by putting in place this micro-managing approach: "only do it if it's on the kanban and tell us each and every day what you have done and will be doing". I know agile, etc, weren't designed to do that, but that's what they've been used for whenever I've been subjected to them.
Programming and dev-ops used to be fun, self-directed, creative work which kept me interested for a couple of decades. Now the pace of change (much of it unnecessary or over-sold) and the constant micro-management have me looking for other things to do.
We just started doing "by the book" Agile with daily stand ups. Now that you mention it, it does feel like I'm being micro managed. Put in your time every day so we can email everyone the burn down chart. Lets add some more pressure to the job if you are behind a day. There are no milestones, just an endless grind. I don't know why programmers don't push back against that stuff.
At the end of the day programmers are mostly just factory workers of the 21st century. The best ones are perhaps closer to the mechanics of the industrial revolution.
Compared to programmers 25 years ago? Absolutely not. The pay is worse (inflation-adjusted), and the working conditions are far, far worse (see: open-plan offices).
Let's see what I was doing 25 years ago:
* Private office with a door that closed.
* Status updates mail to $SOMEONE once a week that were mostly auto-generated from the tools we used. Took 30 seconds.
* Sat down to a chunk of work uninterrupted for long periods of time because no one was micro-managing me or bugging me on Fashionable-Chat-App-of-the-Week.
* Used development tools that had a half-life measured in years, not months.
* Got to really, *really* know my tools because they weren't swapped out for the new hotness every six months. Man, the ways I used to abuse FoxPro bordered on criminal. I can't do that these days since the tools get swapped from under me so often.
* Was paid well, and treated with professional respect. Sometimes a collared shirt was required, but I didn't mind when everyone else had to wear ties.
* Was provided with good equipment, often without asking. "I have a quad-core server box with an assload of RAM for a...mikestew?" "That's me, but I didn't order it." Boss: "oh, thought you might need that for multithreaded testing." Thanks, boss!
* Went in at 9:00, went home at 5:00. Every day.
Today: * Today I'm sitting in a retasked storage room because I refuse to sit at the "hotel desks" (note that I'm currently a consultant, so it's not *as* egregious. But 20 years ago, clients that wanted me on-site provided a desk or sometimes an office.) My last full-time position was in an open office plan sitting next to people that literally (and I use that word literally) spent more time talking about the fucking Seahawks than they did working.
* Daily stand-ups to justify my existence.
* Treated like an interchangeable line worker.
* Working on the cheapest Macbook Pro that Apple would sell the client. With a 120Gb drive, I spend at least a billable hour a week trying to free up space what with Android/iOS dev environments and the multi-gig simulator images. But, hey, at least they saved $100 on the cost of the machine!These are also traits of junior developers, who now get boosted into non-junior roles due to demand for developers.
Hiring cheaper juniors and trying to micro-manage them into intermediates... The same approach suffocates eventually when "unaccounted for" tech debt creeps in.
That said, there is also something to certain devs wanting to play with shiny tech (and build their cvs) rather than the best tools for the job. This, along with " cannot provide work-time estimates" point to the need for some senior role who can management overall project development, including goals, estimates, planning and tech stack choices; and this has to be a senior technical role, not a MBA-ed middle manager with a list of methodology-derived rules carved into stone tablets.
I think using/not using agile is like doing business with a contract vs a handshake. When there are few enough people who trust each other, you can get by on a handshake. When you get into larger dollar amounts (like paying an office full of developers), sometimes its better to use a contract so you have some perception and promises about where your money is going.
Now, agile is of course not a contract, but if teams meet their deliverables, the business can at least see where their money went, which they are entitled to do.
Software dev is less about enjoyable hacking, and more about "housekeeping", or a million yak-shaving data management tasks that you are paid to care about.
I'd sooner do something else that merely involves software, but has some other domain of knowledge, and keep the majority of my coding as off-work hobbying.
What kind of company is this?
Just don't expect the big software firms to be knocking on your door if you need those bullets on your resume (unless you have a PHD).
Also, prepare to work in a formal-verification development environment. Some aerospace jobs are like this, which basically means code moves as slow as molasses. If it's flight control software, you may find yourself writing 20 pages of documentation/paperwork for every one page of code. (Think about it, if your code could destroy a $12 million jet engine, you should be pretty confident your code actually works, right ?). So research CMMI [1] and if that is a dealbreaker for you, make sure you avoid those kinds of jobs.
[1] https://en.wikipedia.org/wiki/Capability_Maturity_Model_Inte...
You might also dig deeper into discovering what you like and don't like about the programming profession: Do you prefer going to meetings? Do you like solving new problems constantly? What drives your satisfaction? What do you not like about programming? What do you like about programming?
What one person considers to be a lucky profession may not be the same view shared by another :)
When I picture someone with a strong background in programming and CS going into another field I always imagine there's a lot of potential for really understanding problems in that field and applying computing to solve them. Essentially, using computing to really support work in another field rather than just computing for it's own sake.
As I've mentioned before I own a gym business (multiple locations) with my wife and some other business partners. Part of the purchase process was financial disclosures of everyone so we all know what each other makes on paper, what we actually take home, household wealth and assets, etc.
I'm 30, younger than my business partners by multiple decades, and am the only one not in a strictly management position. Two of the partners are PEs and I make more than anyone else.
I say this not to brag but only to point out that it takes a lot to leave programming simply because the money isn't there is a lot of other professions. I almost went into civil engineering and I'm glad I didn't, because apparently I would've had to bust my ass to make it into management only to be 20 years older and making less money to boot.
I find the data a whisker suspicious, but this is BLS data. Supposedly, the media salary for a software developer in SF is $118k a year. Keep in mind, in San Jose, it is $142k, which sounds more like it.
http://money.usnews.com/careers/best-jobs/software-developer...
But now look at salaries for other fields. A registered nurse in SF earns a median salary of $123k. Every time I point this out, I always make sure to emphasize that I am not complaining that registered nurses earn a lot of money in SF - they should! And yes, it is a hard job, but perhaps a rewarding one as well. Would you rather do a hard job that is important and pays well, or log into JIRA to fix bugs and report on them in your daily "standup"?
Dental Hygienists, according to this roundup of BLS data, earn about $102k a year. Ok, that's less than developers, but do 45 year old dental hygienists get run out of the field because they are too old, or because they withdrew for a few years with kids and family responsibilities?
And keep in mind, salaries for lawyers, nurse practitioners, physicians, physician assistants, and other professionals or para-professionals often substantially exceed what software developers get paid. If you want a relatively low stress job, there are better options. If you're ambitious, there are better options as well. In short, you'd better really like code if you ant to do this, and you may find you don't, once you discover what that means on an "agile" team. Great for hobby, sure, so is music, dance, and painting. Do you like it more than music, dance and painting?
The unspoken truth is that Software development isn't really that great a job for the pay, career prospects, and working conditions. It's not horrible, either, but there's no need to scratch our heads about an alleged "shortage". I know the industry has a bunch of reasons they promote for the "shortage", but in the end, it's a market response to pay and working conditions. People with the skill to do this have realized they're better off in a different field.
Sounds like you're writing code with hard specs (enterprise company?) where you just feel like a cog in this vast code outputting machine. In that case, it's totally natural to feel like you're dying inside. That's natural. We're creative beings, and you either need to find a different job or calibrate other dimensions of your life to meet that need (physical fitness, start a family, serious hobbies, be part of a community).
The actual company feels more on the other side of the spectrum, and has a fairly 'young' culture, along with an overwhelming amount of 'social coding', for want of a better phrase, including various guilds for different technologies, tech meetings, demos, meetups, ad nauseum.
I feel pretty out of place, but I can't help feeling like I just can't cope with this much day-to-day interaction. I just want something quieter, more low key, if that makes sense?
I'm glad for the experience, though.
Going back to programming, here's what I figured out:
- I was working on stuff I didn't enjoy, with people I didn't particularly care about.
- I was taking on new work projects without any particular selection criteria.
- I wasn't thinking about the kinds of work that got me excited about programming and chasing it down.
So I recently nailed the first two back into place. I'm working closer to my values system rather than paychecks. In exchange, I'm just saving more money so I have more freedom.
Anyway, burnout is real. I thought I was done for sure and that my interest in programming and computers was a thing of the past. But that was just the burnout talking.
It helped to keep a journal during this time. Not a chronicle, but a thought-dump process in which I asked if my life was actually improving daily. That made it pretty quick to pinpoint my frustrations, as you can only write about the same pains a few times before you start to really zoom in on the causes and potential solutions.
Good luck to you, however it turns out.
I'd been working at the same job for about ten years, and I started to work on a different group that made the same product with a never technology. I hated that, I found it hard to work in that and I wasn't that productive. Also I had some burnout, some depression, and not much to look forward to...
Except for dancing. I had begun some years prior and I became somewhat good, and I even began to teach.
Then an offer came, resign from the job for money was offered to all, I accepted.
For about two years I just gave classes and worked as staff. Unfortunately the money was not enough.
Then I started helping on the dance school's webpage. The money wasn't enough yet.
So I got a programming job and resigned from most of my job in the dance school. I just teach one hour a week.
I really lost my dream job because of money and not being good enough earn enough to life with that.
Depending on the specific dancing style there are strict body types and features that you need to have, and not all of them can be acquired by training. So yeah, nature is not fair but feel-good comedies don't always apply to real life.
If you have all your limbs and can walk, you can perfectly dance whatever is that you want. If you're fat and can't dance no more that one minute without getting out of breath, get in shape and train endurance. As simple as that.
If you're 5.4" or less and feel intimidated dancing with a taller woman, find yourself a woman of your same height.
You shouldn't be cutting away wings and locking up birds in cages telling them they can't fly.
Mental handicap imposed by oneself -or others, which at the end of the day ends being oneself- is the worst of all.
If you think that all it takes for dancing is "not getting out of breath" then I can see why you would think "anyone can do it"
Although even with modern, there is a strong school aiming to democratize dance. My family were performers in Kaeja D'Dance (http://www.kaeja.org/) Porch View Dances this year (look it up if you like dance) and the performances were very good. The choreographers were very careful to work around body types and capabilities.
Others have pointed to you that to dance you only need to be able to move, to that I agree. But between dancing and have a profession out of dancing there's a big difference.
There are lots of reason why now I can't base my income in dancing, I'm telling them as to give a data point as to why it's not allways as easy as "if you want you can".
First: I don't live alone anymore. Married with some obligations. My income needs have grown, even though there are two sources of income.
Second: Physical activities require discipline, that I lack, and time, which is now spent on my "new" job, my partner and housework.
Third: There are several possible incomes for dancing. None of them make the cut as a great source of income. * Payed exhibition dancing is usually done by younger and more talented people, also it's inconsistent income. Done a bit, enough not to find it feasible. * Competitions don't pay that much, lots of politics in there. * Teaching (which is what I love) doesn't pay much unless you have a name, with low salary you'd need lots of classes, but names teachers get most of them. * Staff work pays less than teaching, necessary for the school to function, but boring.
Fourth: compatible schedules. Being with someone that lives in "the real world" means that working 15 to 23/24 is not seeing them (staff+classes+parties). That and money where the primary causes for my change of career. Priorities matter.
Fifth: People tend to prefer tall, fit, young, handsome male dancers and short, fit, young, beatiful female dancers. Each point where you diverge it's a handicap, I have several.
So yes, I could have kept on my dream job, but I would have to leave behind too many things that I need, like my SO, and would have to go back to living with flatmates. All that, in my early 40's, is not what I want of my life.
"Never stop dreaming!", "if you believe you can do it" are nice phrases to throw at people, but you can cause them to lose their grounding in reality, where sometimes dreams have to be crushed for the greatest good.
I never said it was easy. Unfortunately, this is not a perfect world, and most of the time you have to make sacrifices in order to do what you love. In your case, it means lowering your living standards, but that's up to you, I respect that.
At least that one doesn't not seem to imply dreaming about the same exact thing forever. In other words it might be something else if dancing didn't work out. Still seems to me (I'm in my 30s) that someone with a dream can definitely get further compared to someone with "bullet points" so to speak.
As I don't think I'll be able to earn my living with dancing, nor will my free time be dedicated to it, I'm trying to finally learn lisp, so most of my news' search is about that.
Also.. I don't like pages with the look and feel that that one has, I know modern pages tend to be like that, but I prefer other kinds of formatting. Take this with a grain of salt, because I'm no longer in your target demographics.
These days I'm most interested in economics and politics because I believe that our most important problems right now are in this realm (eg. poverty, job automation, healthcare costs, housing prices, college prices). The Javascript framework wars are laughably insignificant compared to these problems, yet unlike web development, there aren't enough logically-minded people really tackling these problems. Unfortunately there's probably no job out there that I could realistically obtain that would pay me to work on these problems, thus I'm just saving money for retirement and learning on the side.
I'm smart. I think I'm rational. I'm not self-less enough to give up my and my family's financial security to leave the field to tilt at these particular windmills. (I'm unconvinced that any single politician, even the President, could change the systemic problems our system is facing, to say nothing of the likelihood that any individual would be cast aside at some point during the election tournament ladder.)
When I'm outdoors and active, I am so much happier. If I am on a multi-day outdoor trip to hike or rock climb, I feel like a completely different person. This is especially true on long trips that last more than a week. I have much less stress. I smile compulsively, instead of baring my usual strained expression. I have more energy. You might think at first that is simply because I am on vacation and I don't have to think about work obligations, but when I am on a normal (non-outdoor) type of vacation, I don't get the same feeling at all. I think it has more to do with the outdoor environment and physical activity.
I recently met someone who works as a park ranger, and I became envious of her job. I would love to patrol the woods all day as a ranger, or to be a mail carrier walking from house to house. I make much more money as a programmer, but "money cannot buy happiness", and I wonder often if I should change course.
But I've never tried applying, because I have no retail experience, and my work experience is mostly as a lone-wolf remote developer or indie developer (also I'm middle-aged now). Always thought I'd be laughed out of the interview. But I still think one day I'd like to try.
Sometime's it's difficult for me to get motivated to push out code when it's just for myself.
I made the effort to befriend the baristas since I see them every day anyway. Eventually asked one of them to teach me during slow hours and I started to make my own drink each time I came in. One of them baristas ended up referring me to a different cafe (allowed me to avoid the awkward conversation of a weird looking resume) and I passed the interview by making decent drinks.
This line is beautiful. :)
Nonetheless, I say go for it. You would learn a ton and probably become the best kind of coffee snob, one who can back it up with chops ;)
Careful about the drudge work though (especially cleaning floors/toilets at the end of the day), and if you're not used to spending all day on your feet you'll feel pretty sore at the end of the first few days!
They have such high margins on individual drinks (and people will totally buy a pastry if the coffee is free) that this shouldn't cost too much. Plus you can always make the puzzles harder, or have 2 or 3 easyish ones and then graduate people onto harder ones that they'll take a few days to solve.
You can imagine how to decorate the place - blackboards for walls, encourage the customers to use them to practise the spare puzzles lying around today, etc...
If I found a local cafe that paid that much attention to the experience, I'd certainly apply there. But I find many small cafes focus only on the coffee product, but not how the customer feels about the product.
Ironically, I took a semester off and took a contract gig for a few months to pay off some bills and save up some cash, and that turned into a full time job writing software in the public health sector. I never did return to finish the undergrad, and have doubts I ever will, as my career in software has been about as good as medicine would have been when you balance the ten extra years of earnings against a slightly higher salary. The only reason I'd do it now would be to pursue a masters in something interesting.
I think if I had it to do over again I'd have probably just stayed in the market a little longer and skipped out on the student loans. I loved biology and medicine but i'd love to not be paying off the student loans too.
The money will never be the same as working in tech, and you'll almost certainly have to scale back your lifestyle expectations. I still do remote freelance work in slower periods to keep cash-flow flowing, and to fund farm expansion as we grow.
Here's a fun video of my non-tech lifestyle: https://www.youtube.com/watch?v=fb0ur8cdOfY
More recently, I've been applying my past development experience to farming automation using Raspberry Pi's. I built an automated greenhouse controller last year and this year am working on a device to automatically mix and dispense milk replacer for all of the goat kids we have born each year. (You can of course purchase commercial versions of the projects, but it was a fun application of programming, while learning about the RPi and automation, which I'd never done before.)
Good to hear that someone successfully did that!
I have a hard enough time finding reliable paid help (and we're well above minimum wage); managing people with even less incentive to put in a day's work isn't that appealing. :)
For me, I can't do anything else. I'm sure I could learn something else, and I certainly get burned out from time to time. However, I find the whole development process fascinating, I still get a kick out of solving the puzzles and making things work, I am deeply gratified to see something I made help someone else solve one of their problems, and code is affecting more and more of the population for better and worse. There's no place I'd rather be.
There's a scene in 'Heat' where De Niro's criminal and Pacino's cop characters are talking about why they do what they do over a cup of coffee at a diner, and it turns out they're both compelled and couldn't do anything but what they do. I'm not sure what I'll do when the Butlerian jihadists or the twenty-something Angular developers come for me, and I have to go find something else to do, but I think I'll keep at it until then.
Luckily there is still a lot of use from my old skill set, and I suspect there will be more as time goes on.
When you go to a doctor, you expect that they completed training and are certified to practice medicine. It is the same for the engineering profession. Would you want to work in a high rise building that was designed and built some self-titled engineers who have never been appropriately trained?
In some countries it is that way. I know Canada is very strict about who can be called an engineer.
In the US, it is not that way. AFAIK, there's no legal definition of an engineer, and anybody can call themselves an engineer.
But that's only for actual Engineering disciplines. We in software don't need to take an "Engineer" test for the same reason we don't need to take a "Rock Star" test or "Ninja" test. We use the title as a courtesy, not an indication of qualification.
Why would some national laws about certifications prevent you from referring to such a person as an engineer?
I left for software before sitting the PE, so they'd read the same were I to return to doing Mechanical Engineering work.
But of course it's silly to stand on principal on such things, so I've never taken offense to anybody calling themselves whatever they like. If the janitor can be an engineer, certainly anybody else can too.
I imagine Architects feel the same way. And Cardiologists will as well, when we start appropriating their title.
The PE thing really only applies to stuff like civil engineering projects.
I believe you that this is the requirement for some fields of engineering. However, there are thousands of people reading HN with the job title 'software engineer' who did not take those exams.
There is such thing as a traineeship. Yes, they lose out on a lot of the concepts and focused study, but I'd take sharp trainee over a hand pressed graduate any day.
It is needed in some cases, you want people to be properly educated, but that's only when the tuition is necessary for that education.
Engineering (software) probably doesn't for the most part, and I think most people resent the hoops they have to jump through because a university wants to stay relevant, hence the down votes.
Software engineering is incredibly high in demand, there are countless free resources and courses available online, and there are a lot of people out there with the capacity to teach themselves. Software engineering is probably the single most enabling thing one could teach themselves in today's world.
There are people who learned how to code, tossed an app in the App Store and made millions. Or someone who started a wordpress blog, dabbled in some customization and discovered a passion for writing code that they never knew existed. It's like teaching yourself how to read, it enables you to learn and understand more.
It's probably one of the few professions where Malcolm Gladwell's contentious principle holds true. Do it religiously for 5-6 years and absorb everything you learn like a sponge, and you are probably more of an expert in your field than someone graduating from a University because you're on the cutting edge whereas they're just figuring out where they fit into the picture.
Tangentially, presumably for the same reasons, both genders were evenly represented.
I would have properly applied for every job that appeared in the country over that time.
Surprisingly a lot of people enter the field laterally, not everyone goes through the investment banking angle.
Every day we will discuss new developments and how they affect our valuations for these businesses. These decisions are then factored into a portfolio model, which is then implemented by the dealer.
All in all, you have a lot of freedom, you aren't accountable for your time. I could be gone for the week and nobody would bat an eyelid, but the work is honestly so interesting you wouldn't squander your time like that.
In any case, I'd already moved on. I started dabbling in web development in 2008, but by 2010 the Chicago startup scene was taking hold. I got involved, taught myself how to code mostly in Ruby. I had learned QBasic and VBA when I was a kid, and plenty of Matlab at the trading firm, so you could say I had some knowledge, but nothing career worthy at the time. I did the Michael Hartl tutorial for Rails. Started working on an overly ambitious startup idea that went no where. At some point I stopped applying for trading jobs. It occurred to me that I've never been so passionate about anything in my life. I could spend 24 hours straight trying to solve a problem like it was some kind of puzzle that needed to be solved. I redid my resume and quickly went from getting 1-2 hits on my resume a week for trading, to 6-7 hits a day for programming. Ruby on Rails had taken off and demand was soaring. I took a bunch of contract jobs, making $40 an hour. I still remember reporting that I worked on something for 4 hours even though it really took me 12 hours or more. I faked it until I made it. And it worked. Now, I know some 6-7 different languages quite well, and I'm respected by all of my peers.
The thrill of solving a problem still hasn't gotten old for me. Maybe some of the juvenile bro-ish culture has, but the challenges are getting more and more exciting by the day. I'm experimenting with home automation and AWS lambda on my free time, dabbling in hardware.
Now, 6+ years later I have the title of Senior Software Engineer. I've been a lead, I've mentored other developers. I work from home, have the flexibility to live and travel anywhere I please. I couldn't ask for a better career. I've made it a point to learn as much about all the little things that graduate students like to lord over us non CS wielding engineers' heads. I can hold my own and I'm proud of the choices and dumb luck that got me here. To me it is an incredibly rewarding and creative endeavor and I'm still as curious to learn as I was when I started some 6-7 years ago.
I work full-time right now, but my dream is to have total geographic flexibility like you.
I started by dabbling in teaching:
- Mentored some high school robotics teams in the evenings - Taught night school / weekend classes as adjunct faculty at local universities - Shifted my day job from developer to developer advocate
And then a few months ago I took the plunge... sort of. I went on sabbatical for a semester to teach CS 101 full time at a small university across the country.
It's been a great experience, but it made me realize how much I miss programming. I really miss the intellectual growth that I get from working with professional software developers. I suspect I'll resolve the conflict by going part time in my day job, and picking up more classes as an adjunct.
One of the coolest experiences I've had: one of my students managed to end up in my class for 6th, 7th and 8th grade math... Then 7 years later I hired her as an intern! She totally crushed the internship. Meaningful relationships with students like that, where they still check in occasionally and give me updates on how they are doing and tell me how I changed the way they see things... that is something I miss a lot.
I think you should experience how horrible 99% of all other jobs are. Then you will truly appreciate what you have.
Programming and computer research went back to being a pure passion. And I haven't looked back since.
Is it mostly sales because you are a service based business? And how does the fee structure work out? Better part than programming?
- Programming is boring after a number of years
- Programming is more of an art-form rather than engineering
- Entry barrier for programming is low, so you don’t have to be an engineer to do programming
- Your programming skills plateau after a certain age
- Your engineering mindset will be lost if continued in certain type of programming jobs.Trust me, even compared to other white collar jobs, you would not believe how cushy we have it.
I don't know what you was expecting.
Though OP hasn't asked for the following here goes, I feel the IT field has a lot of people wanting to change career paths, more than any other field because of the following:
1. Programming is an art, if not done right and assuming the product is in continuous development, will come back to bite you in the rectum like there's no tomorrow.
2. 99 percent of the industry is about shoving products out without any care for proper architecture or refactoring of any sort. Result -> feature addition/ bug fix times grow exponentially with time.
3. The IT field has no concept of overtime pay
4. 1 + 2 + 3 => loads of burnt out devs :-> people wanting to switch jobs regardless of how high paying programming can be
This feels like a bold claim. Is there anything to support it?
I would also dispute "The IT field has no concept of overtime pay" as being a meaningful reason - many "white collar" professions don't really pay overtime. (I will say that as a contractor, I managed to negotiate a higher rate for working at weekends a few times, but as a permanent employee, the best I ever managed was "time in lieu", which at least a few times basically meant a lie-in after working late.)
this very much depends on the location. The US seems to be lax on overtime laws, whereas in europe its more strictly defined, and I have not worked for any company in europe where we didnt get overtime pay/compensation
There are, however, some exemptions for some occupations. Computer professionals, farmers workers, artists, professions (i.e. doctors and lawyers) and managers are all exempt.
It's debatable which professions should remain on this list but the law is reasonably strict with respect to over time pay.
I mean, I'm okay with investing in my own knowledge, but at some point it's just too much.
I'd expect a pattern where the original thrower-of-spaghetti-against-the-wall has left, and management assumes the later devs - who can't go as fast, or get more bugs because of the holy mess of the codebase - are just not as good as the first guy.
Not for nothing is it said that the burned hand teaches best.
It also helps to avoid organizations where immediate management is nontechnical - not an absolute guarantee of sensible behavior, of course, but at the very least it's a good baseline to set. And it's hard for any manager, especially any manager accustomed to being on the hook and under the gun for the myriad problems with unmaintainable code, to get too upset when people start saying things like "wow, this is amazing, this never used to work before and now it does exactly what we need, thank you so much, you guys are awesome!"
> if you have the mental fortitude and cast-iron gullet
> to specialize in cleaning up other people's messes.
> There's a lot of money to be made that way.
How does an individual or a consultancy go about finding these messes to be cleaned up? I feel reasonably-qualified to go in and take the necessary steps to get engineering projects back on track, but I'm not sure how you would get started doing that?Ask them about their day, they just saved lives - heart surgery, brain surgery, trauma stabilization in ER, just saw a toddler through cancer treatment, and so on and so forth.
What did I do? Oh, I wrote code.
They also saw that patient that barely made it, that kid with inoperable cancer or that person with lots of potential that attempted suicide
Not to mention, it's just as possible to positively effect the world as a developer as a doctor (easier without the red tape, actually.)
I'm not going to a startup, please don't suggest it. I've been there done that. Too broke for my liking, Enterprise got money, plenty of it! I like money and not worrying about it.
Sounds like an insane idea, but as a Buddhist that would be a fulfilled life for me.
I live in Europe and not far away from me is one of the largest European pagodas - even the Dalai Lama has been here. I'd just go there to start my journey. I could stay there for some time.
Actually, I think it's like it is always with the Buddhism; the plan is not to have a plan.
I've thought about teaching (programming) too. My dad is a retired professor, and I entertain no delusions of present-day teaching careers being anything like those of his generation. Still, there's something appealing about even just teaching as an adjunct once I no longer really need the money.
Exactly. This is my main gripe about programming. I will still be programming at some level as I age, but I don't see myself doing programming competitively after 35 considering the cut throat business needs of a 3rd person/entity for whom I will be programming. My best bet is to program for my own business, and then again money and profitability is a matter of concern and there is no better way to know than trying it out.
As others have said programming is probably the lesser of all evils compared to other jobs though. I don't think there is any other profession where I could so easily get paid as much as I do, and work from pretty much anywhere on the planet.
My mid-term goal is financial independence. I'm 28 and should achieve that in the next few years (I'll probably take short-term contracts and then a big break between rather than quitting completely). I don't really have any other hobbies, so I'm not sure what I'll do then though. I wouldn't mind going back to university to study physics.
There is also an extreme amount of micromanagement at my current job. I just get very specific issues and then resolve them. There is no autonomy. The project manager just sees me as a typewriter for his novel.
Jobs where I have been physically active and interacted with a bunch of different people that I don't work with have been much better in terms of my mental and physical health.
I am thinking of dropping down to part-time as I could manage 4 hours per day of programming, and maybe getting a physical job as the other 4 hours.
Obviously for financial/economic system reasons this isn't open to people anymore, think of the cost of medical insurance or cost of real estate, it was much easier to be independently wealthy in the 80s/90s (for a small enough value of wealthy of course). But something similar could probably still be arranged today, somehow.
Another thing to think about is not all programming jobs are excruciatingly boring. Boring jobs should pay a substantial premium to be staffed such that you can afford mental health vacations each weekend of arbitrary expense, to recover.
Also in my starving student days I worked some physical labor jobs that were as excruciatingly boring as your description implies for programming. You feel physically better and more energized if you move more, but you'll be just as mentally bored.
There's no shortage of workplaces like this. Go apply for new jobs and look for ones that use "Agile" and have "open-plan offices".
I'd love to have a programming job where I have little human interaction and have to concentrate for hours. Those jobs are very rare these days thanks to the open-plan office.
About a year ago, I started portrait photography semi-profesisonally. I really enjoy photography but didn't enjoy the business aspect of it. And it was hard to coordinate with clients when you have a fulltime job.
A few years ago, I got serious about fiction writing, wrote a lot but could not write anything that I felt was good enough for anyone to see.
Now I am just focused on programming and enjoy photogrpahy when I have free time.
Trouble is, it does not pay the bills. I'm currently working very hard to pay off all my debt and once that's done I'll be taking up writing full time and leaving the tech industry behind.
I have learnt a lot of concepts by learning programming that can be applied to many real world problems as well.
I desperately want to work in Renewable energy sector like Solar, Wind.
And the best part, my idol, Elon Musky Musk has applied the concepts that we programmers deal with in day-to-day life to producing machines that produce machines that are currently some of the best solutions to the problems like Global Warming, Energy storage & Electric cars manufacturing etc.
This part really gives me kicks. Even though, I think about leaving programming may be in 10 years(I'm currently 24), but the concepts I learnt are going to come in super-handy what ever Engineering things I'd like to do.
There are so many people performing repetitive tasks who could benefit greatly from relatively small optimizations. I would be able to directly witness the impact of my work and make a difference on a personal level. It's hard to do this in software because the landscape changes so quickly.
It would also be super fun to practice apprentice-style learning in multiple fields and document/share everything.
Arguably true, but at my age, it's more effort than I'd be willing to put in at this point. Had I done it when I was younger, it might have been a good thing, but I think the time for that has passed.
Of course I could always move to a state that doesn't even require a license to be a PI. There are a couple of them out there.
However, could you not get some lower-level qualification and set yourself up doing training 1-2 sessions a week? Gives you something different on the side without needing to make a full income or quit what you already know.
That said I'm a sysadmin rather than a programmer, and I have no immediate plans to change.
One thing I would not do is become a photographer; that's my hobby (well that and rock-climbing / gyming), and I've seen too many people be burned by trying to become professionals. I charge money to shoot old ladies, hookers, and pets. But having to make a living from it would change how I viewed the subject and not in a good way.
That sentence really, really needs to be kept in the appropriate context to avoid some fairly serious misunderstandings.
BTW, photography is a great hobby, but doing it for a living entails very different skills, mostly of the sales and marketing variety.
I do it frequently enough to make me happy, and I'm lucky enough to get paid for it, in my small niches. But I've no interest in the rest of the stuff that I'd have to do if I needed to fund my life (rather just fund new camera-toys/lighting gear every month or two.)
Programming being very often about solving business needs, sometime in your career, you might be in a position to realize that it could make sense to go higher up the chain and build a company.
Even if you plan to bring co-founders on board, understanding the basics of what they do goes a long way establishing trust.
Another thing, which is not a skill, is to understand that techcrunch is not a fair representation of the tech world (& neither is HN), and that building a business is not about making the frontpage, it is about bringing solutions to problems so painful that people are willing to pay you for it.
Despite many great comments from those in the profession or not, go with your gut instinct. When you get to the point where you are thinking of leaving what you do for something else, it doesn't matter whether or not other people got to the same point.
Trust your gut and go with it. Usually, it knows what's best for you.
On top of that I think I'd like to own a cafe or roast coffee or something.
But ultimately I got into development work because I was so motivated that the time it took to build experience on my own came easy. And doing the work day in and day out comes _pretty_ easy as well.
Though of course sometimes your interest wanes a little. But I know that it's a lot more satisfying than any job I've ever had. And I haven't thought much about others that I hear about.
In addition to that I just honestly don't think I'd make as much money anywhere else. So as long as I'm into it and it's the best place to make money, I don't see why I wouldn't keep at it.
I just hope I can try to do my other interests in my off time, which over time has become a lot harder than it felt previously.
Admittedly that's because I like Perl, but I also freely admit I'm more productive with full-stack JavaScript.
That said, I wouldn't mind writing about programming, but I can't afford to stop my day job.
I'd love to write an ebook on JavaScript, a spiritual successor to Marijn Haverbeke's Eloquent JavaScript but using ES6/ES7.
Maybe also a book effectively about making your own JavaScript framework — beginning as a way to build a simple website or MVP without jumping on a framework bandwagon. The book would later develop into a cautionary tale, warning against reinventing existing frameworks like Angular or Ember. All culminating in a sober recommendation to choose vanilla JavaScript and direct DOM manipulation for simple websites and MVPs; later upgrading to React and Redux for a large-scale, client-side applications, esp. if a team is involved.
I'd also like to write an ebook about CSS and how to use it effectively — not as in "pure CSS solution to problem x which is actually in JavaScript's domain" rather "CSS doesn't work like that, it works like this, see?"
Maybe also a series of primers: CORS, React, ES6, CSS, 60fps animation/UI on the web, web accessibility...
What's stopping you getting started in your spare time? Even an hour a day in the evenings will add up.
You have a lot of good ideas, but they aren't going to write themselves! :-)
I personally enjoy having at least some interests (mainly coffee and photography) that I can pursue without having to worry about costs. If I ever leave programming, I'd probably take one of those up, but I'm afraid the financial support requirements would diminish my enjoyment some. (Sometimes, I want to work on side projects but after programming for 40 hours a week, enough is enough...)
I am though considering opening a coffee cart -- but not to make money. Opening a coffee cart sounds fun precisely because I wouldn't need to worry about profitability and I could just focus on providing something tasty and meeting people.
All I can find via the google is a harvard business review article by the ifixit guy claiming its common knowledge/everyone knows the above and now boring suits can have this secret knowledge, which is not exactly rigorous proof.
Famously there was a clustering in the 70s where the Venn diagram of hobby photographers, ham radio guys, and home computer guys was ridiculous near perfect overlap. Obviously, the guy wire wrapping a Z80 board carried a Pentax Spotmatic whenever he went outside (that was the thread mount, not the K mount variant, my dad had a spotmatic I had a K1000) and spent the occasional weekend working DX on 20 meters probably CW. If you were wealthy enough to own a floppy drive in 1982 you had a minimum of 3 interchangeable lenses for your SLR and at least two ham radio antennas on your roof. If you had a compuserve account in '84 then you almost certainly were capable of developing your own black and white film. Also you probably either wanted to, or did, sail or pilot general aviation aircraft or both. That's just how it was back in the old days. It all intermixed too, my dad built a large box of SSI TTL logic to implement a timer for his darkroom enlarger, back then that would have been, I donno, a 20 hour project maybe.
I would theorize that whatever genetic "something" makes programmers able to problem solve also makes them polymaths. Or polymaths naturally drift into programming as an easy source of cash.
I grew up with my father being a machinist, and eventually going on to being a QA specialist for a large defense contractor, so I've be lucky enough to be able to learn a lot when it comes to machining and designing. Spitting out a 3D design from a printer is really cool, but nothing beats slapping a chunk of steel into a Bridgeport and ending up with a precisely-milled widget.
My wife is also an engineer at one of the largest (probably largest) physical testing companies in the world, and got her Chemical Engineering degree as well. There's constantly stuff she's telling me about, problems at work, custom things she's doing, and we get pretty deep into conversation sometimes about how to best solve the problems.
The money just isn't there compared to being a software engineer, but like a lot of people have said in this thread, maybe this is just a "grass is greener" thing: these problems that I can't work on just seem that more tantalizing than being the person who is actually dealing with a backlog of them. Vacationing in other people's jobs is fun and easy, and ignores actually being that employee.
Problem is it's hard to sell myself to an employer with no degree, no job experience, no portfolio of projects done using the fashionable tech that is in high demand (and which I have no personal interest in). At this point I'm at a crossroads, but the best way forward seems to be to start building my own business. Of course, there are plenty of unknown intersections ahead in going that route, and I have no prior experience from running a business, so where I end up is one big question mark.
A lot of my most compelling business ideas I've ever come up with haven't been apps or anything I could start programming right away, but rather have been totally different brick and mortar retail businesses. Opening a retail business is something I've thought about doing for a while, but I looked into some of the details and was somewhat turned off by the extremely high startup costs. I simply wouldn't be able to afford it without some partners.
One of my largest interests nowadays isn't software, but rather cities and urban planning. The idea of designing city features that would have a real, dramatic impact on people's every day lives is really compelling to me. I've thought about taking a break from software and working in this area, but at this point I really don't know if going back to school for this stuff is worth it at all. It's unfortunate that I hadn't discovered I was so interested in this topic when I was in highschool or early university.
I've thought about potentially starting a consultancy for cities, in which I could work with cities, by analyzing their data for insights and future projects.
Maybe you might want to go into urban water management? It is done both at an academic level (environmental engineering), governance level (the city's sewer and water supply planning organizations) and private level (e.g. companies building special-purpose solutions for urban water management).
Although you said you want to get rid of programming, keep in mind that your programming capabilities get you miles there. Most stuff is still done in Excel, etc. but the field is getting more and more technical, and cities start to plan and simulate their sewer and water supply systems with sophisticated simulators (e.g. SWMM or Epanet), so your knowledge might be well received.
I actually have a degree in molecular biology and have transitioned to computer science and an engineering degree, which I think was the right choice for me. I thoroughly enjoy being an engineer but lately I can't help but being drawn towards the arts - music in my case. I have been eye-balling a music academy that offers a state accredited professional guitar degree. According to their information material, their alums are quite sought after because of the hands-on approach, studio skills, etc. I looked at the requirements for admission and I am pretty sure I can get admitted with some preparation, having played on and off for quite a few years now.
The catch here is that music industry is actual shit to work in, as I have heard on multiple occasions. And I cannot afford making less than a certain amount of $$ because I have to/want to provide for my wife and two kids.
On the other hand I started having the (completely irrational) fear of being a complete failure if I don't become a professional guitarist.
I'm still in touch with my programming side through my side projects but the experience I gained through my software development years have been extremely helpful both in dealing with business & technical audiences as well as in solving problems logically.
The main point is that the programming skills you've learned can be useful in another setting. Starting off as a programmer doesn't mean that you will have to do it for the rest of your life. You have many different choices and it's up to you to shape your career the way you want it.
There's that nagging idea of the 'real programmer' who is getting paid big money to solve interesting problems. Almost certainly a myth but still a frustrating idea.
If that's what you aspire to I suggest getting involved in solving interesting problems -- there are a lot of them in the open-source world too -- and once you have a reputation in the interesting-problem world you stand a pretty good chance of getting offers from the big-money people.
It was a simple life, but fun. And now season is over. So I look for a job in the IT.
It really changed my life.
I also learned doing bread, alcohol (wines and ciders), playing more music, and did some gardening, illegal picking of (common) plants in the wild ... brawling (movers are no angels) and winning. I grew a spine and a pair of balls.
Don't be scared, life out of programming is quite awesome.
In fact, life is amazing as long you don't feel like in a jail that sometimes is only in your head. I now live with my true colours ; I love to be dirty, mean and sweaty.
Raaah. It feels good to finally be yourself.
Second time, I took some time to execute on a non profit to help our local community. Being good with data really help organizing event people really liked so I tried to spin that into a startup and failed. Like other commenters said, I was doing stuff I didn't really like.
I'm back to programming but I'm really glad I tried different things. Not everything was a failure, I eat fresh organic food from my friend's farm and I have an impact on my local community.
However, I originally set out to become a visual artist. While I doubt I'd be able to pull that off as a career now, I would still much prefer to be doing something in that world rather than instructing machines for the Man. I often think about "transitioning" but so far I haven't found a path (you pretty much have to self-finance), and remain an "artist with a day career."
If anybody is seriously thinking about another profession, and is under 30, I strongly encourage you to give it a shot. It gets exponentially harder once you pass 40.
It's not that I want something more creative than programming, I consider programming to be equal parts art and skill. I want something more flexible, not tied to a company that requires me to work in ways that I don't find productive (looking at you stand ups). However, for now I'll be following the money and writing on the side, although it does get draining to split most of my day's effort into two creative professions.
Then, I would retire from the industry and focus on doing computer generated art and sculpture.
That would let me stay in software, but let me be creative (I don't want 'creatives' to design thing, as if they were a different species - I'm creative myself!). No scrums (aka micromanagement), no testing, no bureaucratic processes or anything like that - I would just spend all my time creating.
The opportunity cost is extremely high though. It's pretty hard leaving six figures of income in a low cost of living (and the grass is always greener I'm sure).
I left a decent paying job to attend grad school and so far its been rewarding.
I'd say that these days, housing is easily the #1 cost for most Americans, and in terms of the fraction of a person's income, it's really ballooned from 20 years ago.
I know a guy who did this at UC Berkeley. Took him a while to get an "MBA-ish" job afterwards but it seems to have worked, and anyway he got as far as the MBA itself without quitting his job.
Once I left and ended up joining a small startup, I then realized that all programming jobs aren't like that and working on even enterprise software can be fun. Never looked back.
Can you give any details about the terms of the contract you signed? IT in India is not 'at-will'?
So recently I've been planning to fund a creative life by saving like a college kid for a decade. The prospect's actually led to a heavy side interest into finance. There are tons of resources on early retirement and financial independence floating around, as well as other ways to create passive income. Based on my starting salary, I'll likely be able to supplement a new career within a decade.
As for what I would do, I'm looking into making music, writing books, and chemistry. Been keeping a journal of book ideas for a few months - challenged myself to write a new one every day - so that I can choose the best ones to practice writing once I get some downtime. I've been playing guitar for over ten years, and I love the production of music. It would likely be recreational, but I want the ability to produce professional quality songs. And chemistry is the moon I shoot for. It's what I've enjoyed learning most in school, so learning and understanding as much of it as I can will bring me great satisfaction.
Best lesson I've take from it is to push through and finish something, starting with smaller bites (blurbs, then stories, then books :)
I simply had to start working with IT. My parents were unemployed at the time and things were rough. My first job offered good pay and allowed us to survive the storm.
After my parents got re-employed, I continued working and advanced my career. With the money I bought a car (my other passion), built a home studio, and now I'm rebuilding the whole house.
I guess I became too attached to having financial security and the nice things it brings.
But I don't plan on letting my main passion die, I still have a rehearsal scheduled today after work!
Drafter --> Teacher --> Education in Industrial Design --> Ux Designer --> Teacher --> Ux Designer --> Programmer.
During this timeline of about 30 years I never stopped programming as a hobby. I HATED the politics of teaching (which I did for nearly 20 years) but it paid the bills. Ux...well, everywhere I designed, I felt expendable and, like education, it was highly political. For many decades I felt like there was a big hole in my life. I wasn't happy. Then...I decided "F it!" and dropped it all to pursue programming as a career. While it hasn't been bliss, I am much happier. I am not inclined to slave away as a hired gun. Programming has been a way to express my ideas in a way that I was never able before. At 47 years old I feel like I'm preparing for a trip to the base camp at Mt. Everest. I figure that by time I hit the summit I'll be ready to retire, but I WILL retire on such a high note. Maybe I'll die on the summit :)
- Robotics (more on the hardware side)
- Woodworking
- Custom motorcycle/classic car building and restoration
The common theme for me is the creative problem solving, building things in general, and attention to detail/craftsmanship specifically that maintain my attention. As it is those are all hobbies of mine, so I still get to dabble while making a good living doing another thing I really love.
As careers go though, what we do is interesting, ever changing, and an exercise in learning almost every day. Oh, and the pay kicks ass. So, yeah, I've thought it. Lots of us think it all the time, but really, we've got a great job, so while the grass may be greener over there, it's pretty green here too.
Even with a gratifying job full of technical challenges, I feared I was becoming a 9to5 zombie. So, I got a new job a few weeks ago. I joined a non profit offering free WiFi in the city as the one man army tech guy. Instead of just software/web/mobile development, I also have kind of managerial type of responsibility and more public relation to do. It's something like a safe steady job with nearly startup mindset.
There's still a bit of programming involved, but it's so different from what I know that it's a real professional challenge. And for that I had to accept a big salary downgrade.
It really depends on what's your motivation. Is it salary, challenges that go in pair with your personal growth or simply working in a different context / mindset?
That may be the tasks you do that aren't fulfilling? For some people, manual work is really gratifying. Last week I was setting new cables in a patch panel; there's nothing challenging about it but it's simple and you can be proud of a cleanly done job.
My solution was to eventually either become a consultant/freelancer, or create my own startup. When I then realized that a tech lead (Staff Software Engineer) spends about as much time doing manager-related tasks as they do developing software, and that a Senior Staff Software Engineer or Principal Engineer is essentially a manager (almost no coding), I knew my days dealing with corporate world BS were numbered.
My plan didn't really fall into place, as I became a Targeted Individual (likely at the hand of one of the idiots managers I had to deal with) 2-3 years after graduating from college. That BS left me sitting in this room for the last 5-6 years being harassed all day long.
After a few years of the torture, I was pretty much done working, as I was now unemployed for too long a period of time, my intelligence and reasoning ability were waning away, and the harassing/intrusive thoughts were still present and were still getting in the way.
Most end up saying I have some sort mental illness (Paranoid Schizophrenia, usually) and am imagining everything.
I'm not sure what was the cause of me being in this situation, but I had to deal with enough idiots and idiot managers along the way that I'm not entirely surprised.
Based on information available online, it seems TIs are usually whistleblowers, activists, minorities, LGBT, women, and/or people with good morals. They are also usually smart. That is, it seems to be something done to people out of jealousy/envy, or because they seemed like a threat.
At the end of the day I'm not sure what started it all, but I strongly suspect it was the idiot manager I had while at my first job out of school (the place was rated one of the 50 worst companies to work for by Glassdoor).
The puzzling thing was that the workplace harassment portion continued at the next job. I don't know how anyone would be dumb enough to keep it going like that.
Occam's razor: Among competing hypotheses, the one with the fewest assumptions should be selected.
Don't Call Yourself A Programmer, And Other Career Advice | Kalzumeus Software ---> http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-pro...
I prefer not to call myself a programmer, although it's a decent way of describing what I do.
I create [value] and solve problems. I used to this by fixing hard datacenter problems as an IT/Ops person, and now I do it as a Full Stack Web Developer. The creating things / solving problems mindset is what is really important to me. Programming is just one interesting "medium" to do this in.
I could see myself creating things and solving problems in other profession. One that I thought heavily about is medicine, law, and writing. I think there are many possible places you can do this in life - it's just a matter of picking a medium you enjoy.
If you need to work on something else, then you can always pick it up as a side project or hobby. I used to find philosophy fascinating. I spent probably a decade of my life reading it as a hobby. Part of me wanted to go back to school or somehow figure out a way to learn it/do it professionally...but I honestly got what I needed out of the hobby. Now I've moved onto other things.
ANYWAY.
If programming made me miserable, I'd consider getting a second degree in psychology and perhaps doing a ph.d eventually. Or maybe go into management. Or maybe go into medicine. Go with the flow or something.
I sometimes day dream though about doing something outside of software such as landscaping or remodeling houses. Something I can do away from the screen & keyboard. Something that still involves creating and being able to see the end results of your creation.
I started as programmer in school, but decided you don't need to study it. It's easier to learn it by your own. Then I became architect, but mostly automated my problems and solutions. After architecture became tiring, without enough pay, I went to more engineering jobs.
Survey, civil engineering, city planning and finally stage design and film. This was all fun and got well paid, but I ended up as director of SW development soon after. After this was not fun anymore I went into hard core engineering, Formula 1 HW/SW simulation and support, but in the end I did more SW development than HW support. HW is always tricky and unreliable. SW is much more logical and reliable, much easier to analyze. And you are not that dependent on others. In SW it's easy to solve everything by yourself on 10x less time than waiting a year for someone else to approve something or until this piece is replaced.
So I went to full time SW work again, even if I still do work a lot on movies also. This is just for fun, helping out, going to festivals and such.
Today I do both but I'm extremely thankful I stuck with programming. Not just as a useful job skill but as a different, powerful way to see the world.
My dream is writing for a living, and I'm currently writing the first draft of a novel. I'm about 1/5 of the way there, began a couple of weeks ago. I've tried a few other times, but couldn't get past the first few chapters. I'm now at 18k words and going strong, I hope this will be the one.
0. https://en.wikipedia.org/wiki/Jamie_Zawinski
1. www.jwz.org/gruntle/nomo.html
2. www.dnalounge.com/backstage/log/1998-1999.html
Edit: jwz hates HN; made the links non-clickable. Thanks @Jtsummers.
Eventually, a few years ago, I started a company to make software for fiction authors.
Best of both worlds!
I can't say for definite what I'd do. Music's always been a side passion and I'm attracted to the idea of getting back into music production. I studied it briefly back in college (UK, so I guess high school?) but I don't think my heart was really in anything back then so I let it slip through my fingers. For some reason I also sometimes get these day dreams of working in a market food stand. I can't see how i'd enjoy it considering how disdainful I was of my youth working in retail, but cooking is another little passion of mine so maybe i'd dig it, even if it felt a bit like an step down.
I should have realized it back then but I enjoyed CS in college much more than software engineering in industry and I miss the difficulty and rigor of the problems.
It's a job, and like any job it sucks (hugely) at times. It also provides money to keep my family, and I get to work on interesting, brain-teasing problems (sometimes! Damn web development).
Frankly, I'm not good at thinking what I'd do until I'm doing it. If I did something else it'd be one of:
Research scientist
University lecturer
R&D
Psychologist
Photographer
I already had the option of a career as a photographer (back before the market tanked, which I saw coming) and classical musician. I'm (mostly) glad I chose neither.Don't worry. In case of so-called 'climate science' the most important is whether your results are 'in line with', your background and the way you obtained these results are secondary.
Martial arts can be incredibly fulfilling. I got to help people improve their physical and mental fitness, gain confidence, overcome anxieties and fears. There were constant opportunities for fun, new friendships, and doing good in the community. Plus it was really cool knowing I could do some of those Bruce Lee / Chuck Norris moves I'd see in the movies.
At the time, I was the sole income for our family (wife & 3 kids). The income possibilities were just not there. We could not have made it work financially. Now, I'm an old out of shape desk jockey.
Best experience in my life, I have learned a lot about myself and that world outside pure IT can be even more astonishing and challenging. Psychological leap I would say, advancing to new level. Despite my friends who couldn't understand with I sacrificed my top salary (yeah, I had it best among my programming friends).
Though I failed (yeah, can admit that proudly, because I tried) and I am back in my profession, with even higher salary then before 1-year challenge I got much better perspective now. I try to widen my horizons more often and in different ways. Oh, and after few months break aiming to jump back into trading on my own account... Real fighters never surrender, right?
Then I sometimes wish I was a full time philosopher.
Other times when I've moved between countries and thought I'd take a break from programming to refresh myself.... I end up thinking about ideas around coding and end up coding anyways. So I think I'm a lifer. Not quite sure what role I'll take if there is a zombie apocalypse though, however I have played through a lot of computer simulations of such events and I seem to be a kick ass warrior
... as I said, fanciful ideas of other jobs :)
I have always enjoyed discovering things in subtleties, and learning the reasons behind strange things with research. There are still plenty of things that we have yet to figure out.
However, regardless of whether I did archaeology or programming, I'm sure I would get burnt out every once in a while. That just happens, and it isn't necessarily a bad thing. (Even if it is annoying...) It helps me to remember that this sort of thing passes as my inspiration swings back and forth, and that I don't actually dislike my profession. And until I am back into it, I just do things to force myself to be productive.
But if pressed... Corporate pilot comes to mind. I've spend I don't know how much money on training and aircraft rental. Most piloting jobs for corporate clients have you working only 2 weeks out of the month. That is, you only fly about ~250hr a year. The rest of the time can be spent hacking or doing whatever else you'd like to do.
It's a job that solves a lot of the problems people complain about in programming, like spending all day staring at the screen or not interacting with people or doing things that might be pointless.
The downside of course is that you eat what you kill.
A recruiter friend reached out and I'm considering working sales for his staffing agency.
I'd love to hear from people that made the dev -> sales switch!
Like the the other commenter, I'd be interested in hearing from those who work in sales.
So if you really want to get into that, I would recommend finding some sales engineers in your company or another friendly company and ask them for advice.
Another closely related thing AFAIK is "Solution Architect" jobs -- in abundance at places like IBM and SAP. There you'd normally be in contact with the folks in Sales as they would want to make sure you're doing the required nerdy stuff to keep the customer happy and open-checkbooked.
I've been doing this awhile and my first dovetail joint was pretty cool... but the hundredth is just sweaty labor, eh. My first whatever is always fun, but the dozenth or hundredth gets pretty boring.
Be careful with the table saw. I'm not a big fan of binary comparisons but there's only two sets of people, those who are terrified of table saws and treat every use as some kind of lion tamer trick and those who have missing fingers.
What people like is the 'creative part' associated with a skill. When you do something as a career, most of your time will be used dealing with the 'boring part'.
I was an athlete in a former life that allowed himself to get woefully out of shape. I went on a health kick a couple of years ago, got into better shape than I was in college. Now I do personal training on the side, just finished my first triathlon, and am now training to compete in American Ninja Warrior. I really wish American Gladiators was still around though as I would've much rather preferred that.
With that fear in mind, becoming a M.D. actually seems like it would be a good decision. Even this late in the process, doctors have been well paid and relatively rare for thousands of years; a tried and true profession. Plus it will sate my curiosity about the function of the human body.
Anyway, I certainly don't mean to discourage your pursuit of becoming an MD--I am just very curious to know your reasoning.
The only reason i even thought about that is to have more joy in programking after work.
I fixed it by quitting my job and going digital nomad.
I'm in the process of going back to studying. My employer knows this, as well as most my friends and peers. I plan to spend the next two scholar years (starting in 2017) to take a master in cognitive science. I have worked for 3 years in web development since graduating and have enough money stashed to make the transition.
I'll likely write a lot less code, and more maths and english.
My primary motivation is that I believe that breakthroughs in AI and cognitive science at the computational Marr's level are going to have a huge impact, and I want to be a part of it.
Totally agreed that if you're into the deep learning/CNN development, especially the practical side, the connection to brains is only through the "neural" analogy.
I've been mulling over the possibility of some kind of work that would be more conducive to my long term sanity. My imagination has me developing and deploying instrumentation for environmental science. 1/3rd screen time 1/3rd workshop, 1/3rd fielding instruments.
I'll figure something out. Probably when 12 hours of daily screentime becomes unbearable.
Some other people are more career oriented and seek professional growth. There are various lines of professional growth, in each stage of the SDLC. Even if someone is new to the industry, a good attitude will eventually lead to growth.
I LOVE gaming (and transferring my skills learnt from programming & the startup world to the gaming/streaming world).
Apart from that...I've wanted to try and be an investor/trader but I don't know if it's really something I'd get into given the commitment & resources they require.
I would like to
- Work at a General Store - Be involved in a full movie / tv series making process ( Because movies have always had a deep impact on me, and I would love to contribute my ideas in that domain ) - Invent new food recipes - Research on Ancient History
I'd love to change to working in 3D, preferably with Rhino (which I have a license for). But, that's not what a career is made of and lacking any practical experience pretty much means I'm stuck.
I'm not opposed to starting over at the bottom, as long as the work is engaging. Unfortunately, there's not much call for people with only minimal experience in Rhino3D, that I've found.
Another thing I've been toying with is prop trading. It's not entirely separate from programming, but the industry is pretty isolated in terms of expertise so it might be considered separate.
Id always be inventing -something- though, recently I got into designing and building high voltage distortion prone vacuum tube hybrid solid-state instrument signal drivers: aka guitar amplifiers :) analog electronics is a lost art!
I'm putting more focus at the moment on exploring issues of Mental health in the IT industry as it's something I've dealt with and continue to deal with.
That seems to give me a degree of fulfilment. Doesn't pay the bills though.
Cycle normally repeats every few years.
Currently doing all three at once because startup.
I want to love what I'm doing, but unfortunately there's few things that tickle my brain like this. What should I do, take ADHD meds and go to work, like everyone else?
Take for example current js webdev, with a new hot tech every week.
We can't all become IT managers (nor want to)...
there are definitely very tedious things that programmers have to deal with like unmarshalling and marshalling data across backend to frontend components or test automation (think of having a multi-tier system with ios app, database, email service for forgotten password and having to automate all of that). but at the end of the day, the thing i like most about programming is the ability to see the things i create doing something useful. seeing the end result that's of high quality gives me a sense of pride. i'm definitely a maker, it's what i was born to do. but at the end of the day it's about risk/reward and opportunity cost, at this point there's just too much to give up, and the side project isnt panning out yet.
on a slight tangent, i have an electrical/computer engineering background and was supposed to go into hardware like most of my classmates, but i ended up liking the fact that i had something tangible after hours of programming, even though it was virtual, and with hardware i'd have nothing to show for it, but a pic controller lighting up some led's, a breadboard with a bunch of mixed logic implementing some simple thing, or some vhdl state machine that effectively did something simple. no offense to all the engineers working on this type of thing, but it just wasnt as exciting to me.
i find that there's some balance to it all, like getting paid well, but also having hobbies on the side that you can soak yourself into. but then again, i've heard many a story about people doing what they love and for lots of money.
Then I got certified in Autocad, got a qualification in Manufacturing Engineering at part-time school, used that to start a degree in Supply Chain Management in the UK. I'm now on an internship in Miami and I already did a semester on exchange in Finland.
Worked out well so far.
I also love programming (since maybe 12/13 year old me read HTML books and Flash actionscript to make games) and I don't really want to do anything else anyway.
I found that SW engineering is too taxing on my time at my stage of my life. My wife and I are mid 40s and the kids are growing fast.
History is probably something that will really give you context on a lot of things. Philosophy is great too.
It was interesting and a bit painful to not have access to source code and to be completely dependent on a slow process.
But doing crud apps all day got boring pretty fast, and I think my current expertise on web and mobile development will be great for my classes as I'll be teaching older students (MAster's degree). Since I have some freedom on the way I get to teach those students, I'm really looking forward to be really practical (teach them over the command line, etc.), instead of being highly theoretical.
The only other alternative I've considered is to teach English in foreign lands, but I'd probably still do programming on the side.
And in a way, leaving lower-level programming for the sake of it and focusing on nicer things more connected with the end user kind of feels like it
I'll probably write code as long as I am alive but not under those conditions, not CRUD apps, not to make someone else rich.
I'd actually say that there are only 4 reasons to write code:
- To learn
- Temporary ( cash )
- To create something which becomes eventually a company
- To solve your own problems
Obv. I don't want to attack someone, that's just how I think about it.
When I entered SE I already knew that I'm not going to do that for a long time, it's on my list, I had to learn it. It's time for the next topic.
So, restaurant health & safety inspector ?
Last year I took up some programming classes (java) and I actually liked it, however I kept convincing myself that despite that, I was going to finish law school. Mainly to keep my job prospects open, maybe even get a management position in an IT firm faster that way. But honestly, aside from the pragmatic things that law teaches you, it sucks. It really does. Everyone I know either aspires to pick up notary or fiscal law, just so they could satisfy their own prospects of a well paid, highly regarded profession. It's a fairly depressing field to study and to work in.
I did a summer internship during summer vacation this year at a fairly prestigious firm. I hated that job, it consisted of looking up the latest jurisprudence about i.e. 'higher power', it made me read law books that were too boring to even want to comprehenend. I read an M&A template contract, which was interesting, but I couldn't imagine doing that for the rest of my life. All the lawyers there aged 27 and up were anything but living the dream. They worked their ass off from 8am to 10pm to bill enough hours per month just so they could keep their respective partners happy. The partners were well dressed, hardworking and very prestigious people. They were nice to be honest, they weren't assholes like you would expect. They actually made me, and the lawyers that worked there, aspire to become one of them. But then you hear the dark side of things. One of the partners had 2 kids she hardly saw, she actually had a babysitter/cleaning maid who took care of them all the time. Another one was divorced and spent his time harassing every hot secretary he met. Actually many of the male part ners thrived on exploiting their prestige to flirt with the fairer sex. Which I can't help but feel a bit jealous of, having such prestige must be awesome.
Except that's all it is really, prestige. It's the main reason people study law, to my knowledge.
As I'm writing this, I'm contemplating quitting my master's and enlisting in a bachelor of IT focused on cybersecurity. I'm aware that it won't give me the same prestige, or the nice suits (I really like suits), but maybe I'll stop feeling miserable.
Just wanted to give you guys a view from another perspective, law school and law in general aren't all they're cracked up to be. They're miserable places to study and work. Just google the words law and depression in the same sentence.
Just like artists, the programmers, coders, developers all design and create new things that didn't exist before, and no 2 programs or applications or completely functioning code will be identical for anything other than a fizzbuzz type test.
So it is natural for the creatives to experience burnout and falsely interpret that as having lost interest in our craft / art. I went through this too at a fairly young stage in my career as I had accomplished a lot in 5 short years. I had the pedigree and training -- internship at Magnum Photos in New York -- so I tried being a War photographer like my Grandpa and traveled to Iraq in 2008. 1 week in there and I came running back. It was a fairly freaky experience.
You think you are there to document something big and consequential to the world and initially it is exhilarating leaving the cube and CRUD applications, but all it is for most part is an online newspaper or blog paying you a few $ per shot. Totally not work the risk. Plus the Radical Islamic Jihadis (ISIS) crossed a new line and started kidnapping and beheading journalists.
I also realized I didn't truly have the stomach for it. Imagine actually being on the scene at 1 of these photographs, and having the courage to shoot, only to find out the media (AP, Reuters) won't publish it. => http://www.theatlantic.com/international/archive/2014/08/the... ( When Kenneth Jarecke photographed an Iraqi man burned alive, he thought it would change the way Americans saw the Gulf War. But the media wouldn’t run the picture.)
Like someone else has stated here, we have it really cushy indeed. So don't get used to it and "itch" for something else. Just work on your side-projects, or learn a new language, or simply stop by to smell the roses and live a little.
Your passion will soon come gushing back and you'll start to wonder why you ever thought of leaving this creative, immensely satisfying craft in the 1st place!
Elon Musk's wife calls this "Idea Sex".
> Choose one thing and become a master of it. Choose a second thing and become a master of that. When you become a master of two worlds (say, engineering and business), you can bring them together in a way that will a) introduce hot ideas to each other, so they can have idea sex and make idea babies that no one has seen before and b) create a competitive advantage because you can move between worlds, speak both languages, connect the tribes, mash the elements to spark fresh creative insight until you wake up with the epiphany that changes your life.
Source: http://www.businessinsider.com/elon-musks-first-wife-explain...
"Just become a master at that one thing, and then become a master at another, and viola! Idea sex. Then you'll really be rich! lol!"
Gee, if only I had married Elon Musk.
And sooner than you think, you'll become a "Jack of all trades and master of none".
A programmer is given a very specific set of tasks (eg. send data from A to B, fix bug, implement X), and his problems are mostly technical. This doesn't even compare to the creativity involved in a real artistic endeavor like designing your own videogame, writing your own screenplay, or composing a song. The latter is totally open-ended, and chances are that whatever you create will be way more unique than the 10,000th CRUD app written in the hottest web stack (React/Redux/Sass, or whatever the cool kids are into these days).
Lack of creativity is actually one of my biggest complaints with this field.
Disclaimer: Have been writing music for almost 20 years, programming about the same.
"I want a picture"
"I want a picture of a bridge"
"I want a picture of this bridge that I built"
"I want a picture of this bridge that I built, in these colors"
"I want a picture of this bridge that I built, in these colors, from this angle"
"I want a picture of this bridge that I built, in these colors, from this angle, in this scale, made on this canvas, with these materials, painted with oil"
Do you get my point? The creative decisions could be endless, even with restrictions. Sure, not all programming is creative, but that's true about any creative field. Most of it is creative though, or rather, it's as creative as you are.
That says more about the artist than the medium. :)
Constraints breed creativity!
To make this concrete, in programming, type checking eliminates all the programs which would have a type error so they are good constraints. But some languages constrain you in arbitrary way which hurts. For example, Java doesn't let you do any functional programming and has a weak type system, which means introduces design patterns.
Ian Bogost wrote a good piece on this called "Shit Crayons" comparing games like Spore to Photoshop, where even though Photoshop is more powerful, most of the stuff you can produce is bad, supporting the idea of constraints. But then he took apart Minecraft for being overly restrictive, causing many things like houses to be dull. http://bogost.com/writing/shit_crayons/
Perhaps whether or not you're exposed to creativity depends on where you, or the industry places you in the field.. perhaps the more experienced you are in an industry, the more opportunities you have for creativity?
If you're working / have worked at the Big 5, your experience is vastly different than the rest of the profession toiling away at CRUD apps and web sites 9 to 5. Lucky doesn't begin to describe it.
I'd say most interesting programming tasks certainly have elements of interesting artistic tasks. They usually involve a problem that is hard to put in words but needs solving. Especially in the startup context it's fairly close to art (imo) since your canvas is so empty...often you don't even know if you're working on the right problem to boot and will only find out through a process.
That does not describe what I do as a programmer. I work with a lot of really smart people who respect my expertise and we discus the programming plan together. I am expected to come up with creative solutions to the problems we encounter and generally enjoy doing this. I code my own solutions and support the resulting software.
Frankly I'm sick of the whining from all the corporate drones who got into this field because they thought it would be a good way to make some stable money. If you sold out, if you didn't do it for the love of it, then you deserve what you got.
I don't think this is a fair comparison. This is actually one of those cases where I like the distinction between "programmer" and "coder". What you're describing sounds like a "coder" or a "code monkey," not at all like what I do in my job. If you were to translate this job over to art, it would be something like tracing over lines, making very minor touchups to pre-specified areas, or perhaps mixing paint.
An artist who has complete freedom over their tools and their subjects would best translate to a programmer who also has complete control over their tools and their subject. They are not beholden to a company for specifics, except perhaps that something actually gets built. More likely this is one person who has an idea for a project and designs and implements everything themselves - and spends more time considering what features to add, the best way to add them, or otherwise experimenting with techniques, than actually writing production code.
What you described seems more like a managerial role and/or an engineering role that also encompasses product/UI design. In my experience, most of the design work - the actual creative part - is delegated to other people, and the actual implementation of these designs is the task of the engineer. As engineers, we're working on the least creative part.
Creativity is not only doing aesthetics or poetry, the bare concept of creativity is unifying things that otherwise don't seem unifiable. Associate a dog with a circuit, that's creativity; innovation.
And boy, you have a lot in bare programming. There are many ways to write a code that does the same thing. Sure, not every code involves the level of creativity a painting can, but that's not to say programming doesn't have creativity whatsoever.
React, Redux, Sass, those all are great examples of programming creativity, just beginning by the problem they solve, it's creativity on his own...
Same with my profession: writing. I'm a professional writer. I get paid quite a lot for what I write, but what I write isn't art. I've just trained myself to produce a commodity that others find valuable. Obviously the craft of writing can be used to create art, but that's not what I do.
The craft of programming could be used to create great art, but that's not what most programmers do with it.
So I have decided to reduce the amount of time I spend at a computer and read more. I play my bass more. I try and get the balance right, and hopefully I can reduce the number of days I work because there is a danger that whilst slaving to make a living, we forget to live.
Usability as a subject is the opposite of art, it is kitsch. You actively try to make simple and obvious; to have just one possible meaning.
She also said that art/painting was the best of hobbies, but would have been the worst possible of jobs. Too little money and too many interested people, so it was a rat race.
Personally, I've found hundreds of subjects I love to learn about. But it seems only one thing I really love doing. So they'll have to break my cold fingers off the keyboard. I love to teach about subjects I love, but sadly lack all pedagogical talent. (Maybe I had liked art if I wasn't color blind or so unmusical that I can't clap hand to most of my favorite music. :-) )
give it a shot perhaps?
Dont really know where to start when it comes to tech + UN. If someone knows please give me a pointer to start.
I have switched to be a guide for Tibet tours (Lhasa, Kailash-Manasarovar) and high altitude trekking and motorcycle tours in Nepal, Sikkim and Ladakh. Customers enjoyed my guided tours in Jokhang and Potala.
Better demand and much more tolerable life than in a coding sweatshop. For everything else there is literally no demand for anything except Joomla websites and Android apps outside the valley, which is already saturated.
And, of course, I have zero interest in things like React or Node.
The sad truth is that indie and small shop IT is already dead. Unless you are a young CS major in US there is no demand for programming jobs. Otherwise there will be a market, not just a few brokers like Toptal.
But beware, you won't be able to function anymore in a JAVA OOP store :P
And still, I find that most of the abstractions that appear, say, in Haskell have little mathematical content. Even less so their imitation in Javascript. ¯\_(ツ)_/¯
If you have family willing to hand down the business or already independently wealthy, then maybe leaving programming to farm is more realistic.
If you come to farming with $2-3M cash in hand, you will typically be in pretty good shape (~$60K average yearly income based on the above assumptions), assuming you have figured out the management aspects. But most don't have $3M lying around doing nothing, and that's the real challenge. The way forward seems to be to hold another job (programming in my case), and take all you can from that job and put it into the farming business until you have built up enough capital that the farm becomes self-sustaining.
It's a long road, but hopefully worth it. As they say, if it were easy, everyone would be doing it.
as an employee/employer, become a technician. everybody needs repair work, and very few can call the result maintainable and sustainable. focusing on residential areas helps, too.