I know you didn't ask me, but I'd like to share my experience with meditation because it's been so helpful to me and my particular challenges. I've been meditating semi-regularly for about a year now, usually every day for a long while and then generally short periods of no meditation at all.
To give some context: I'm currently dealing with the effects of what in hindsight was a slowly ramping up 'social burnout' that has left me with quite a bit of social anxiety, general anxiety, and somewhat unstructured lifestyle where I can easily spend days doing 'whatever I want' (freelancer with savings). I also at some point developed dependence on alcohol and weed, although that's been relatively easy to deal with when I keep my life simple and calm.
On top of that I've just been diagnosed with (mild) autism - the asperger's variety - although I suspect that I might not have been diagnosed as such without the anxious, stressful and unstructured life that I've been leading these past years. Too early to tell though.
I can have immense trouble concentrating on something, especially when there's some 'problem' in my life, and I have to all but give up on being productive if this problem is of the social kind. My mind just cannot keep from going back to it, analyze it, take it apart, and so on.
It can be ridiculously difficult for me to leave the house, eat food, get enough sleep, or do simple things like laundry or take a shower. Without external prompts, I just sort of sit around reading, play games, follow some obsession, worry, 'monologue' to myself, stop eating, and avoid social contact. This eventually turns my thoughts and behavior darker, if I let it continue.
On the other hand, it can also be ridiculously difficult for me to stop and take a rest when I'm in 'meet my one deadline' mode, or actively busy with things. I decide to do all the things at once and don't realize I'm in over my head until it's too late.
Balance is clearly not my talent, and, as is perhaps typical of those on the 'spectrum', I have trouble switching gears. It's like my mind controls like a big-ass tanker ship, while others are more like cars or trucks.
I still struggle with these things. And getting, if anything, has made it more difficult. Things are a bit quiet overall, but it takes me even more effort to snap out of things, to stop overanalyzing, to switch gears. I suppose that's what happens when you do a thing for so long.
Some things have helped a bit, like prioritizing 'simple' things like getting healthy food in me, going for walks/general exercise, taking in more sunlight, and setting small goals for myself. I've become more 'tactical' in the challenges I take on, as being only 'strategic' is not practical enough.
But the one thing that has, across the board, been most effective, is meditation. I meditate for about 20 minutes, and it's like rebooting my system. The effects are smaller when I keep getting distracted, which is frequently, but they're still huge in comparison to anything else I can do (nap, walk, read, etc.).
Sometimes I have a headache, and brief session makes it disappear. Sometimes I can't snap out of a social conflict I'm analyzing while I should really do some work that I've been putting off for days already, but after a brief session (which I'd also been putting off) I just sit down and start, which is more than half the battle.
Meditation has helped me eat better, because after a session I am suddenly aware of the hunger, and I have the peace to let myself make some food. It's helped me sleep better by quieting down a reeling mind that would usually keep me up for hours. It's helped me deal slightly better with conflicts, introspective 'insights', depressive days, and moods by reminding me to not take it all to seriously, and giving me some perspective (through absence of obsessive thought drowning everything else out).
Hell, if it's late afternoon and I have no energy to spare (quite common), a quick session gives me an energy boost and allows me to use the rest of my day (whether it's actual relaxation or work).
The form of meditation I do is mostly the zen variety, which is the form that is probably the most popular (mindfulness). It's really just sitting and the only 'effort' is to not go after every thought that tries to pull you with it, but rather observe that thought itself and try to let it go (but not try too hard!).
I use the Headspace app, which is awesome, but there are plenty of free resources too. I light a candle as a ritual, which means nothing to me in itself but helps me get in the mindset, so to speak. I have a little bench thingy that I can sit on, and simply seeing it in my room can 'trigger' me to use it.
As a 'thinking' type of guy, I also currently devour books on the topics of (zen) buddhism and meditation/mindfulness in general, because, well, my cognitive side needs some tickling too to keep at it. But the actual practice of sitting has been the most important part.
I can recommend the following stuff, in no particular order:
- books by Alan Watts, in particular 'The Book on the Taboo Against Knowing Who You Are' as well as 'The Wisdom of Insecurity'
- The Suzuki's: Shunryu Suzuki for practice and 'contemplation', and D.T. Suzuki one for the academic stuff)
- Trying Not To Try, somewhat practical, mostly insightful, and just fun to read
And there's other stuff I can't think of right now.
> It's so easy to get carried away by enthusiasm, ambition, pride, fear ... it happens to most of us all the time. Luckily I belong to the people who run out of energy fast. Therefore I need to stop and break and make a reality check for myself regularly.
I recognize myself in the behavior that the writer describes. Going all-in on too many things, and all the negative consequences that result from that.
The feeling I felt as I read the article wasn't just recognition; it was envy. Because I am actually one of those people who run out of energy fast, my 'all-in' has not even resulted in a partner, kids, 'prominence' in any community, etc.
Basically, I am in much of the same place as the author, for the same reasons (to the degree that I can tell from one article, of course), except that I have nothing to show for it.
The best I can say about that, perhaps, is that by having less to 'show for it' I also have less to mess up or lose.
Small comfort.
Discovering that I also belong to the people that run out of energy fast, and that even operating at 'normal speed' can be disastrous for me in very particular contexts is a good thing though. If I learn to make these 'reality checks' regularly, I will most certainly be happier and more grounded, and in fact I'm pretty confident I'll even be able to 'achieve things' in the long run.
And that's a ray of hope, however small and however far off its source seems. Slow and steady wins the race, I think, applies very much to me.
My primary challenge is that I find it really, really difficult to 'make reality checks'. I have recently been diagnosed with (mild) autism, and apparently this inability is pretty typical.
How do you keep yourself from either going too much all-in, or hiding from the world too much, when much of the time you're barely aware of whether you're doing one or the other? How do you remind yourself to do a reality check when you forget about the reminder, because your brain is stuck on some random obsession?
Sometimes I feel that I live in a world that is fundamentally not suited to me. I don't think of eating unless someone else starts eating, but because I live alone in a big city with some flatmates I barely know, I am often not triggered. I don't think of leaving the house to socialize because there is no clear pattern or cohesive structure to my social world. It's all opt-in and based on personal initiative, mostly. I sometimes struggle doing work as a freelance developer, because my brain gets stuck in a loop and I just pace my room talking to myself. Or, the other way around, I work and work at the expense of everything else and end up in a pretty bad place because of this. It made me understand why weekends and vacations are important. If only I could remember this. I've tried for years.
I sometimes miss the period in my life where external structures provided me with a socialization pattern (student org.), where deadlines and tests forced me in some kind of rhythm, or, longer ago, where living with my family provided me with the triggers I need to engage in normal, healthy behavior (eat well, sleep regularly, get outside, talk to people, sit with people not talking, emotional 'cleanup' by talking to parents/siblings, etc).
Sorry about this reply getting off track. It sort of got away from me...
I'm someone who only has limited amounts of energy (as in, sustained hard thought and focus), combined with a tendency to get hung up on briefly fascinating, but ultimately irrelevant details. My approach to making progress on projects is to keep a very short list of things that I think I really can make progress on, along with a few footnotes about what imperfections to ignore, followed by a paragraph about why I think I can make progress on these items.
Then, on any day where circumstances are in my favor, I can look at the list, pick something, and start doing it. Or, if I disagree with the list, then the immediate task is to fix the list. Anything I no longer agree with, or don't have the means to pursue, is removed. It feels important to me that the list remains concise and focused.
I think that I'm now better at switching off, being able to do other things, being able to unwind, partly because the list gives me the confidence that I'll be able to pick things up again tomorrow, without needing to wear a furrow in my brain in the meantime.
Well said. The most industrious are those who live their lives by some form of checklist, and manage to at least check some of the items off. The only problem I have with checklists are those who obsessively try to achieve each task on the list and presuming each item is somehow not complete unless the others are completed.
A little known phrase that should be tattooed inside their skulls is "opportunity cost" which I learned from Mark Manson's blog, and it is a great phrase. Try to read "No you can't have it all".
"I recognize myself in the behavior that the writer describes. Going all-in on too many things, and all the negative consequences that result from that."
Considering that I struggled with, uh, 'self-medication' for quite a while, you might very well be right. Something to think about. Perhaps my cessation strategies can help with this too.
I started drinking in a student-life context, around the age of 23 (bit late, I guess). Everyone drank. I joined in, and it was a lot of fun.
Post-college, many of the people I knew just sort of grew out of it. Stopped getting drunk every weekend, and only drank a beer or two with a meal, or only with special meals/moments. But because I became an expat/freelancer/traveler, I kind of maintained a bar-centered, beer-centered life, and naturally ended up with friends who were the same.
It never occurred to me that this might not be 'normal' for everyone. The dynamics behind this are fascinating, but not so relevant at this point. Suffice it to say that most drinkers overestimate how much 'most people' drink.
All this was not a problem until it suddenly was. At some point I'd started drinking to relieve stress, or deal with depressive episodes, and one day I 'woke up' and realized that I'd been drinking to the point of 'being drunk' almost every single day. This was particularly shocking to me because I studied psychology and always had a fascination with addiction. So I knew about the dynamics. I was high-functioning, and doing pretty well all in all, but I didn't feel comfortable knowing that I had a 'dependency'.
It took me a full two years to actually properly get things under control again. There were four things that I believe were crucial:
1. I realized that simply thinking I might have a problematic relationship with alcohol was enough reason to treat it as one, and at the very least 'test' whether I had one. I now believe that if you're not entirely happy with your drinking habits, then that should be enough reason to try and remove that habit for a while, since there are no real downsides to sobriety, and there are definite downsides to drinking regularly.
2. I started frequenting /r/stopdrinking subreddit and #stopdrinking chat room.
3. I found for my 'down-time' drinking periods and drinking social circles: I started meditating and diving into zen buddhism, I started reading and actively doing things again that I knew made me happy in the past (without pulling significant energy and willpower, like programming does[1]), and I took time off from my drinking friends. Meditation was perhaps one of the most important things, all in all.
4. I actively looked into sources of unhappiness and stress, and did my utmost to cut them out or minimize the negative effects.
[1]: interestingly, while my 'craving' for getting drunk is almost entirely gone these days, one of the few times that I feel the pull is when get caught up in a programming project. After spending hours doing that, sometimes forgetting to eat or take a break, it's like my mind is exhausted beyond a healthy point. I'm starting to think my active coding life played a big role in my alcohol dependency issues.
Based on personal experience and observation of some startups around here this is the dynamic that I've seen and what could be happening:
- startup gets some funding, but not a lot, and needs (more) developers
- startup founders think they can find good developers at rates that are similar to those of 'regular' developers outside the Silicon Valley / HN bubble / web development scene. Possibly because these founders are non-technical and mostly have experience in bigger, more 'boring' companies where developers aren't 'essential' (or don't seem to be), or groomed inside the company and happy with lower salaries.
- startup finds out that nobody will take the jobs at the offered salaries
- startup decides to be more creative and - if they're very lucky - find:
1. competent, usually remote developers who are willing to work for much less than the going rate in home country
2. oblivious developers or developers just out of college who have no clue how much they can make
Unfortunately, what I suspect often happens is that they end up hiring subpar developers who just want to get paid an acceptable salary and know nothing about their potential value in their field, or developers who are under-qualified for the specific challenges that many startups face (web-based, mobile apps, rapid development, need for independence and taking initiative because it's chaotic).
And the founders of these companies, if they're not technical, might never quite realize that in the end they're probably wasting more money because the codebase is terrible.
While I would never argue that the only competent developers are those in the 'SV/HN/web bubble', I do think it makes sense that there's a correlation between developers who are oblivious to their value and the rest of their field, and developers who are still stuck in older, less efficient approaches to many startup's problems.
"they're probably wasting more money because the codebase is terrible."
A terrible code base that serves customers is better than a beautiful codebase that goes unused.
I think your criteria is expressed poorly. Perhaps you meant that bad developers are unable to produce code that serves customers well? Add in, a terrible product. (Product != codebase)
Personally I think this idea of a terrible codebase that still presents a wonderful user experience is an urban legend. In 20 years I have never seen it. I've seen plenty of terrible codebases that limp along, with the staff constantly fielding bug reports from unhappy users. But never one with happy users that just happens to be ugly under the covers.
I do agree that a product that functions on bad code is better than no product at all. If there where very terrible design decisions made in the beginning. This could have a very negative impact as the business starts to add customers.
A terrible codebase will _eventually_ fail to serve customers for a few different reasons. Scalability is huge and may be very difficult to find performance problems and fix. maintenance time, and time to add new features are places where a terrible codebase will eventually impact a customer.
Ability to add new features without breaking things is nice. Uptime is nice.
Many products do just fine with a few thousand occasional users, but too many developers think that they are building the next Amazon or something, and overcomplicate things to death for performance reasons.
That's a good point, and I agree that I expressed my criteria poorly.
When I'm saying 'the codebase is terrible', I'm talking about front-end code for a web app that is a convoluted mess of jQuery written by someone who is clearly not used to writing javascript, and quite possibly a bad developer even in the language they are comfortable with.
Even if they're decent at whatever their primary language and 'domain' is, the front-end side of things is such a mess that it noticeably impacts performance and the ability to work on the app well before even the MVP is done.
I've worked with front-end apps (and even websites) that were multi-megabyte monstrosities that loaded multiple versions of jQuery, hacks upon hacks to make things work, and not even the simplest of optimizations (lazy-loading images, 'browser-side' caching, etc).
I've worked with jQuery-only front-end apps that took more than a month to build, did only the most basic of things, and were almost impossible for me as a contractor to work with. I would rewrite the whole thing in either Backbone or some variation on the react/flux approach in, at most, two days, and be able to get the in-house developer up to speed in another one to two days if they were capable and, perhaps more importantly, willing and remotely curious.
In part this has been due to the current speed of development in browser technologies and frameworks/libraries, and in part it's just part of working with in-house developers who have no love for their job or have other things that they prioritize (35+ with kids, understandable!).
Usually this level of horror only presented itself in older, more established companies with 'legacy devs', but I've seen similar issues with (web) startups that hired without knowledge of the domain.
So, to be clear: getting the job done is the priority. I've worked on Backbone projects where I would've loved to use the latest and greatest, but happily worked with stuff that I would consider, in front-end-hacker-news-hipster terms, old-fashioned. And I've come to realize that if you have clever developers with curiosity, you can get a 'front-end app' done that isn't pretty, but works well. But too often, especially in the 'cheaper' startups with little founder-level technical know-how of the domain (front-end), I've seen things go very, very wrong.
Most of the time spent is in debugging/maintaining.
Terrible code base says that the value per customers is decresaing while customers increases because your costs (of software QA) are eating your margins.
Ugly codebase that does not scale with increasing efficiency for instance.
Remember low OPEXes always beat KPEX (investment)
People focus on features in software as the only value, I think it is the recuring costs per feature that should be the value.
For instance storing digitalized book is plain stupid. The first book printed is still there because paper/ink are cost efficient in terms of recurring costs for their value of keeping information whereas servers/software ... will doom data to an end because of reccuring costs that don't scale.
The unpopular answer? Get a job at an established company that isn't a startup.
That'll give you the best idea of your market value. You don't need to take the position, and if the bureaucracy of an enterprise gig isn't your thing, then maybe you shouldn't, but that'll give you the best float test for what it is that you're actually worth, with which you can parlay into knowledge for salary negotiations elsewhere.
Knowing that Oracle would pay you is great for evaluating whether or not it's worth a $30k difference in salary to not have to worry about a business casual dress code, corporate politics and a rigid command structure.
Not knowing the difference in pay, it's harder to evaluate whether or not it's worthwhile.
If I wanted to go work for a startup, how do I find them? Usually when I go job hunting, startups are more difficult for me to find because using my university resources only leads me to big companies (i.e. Google, Apple, Cisco, ...)
There is a lot of value in working for a bit with one of the big players, and seeing first-hand what a well-established code-base looks like, the big day-to-day problems of maintenance, and have people checking your work in ways that you might not get at a small startup where the quantity/quality tradeoff is at a different place.
Many of the old-school Caribbean pirates were in the navy first, after all...
You could walk into Cisco, VMware, EMC, Pivotal, etc. etc. and find yourself working with close to cutting edge tools, hard problems, etc - BUT have a stable salary, perks, training courses, huge amount of corporate resources to lean on and learn with.
Don't rely on your university for advancing your career. I've basically never seen a university career department with good connections or any knowledge of tech at all.
If you're in the valley, networking. I can hardly pick up lunch at a Specialtys without running into startuppers that are trying to solve interesting problems.
If you're not in the area, it gets substantially harder. Some random sources.
For your local area, I'd look at who is sponsoring the tech events (e.g. you local Ruby/JS/iOS/etc meetup). For instance in Portland that quickly gets me New Relic, Urban Airship, and maybe a dozen other names. You can also see if there is a local tech magazine/newsletter, and read a few issues. If you're looking for younger companies, look at the class list of the last few years of local accelerator programs.
If you're looking for remote work, you could start with the list of YC companies. Or just go with any young companies whose products or blog posts or people you admire.
It's better to start with the companies you want to work for, and check their own jobs pages (or ask someone who works there), than to start with aggregated job boards, which are really a wasteland.
One way would be to try to get an offer from one of the big players - Google, FB, Amazon, etc - even if you don't want to work for them. They all pay about the same starting, and since they're so visible they set the market, especially for recent grads. Of course, their numbers are also inflated with the cost of living in the Bay, so scale accordingly if you don't live there.
> Of course, their numbers are also inflated with the cost of living in the Bay, so scale accordingly if you don't live there.
Only if your job offer is in the Bay Area. Some of these companies have branches in smaller cities where the cost of living (and consequently pay) is lower.
I would say if you have to ask the question your probably worth about the average starting salary. Perhaps a better question is where can I work so that I can be paid to learn cutting edge software. Eg. React JS or something cool like that. Don't take a job to write SQL Server 2005 SSIS tasks or maintain win forms apps etc. What your worth is also based on peoples perceptions of you which is also reflected in your confidence. Eg. I just graduated however my strongest skills are my quick ability to pick up new technologies and I have a natural ability to develop well structured code and so I strongly believe I am worth a better rate. Etc.
1. Further nurture being my MDMA-self without actually being on MDMA.
2. gain a more fundamental understanding of CS/programming, beyond just the webdev stuff and disjointed snippets of knowledge.
3. Find a partner, to ground me somewhat and keep me from getting lost in my thoughts too much (and forget basic good habits like eating, sleeping, working out, and socializing).
4. Make more friends, and broaden my network. The past year's been (intentionally) quiet, but I feel I'm missing out on what Berlin has to offer.
5. Simplify my life even more, lose more of my ego, practice empathy.
To give some context: I'm currently dealing with the effects of what in hindsight was a slowly ramping up 'social burnout' that has left me with quite a bit of social anxiety, general anxiety, and somewhat unstructured lifestyle where I can easily spend days doing 'whatever I want' (freelancer with savings). I also at some point developed dependence on alcohol and weed, although that's been relatively easy to deal with when I keep my life simple and calm.
On top of that I've just been diagnosed with (mild) autism - the asperger's variety - although I suspect that I might not have been diagnosed as such without the anxious, stressful and unstructured life that I've been leading these past years. Too early to tell though.
I can have immense trouble concentrating on something, especially when there's some 'problem' in my life, and I have to all but give up on being productive if this problem is of the social kind. My mind just cannot keep from going back to it, analyze it, take it apart, and so on.
It can be ridiculously difficult for me to leave the house, eat food, get enough sleep, or do simple things like laundry or take a shower. Without external prompts, I just sort of sit around reading, play games, follow some obsession, worry, 'monologue' to myself, stop eating, and avoid social contact. This eventually turns my thoughts and behavior darker, if I let it continue.
On the other hand, it can also be ridiculously difficult for me to stop and take a rest when I'm in 'meet my one deadline' mode, or actively busy with things. I decide to do all the things at once and don't realize I'm in over my head until it's too late.
Balance is clearly not my talent, and, as is perhaps typical of those on the 'spectrum', I have trouble switching gears. It's like my mind controls like a big-ass tanker ship, while others are more like cars or trucks.
I still struggle with these things. And getting, if anything, has made it more difficult. Things are a bit quiet overall, but it takes me even more effort to snap out of things, to stop overanalyzing, to switch gears. I suppose that's what happens when you do a thing for so long.
Some things have helped a bit, like prioritizing 'simple' things like getting healthy food in me, going for walks/general exercise, taking in more sunlight, and setting small goals for myself. I've become more 'tactical' in the challenges I take on, as being only 'strategic' is not practical enough.
But the one thing that has, across the board, been most effective, is meditation. I meditate for about 20 minutes, and it's like rebooting my system. The effects are smaller when I keep getting distracted, which is frequently, but they're still huge in comparison to anything else I can do (nap, walk, read, etc.).
Sometimes I have a headache, and brief session makes it disappear. Sometimes I can't snap out of a social conflict I'm analyzing while I should really do some work that I've been putting off for days already, but after a brief session (which I'd also been putting off) I just sit down and start, which is more than half the battle.
Meditation has helped me eat better, because after a session I am suddenly aware of the hunger, and I have the peace to let myself make some food. It's helped me sleep better by quieting down a reeling mind that would usually keep me up for hours. It's helped me deal slightly better with conflicts, introspective 'insights', depressive days, and moods by reminding me to not take it all to seriously, and giving me some perspective (through absence of obsessive thought drowning everything else out).
Hell, if it's late afternoon and I have no energy to spare (quite common), a quick session gives me an energy boost and allows me to use the rest of my day (whether it's actual relaxation or work).
The form of meditation I do is mostly the zen variety, which is the form that is probably the most popular (mindfulness). It's really just sitting and the only 'effort' is to not go after every thought that tries to pull you with it, but rather observe that thought itself and try to let it go (but not try too hard!).
I use the Headspace app, which is awesome, but there are plenty of free resources too. I light a candle as a ritual, which means nothing to me in itself but helps me get in the mindset, so to speak. I have a little bench thingy that I can sit on, and simply seeing it in my room can 'trigger' me to use it.
As a 'thinking' type of guy, I also currently devour books on the topics of (zen) buddhism and meditation/mindfulness in general, because, well, my cognitive side needs some tickling too to keep at it. But the actual practice of sitting has been the most important part.
I can recommend the following stuff, in no particular order:
- books by Alan Watts, in particular 'The Book on the Taboo Against Knowing Who You Are' as well as 'The Wisdom of Insecurity' - The Suzuki's: Shunryu Suzuki for practice and 'contemplation', and D.T. Suzuki one for the academic stuff) - Trying Not To Try, somewhat practical, mostly insightful, and just fun to read
And there's other stuff I can't think of right now.