
Tech is moving too fast for me: I'm out. - marco1
I&#x27;m a software developer, just like many of you.<p>My software has issues, lots of them. Customers are calling, there&#x27;s this and that to do. The to-do list is seemingly never ending.<p>And then there&#x27;s every day where I&#x27;m overwhelmed again:<p>Snapchat launches a fantastic re-design. Facebook changes its newsfeed algorithm with significant implications for marketing agencies and small businesses. Facebook replaces its complete Android SDK with a new API. You have to adapt. You have the SDK in your app? Change the references. Apple releases a completely new programming language. Apple releases new versions of iOS and OS X. Google brings Android to TV and your wrist. They release a brand-new Android version. A new cross-platform design language. They replace the Android VM. Notifications change how they work. This. And that. And this. And that.<p>Issues and customer feedback pile up in your mailbox. You don&#x27;t know how to manage the today and the past and yet the future is waiting with millions of new opportunities, needs, demands and risks.<p>I&#x27;m out.
======
notacoward
The problem isn't that tech is _moving_ too fast. It's _churning_ too fast.
How many copycats, changed (i.e. broken) APIs, new ranking algorithms and UIs
do we get for every one tiny bit of actual forward movement? All this
"disruption" for its own sake sucks the time and energy out of the people who
actually do all the innovating. When half of every release is about fixing
broken dependencies and half of every sales cycle is about answering FUD from
"competitors" who fail on the very fundamentals, that's not progress. It makes
me want to get out of the business too.

~~~
fidotron
Right. This "move quickly and break stuff" can work, barely, in a single
organisation. Once you have inter-organisation dependencies which constantly
break, and is the current situation, you rapidly head towards an unproductive
tarpit.

This is one of my stock objections to package management "solutions" such as
Maven. By reducing the friction for change on the part of implementers it
pushes the burden on to consumers of APIs to adapt. "Just update your package
- it takes two seconds" is the eternal lie of such systems. Package managers
by themselves aren't bad, but the resulting mindset is.

~~~
jsilence
Thats why we need open and well defined protocols and not APIs.

------
notatoad
>Snapchat launches a fantastic re-design.

so? how does this affect your product?

>Facebook changes its newsfeed algorithm with significant implications for
marketing agencies and small businesses. Facebook replaces its complete
Android SDK with a new API

yeah, that sucks.

>Apple releases a completely new programming language.

so? you don't have to use it.

>Apple releases new versions of iOS and OS X.

if your app works on Mavericks, it works on Yosemite. if it works on iOS7, it
works on iOS8

>Google brings Android to TV and your wrist.

You don't have to integrate with it.

>They release a brand-new Android version.

same comment as the apple OS releases

>A new cross-platform design language.

You don't have to use it. Your product already has a design, and a brand.
consistency is important. Your users are probably even more afraid of change
than you are. Don't inflict google's new design on them unless they're begging
for it.

>They replace the Android VM.

your app probably already works with it. most do.

>Notifications change how they work.

no they didn't. they added new features, but your old notifications still work
like they did yesterday.

>This. And that. And this. And that.

Build your product, make it as good as it can be, and build what your
customers are actually asking for. Stop caring about all that crap the tech
blogs are posting, and focus on what your customers are asking for. You don't
have to react to everything that theverge reports on, 90% of it goes away
after a couple months or has a similarly small effect on the industry.

~~~
encima
Critiquing every detail of this man/woman's complaint is not going to help
them. I think we all agree with at least some of the points. Your references
to specific versions of OS' shows you living in the now. Apple will always
release a new iOS and the OP's app will not always be compatible. It comes
down to this: there is a lot of stuff going down and some people struggle to
keep up. We give the impression that this has to be a way of life. Code at
night, code at work, lifehack all the time. Some people just want a day job
and, in this line of work, that is hard to do. I love it, but I also know what
burnout is and the advice here does not help.

~~~
marco1
Thanks for the understanding! By the way, it's not only about not accepting
the lifestyle (e.g. coding at night) and thus struggling to keep up with the
changes -- it's also not being profitable enough to hire enough people. If you
want/need to be present on the three major mobile platforms and you can only
afford a team of three, for example, it can be hard sometimes.

------
noonespecial
I'm the opposite. Every "new" thing to me just seems to be the same old thing
with a new coat of paint. Maybe I'm just nostalgic but there are very few
things that seem _magic_ to me anymore. By magic I think I mean that either I
have no idea how its done or, better yet, its something that's suddenly done
_so well_ I can't figure out how they pulled it off.

Seeing an Oculus Rift actually _work_ for the first time was one such example.
A new Facebook API that "changes everything" is really really not.

------
mmaunder
No. Tech moves slowly. I've been writing software for 28 years, professionally
for 20 years and as a full-time entrepreneur for 10 years. Also spent the
first 5 of those 10 years getting it wrong in terms of biz model.

There are two things that are hurting you.

1\. Corporate marketing: It's very important for every tech company to give
the perception they're ahead of the curve, that they know magic stuff that you
don't, that they're so smart it's not worth even trying to compete with them,
that you better buy from them or work for them or you're completely screwed.
You're believing this bullshit.

2\. Geek obsession with shiny new things. Most of the new languages,
platforms, storage engines and dev tools that come out are 5+ years away from
being ready for production. Many of them are a solution looking for a problem.
Many of them are proprietary or pseudo-open-source looking to create vendor
lock-in or opportunities for monetization for a specific company. What most
profitable companies use is old school to most developers, especially on the
west coast and especially in the Valley. So just don't use new stuff until
they're main stream. Read about them (in an article of 800 words or less),
figure out what they're about and move on until they're ready for production -
and even then decide whether you really have a need for the thing.

You can sit down today and spend a few months writing a kick-ass web
application using Linux, Apache with Nginx, PHP and MySQL and generate
thousands of dollars a day in revenue or raise millions on the back of the
product/service.

Linux: Created 1991. PHP: Created 1994. MySQL: Created 1995. Apache: Created
1995. Nginx: Created 2002.

There are few innovations that are really game changing. A few that come to
mind:

Nginx: Solved the C10K problem and lets you have over 100,000 concurrent
connections to your web server using only a few megs of memory. Put it in
front of Apache web server and divide your front-end hardware costs by 100.

HTML5's web sockets: Now you CAN have push communication via HTTP. Previously
long-polling was the only option.

One thing I do agree with: Doing customer service if you're a developer does
suck. However if you learn to love your customers and stay on top of it, it
ain't so bad. And it's exactly what I'm about to spend my evening doing.

~~~
quattrofan
"Geek obsession with shiny new things" nailed it in one. I spend a lot of time
advising businesses on their tech direction and its amazing to me how often
they are told by some digital agency 20yr old to build something using
bleeding edge tech for no other reason than its new and shiny.

------
jbigelow76
This is going to sound patronizing but it's not[1], but if consumer/mobile dev
moves too fast the OP should consider doing enterprise development.

Lots of enterprises embrace forward thinking architectures but don't
necessarily churn languages/frameworks/platforms too frequently.

[1]My day job is enterprise development.

~~~
rbanffy
Indeed.

I know of more than one humongous application that still runs on Java 1.2. I
wouldn't be surprised if the database was of the same vintage.

OTOH, there is absolutely zero chance you'll get to use Firefox, a Mac or
deploy something on Django or Rails there. Ever. By 2020 they may have updated
their desktops to Windows 8.

Since I am a retrocomputing enthusiast, I wouldn't mind working on a VT-200 or
3279 ;-).

~~~
pionar
> I know of more than one humongous application that still runs on Java 1.2

True, but they're not all like that. We've got a humongous app written
originally against .NET 1.1, it's still around, still getting new features,
doing refactoring, getting updated with every .NET version bump (runs great on
4.5), still being invested in.

Enterprise does not always equal legacy, etiher.

I'm also working on a project that uses MVC5 and async/await features heavily.

Enterprise is fun because there's usually much better requirement gathering
and a very tight feedback loop, because it's actual customers, not prospects,
and honestly the developer doesn't have to worry about SEO, marketing,
conversion, etc. The sales teams do all that for you.

------
ryan-allen
You can still be a software developer, just don't follow the trends and look
downwards and specialise. What part of development do you love the most? Do
that, get great at it, and don't worry about the daily currents, just look at
the yearly trends and stop worrying.

Did you know people still do greenfield development in PHP and that it's a
huge market? I bet that wasn't even on your radar! Stop reading Techcrunch and
specialise in what you like.

------
genwin
To stay on top, all you gotta do is have 3 years experience in everything that
came out in the last year.

~~~
marco1
Exactly ;( And I feel like the more ambitious you are (for yourself and your
company), the more you suffer from this problem.

~~~
genwin
Yep. Probably best to focus on the end user, who usually doesn't care about
your underlying tech. WordPress, Facebook, Craigslist, all built with tech
that isn't the latest and greatest, yet still successful.

------
personjerry
I'm assuming you're talking about the need to learn more and do more, as
opposed to simply technological progress (which is kinda neat watching all
this new stuff appear IMHO).

So tech progresses. But at most you're affected by two or three of these major
changes. If you feel like you have to keep up with everything then perhaps
you're trying too do much. If you are sure you need to handle every new
technology coming out, maybe it's time to make some hires or even pivot.

We catch up with all the technology we've been missing out on only when we
need to -- with a strong computer science core, it shouldn't be overtly
difficult to learn a language for some new project because the concepts stay
the same. But don't attempt to learn everything at once.

If it all feels overwhelming at times, I would recommend meditating for a few
minutes in the morning and night. It may sound cliche but it's super easy and
very conductive to a calm mood.

~~~
marco1
Thank you!

Watching the technological progress is fine, yes. But I can't passively watch
because I'm involved. Every exciting thing is not just something I can applaud
as a consumer but something I have to be after as a developer and
entrepreneur.

Sometimes I do ask myself if I'm trying to do too much -- but is being present
with your company on both big platforms (iOS + Android) too much already?

I can calm down when I'm not at work (e.g. in the morning). But as soon as
work starts, I just see the huge piles of opportunities and demands.

~~~
BuckRogers
I don't know the answer to this, but maybe moving to Xamarin would help? It
will cost you some money, but may simplify trying to support your platforms. I
think it's cool what you're doing, I'd love to learn from someone like you.
But I purposefully limit what I work with technologically. I think there are
ways to handle your business, without having to manage every detail.

I only work with stuff I can do in Python. If I can't do it in Python, I don't
do it. It is nice, but I also don't make the money I'm sure you are either. So
your problem is definitely self-imposed, but it's not like you're not properly
compensated- you're just complaining / letting off steam. For what you're
doing, I'd go learn C# and pay for Xamarin licenses.

~~~
luke-stanley
Kivy is perhaps a better fit than the closed Xamarin. Cross-platform Python,
oh yeah!

------
null_ptr
You seem to be at the whim of fickle web APIs, that's no way to go if you're
in it for the long haul. Web tech moves very fast because it's just so easy to
iterate and deliver the latest version to your users - and why waste time
being backwards compatible when people put up with you regardless?

You have to decide whether you want to pursue these ever-changing trends and
be a middleman between API services and users, or take charge of your fate and
develop your own meaningful technology (that others in turn will use).

------
CyberFonic
Ok, some time out might help you regain your perspective.

Yes, there is a lot of change. But other than maintaining a sense of what's
going on, you should FOCUS on what your customers need and why.

If your software has a lot of issues, then is it because it is trying to do
too many things? Maybe you need to segment your customer base and thus your
software to be focused on a manageable set of functionality.

In your segmentation effort you could fire those customers who cause the most
work and contribute the least amount of revenue. Yeah the old 80:20 rule.
Focus on 20% of your customers who provide 80% of your revenue and in turn
focus on 20% of the functionality in the software that delivers 80% of what
the customers require.

~~~
arms77
The 20-80 rule is great to manage the existing situation. I believe ever so
often we should look up and see what's ahead of us and adapt which requires to
go beyond what existing customers are asking.

------
overgard
The niche you're in matters a lot.

Just as a thought experiment, if you pulled a C programmer from 2004 through a
time machine into 2014... they probably wouldn't take that long to acclimate.
There are new things, sure, but there are still a lot of the same APIs, same
tools, and so on. The basics are the same. Make, GDB, Visual Studio, the
language -- it's evolved but it's not unfamiliar.

If you pulled a webdev from 2004 into 2014 through your time machine? Outside
of HTTP and HTML, pretty much all the things are different. And in two years
and already everyone's onto the next language and the next "framework".

------
PaulRobinson
Stop reading the news as if it matters. It really doesn't. Especially if it's
here - it's good to let it pass you by so you're informed, but stop thinking
about it.

I'm currently punishing Facebook's constant SDK and API churn by avoiding them
where possible. We should all do the same - their strategy is insane.

Everything else you pointed out can be be safely ignored as an immediate
concern.

Focus on building a solid product. Your product. Make it simple, elegant and
small. Don't go too far, or too fast.

Don't read a single piece of news until you've got rid of all the issues in
your current product.

------
mingabunga
A lot of this news can be overwhelming, so much noise and its futile to try
and digest it all - you'll lose focus. If you let it get to you, it will -
it's a bit like saying yes to everyone's demands and then trying to satisfy
them and in the end you run yourself in to the ground.

I'd just make a plan and stick to it. Perhaps focus on the problems your
customers are having to stop them calling.

~~~
marco1
I have often had the same thoughts. Personally, I try to keep up with the news
and the development in the industry (not just basically, as everyone does a
little) because I want to have foresight and vision.

A trivial example: Some competitor might decide to start developing for some
platform today, but with all the background knowledge, I might say: No, it's
time to bet on another platform -- which could cause a critical advantage for
me in the future.

But sometimes, I feel like the people who are just diligently doing their
daily work and 100% focusing on their own project are not only a bit more
productive, but (and this is far more important) happier.

~~~
jh3
> I feel like the people who are just diligently doing their daily work and
> 100% focusing on their own project are not only a bit more productive, but
> ... happier.

Do this...

------
codeonfire
Are you an employee or founder? Because as an employee you probably generate
tremendous returns for coping with all that, but you don't share in those
returns. That's always been a problem with any sort of technical role. As a
founder if there's no rewards happening then maybe try something else.

~~~
marco1
Thanks, I'm a founder, and this is probably a large part of the problem. As an
employee, I could just say every day: Today, I'm trying to accomplish as much
as I can. Everything that is too much is just postponed to tomorrow.

But as a founder, I feel I can't just work relaxedly while your industry is
moving faster and faster. You impose other standards, don't you?

~~~
jcmurrayii
Ah, I see a problem.

As a Founder, it is just as important for you to say 'I am going to accomplish
as much as I can' and not go beyond that. Balancing life with work for
Founders is a continual issue, but is VERY important in order to prevent the
kind of burn out you are talking about.

So what if there is new tech out there? Adapt to it at YOUR pace. If you have
a product that is solid, and customers on that product, chances are you can
make it down the road a bit just by progressing that, and by gradually working
in the new stuff. Focus on VALUE...not on buzzwords. Will that new tech help
you provide value to your customers? If so, devise a plan that gets you there.
If not? Forget it.

Hire the right people to help you get done what you need to get done. As a
founder, your job is to provide the master plan, the vision, and the tools a
team needs to succeed. NOT to take on the entire world and make it all your
own problem. Delegate.

~~~
marco1
> NOT to take on the entire world and make it all your own problem.

Which is exactly what I'm trying. Thank you! It's just that it often seems to
me you can't have a proper work-life balance unless you shut your eyes to all
the opportunities you can take and demands you have to fulfil.

~~~
gerbal
One way to start is to have employees you can trust. And delegate tasks to
them. If they are worth your time as employees, they will take initiative to
do the things you can't or don't think of. If you find people who are willing
to believe in your dream, you can let them do some of the heavy lifting.

You can't be a one-man shop that can stay abreast of every new and emerging
trend in the industry. There just isn't the time in the day. There are like
two dozen people on earth who can actually be up on all of the latest stuff
all on their own. And not being one is not a bad thing.

------
FallDead
Building a app or company, depends on markets, it is independent of
technology. My Alma-Mater taught functional programming and outdated
technologies, and I thought it was useless, but generally you can abstract
away these ideas to be used in a new framework. Be technology agnostic, I am
pretty upset about swift too after dedicated many hours to learning
objective-c syntax. The most that swift would add to the over head is

1\. new syntax 2\. functional paradigm on top of the oop paradigm, and a new
way of thinking.

Everything I know about oop stays the same and design patterns more or less
the same!

Many of these companies started off small and built a market focused product
before going full R and D.

As you can see these companies are looking to sustain their empires, so they
have to "innovate" in someway, it doesn't mean you need to adopt new features.

I think your problem is your software design skills possibly need to be more
TDD and at the same time hire some VA's to handle customer support tickets.

At the end of the day its a product in the market, not the product written
with the latest framework, when you have market traction and a business case,
and lots of funding, you can worry about catching up with the times.

------
ggiaco
It's the Facebook news feed effect; realizing that no matter what you do you
can never keep up with everything that's going on. The world is too complex.
Probably best to find a way to focus on a specific area of expertise, just as
as it's healthy to focus on our own lives and those closest to us, rather than
the never-ending stream.

------
mbijon
Focus and time management.

Regardless of whether you're an engineer, founder, sales/account exec, or any
other role, if you can't allocate time to important tasks, work them hard and
then break away when other things come up (including time away for lunch or to
take a thinking walk) then you won't be working at a top-level.

------
Aqueous
Customer feedback isn't all created equal. Some of it is stuff you actually
have to respond to; others are stuff that you can safely ignore (courteously,
of course). Would you prefer you had no customer feedback? Chances are that
would mean you have no customers. Be happy that you have some; that means your
software is basically OK, and people care enough about it to make actual
suggestions.

Don't pay attention to the noise. And for god's sake don't read Hacker News
every day, especially not while you're trying to work.

I think you'd run into a lot of this stuff with a lot of jobs right now. The
world is always changing. You need to be able to filter out irrevelant stimuli
and focus on relevant information - this is an important cognitive skill

------
rbanffy
I can feel your pain. If I can offer one single piece of advice, it's this:
reduce scope and focus on the essentials.

Every single API changes from time to time. Managing the conflicts of multiple
change schedules on interdependent subsystems quickly becomes an O(n!)
problem. You _will_ have to choose some balls to drop - because you'll drop
some, and, in some cases, you should consider dropping the least important
ones immediately and working under the assumption those balls are gone
forever. Some can be delayed - APIs that offer legacy modes, the toolsets that
don't need to be updated (and fully supported) immediately. Skipping versions
may be fine and running your servers on CentOS 6, while not sexy, is workable.

This approach has kept me sane.

------
kylemclaren
Sounds like you need to simplify. It sounds extreme but what about rebuilding
your application in a proven, stable and maintainable web framework, then
deploying to the native platforms using something like Cordova. That way, you
only have one codebase to maintain.

Also, be careful about baying to your customers every whim. They don't always
know best. Keep your product true to its roots (the reason they came to you in
the first place). Provide rational and reasonable explanations why you won't
be implementing their request. If they have a really good idea then say that
you'll put it on the roadmap.

------
pirateking
Make and use technology just for yourself, then you can always keep up.

------
ianstallings
You know how I do it? I take really long vacations. I've taken off months at a
time before. It's mentally stressful but I won't leave. I've been down that
path before and it always calls me back. It's the greatest job in the world,
it just takes a lot of dedication.

You sound like you might be suffering information overload also. Managing that
is key to sticking around. You're only one man/woman after all. Just take it
easy. Do your best, but remember it's a marathon.

------
dingaling
_Technology_ moved fast from 1940 to 1955; in that period were developed
nuclear power and weapons, supersonic aircraft, guided ballistic missiles,
digital computers, the magnetron ( and microwave ovens! ) and lots of other
things outside my domain of knowledge.

Can you imagine trying to adapt to that?

You need to adopt the same survival mechanism today: focus on one aspect,
retain an awareness of the other changes but don't go down every rabbit hole.

------
pshc
Tangentially related: Check out the slow web movement :)

~~~
platz
Xanadu.

------
jmromer
To echo what others have said, I suspect what you're responding to isn't just
_change_ but _churn_. The social and economic incentives in place all seem to
privilege revolutionary technological innovations over incremental ones, which
results in a lot of shooting-for-the-moon...much of which ends up being
unproductive, or counterproductive given the transition costs involved.

------
alien3d
My work load more on waiting and forcing customer. Yes it hard with NEW broken
API and NEW Framework coming out.When NEW API or framework miss used by junior
developer,i had to debug all again.Either it was PHP,C#,JAVA.Sometimes i
confuse to write other language code. My Advise,have a real team to support
you.Release the pressure.One man show if you did it are very hard.

------
akerl_
Sorry the tech world isn't stagnating?

I get that there are busy days and overwhelming days and stressful days. If
you have too many of them, that's a personnel problem or a time management
problem on the part of whoever is in charge of allocating your time and your
team's time. Fix that, because I hope tech never stops evolving.

------
martiuk
I'm the opposite, I'm in the enterprise .NET game and it's frustrating to be
working with old versions of software, with the usual excuse of "We've always
done it this way".

I'm a python enthusiast and have written Android apps, but I don't think my
hobbyist programming could get me a job in those areas.

------
alfor
Too much information is getting at your brain. Learn to disconnect, leave your
laptop at work, go on an information diet.

------
KnightLore
I'm completely agree with you and many of the opinions posted here. Somehow I
feel the same way but remember that deep inside all that "new" technology are
the same, as many has pointed out here. Try to find a middle path between
them.

------
moonBrain
You must learn to ignore!

Apple Swift? lol. You can still write god awful Obj-C for years to come.

~~~
BuckRogers
I don't think Apple Swift needs to be on the top of his list, considering how
half-baked that is. I've read about many performance issues even though it
uses the ObjC runtime.

His best option is sticking to what he knows at this time. Wait for Swift to
bake a bit longer.

~~~
rbanffy
There is one danger here. Getting started with a technology on its early
stages is easier as you see the technology evolving and understand the reasons
it happened in a certain way.

As an example: I've used Google App Engine with Python since the early preview
and saw as many new services and APIs were introduced. Then I spent a couple
years away. For the presentation I am to do at one of the I/O Extended events
(TDD on App Engine with Python) I had a lot of catching up to do. Catching up
from something is much better than catching up from nothing.

Also, one must consider differences in basic concepts. Learning to use Flask
after using Django was remarkably painful.

------
krt
sounds like your software has taken place of you in your life, should be the
other way around. Put in what you can and if they cant accept that, ignore
them. You cant please all of the people all of the time...

------
jeremyrwelch
Read Peter Thiel's new book "Zero to One." The solution to your problem is to
avoid competition, and ignore the insane competitors.

~~~
rbanffy
Actually, I like the insane competitors. It's often useful to drive up their
insanity so they burn themselves up sooner.

------
carsongross
Leaving tech might be the right thing for you, but keep in mind that most of
this is sound and fury, signifying nothing.

------
theforgottenone
Get off client coding, and shit gets more career stable.

------
pizza
just turn off the noise

------
eglover
Close your news tabs.

------
Dewie
Maybe you should find a programming job where things move at a more glacial
pace, in this regard? I don't really have any experience with this, but I have
the impression that there can be a big difference between different
programming jobs when it comes to the rate of change.

~~~
vomitcuddle
why not try enterprise Java/C#

~~~
rbanffy
Pretty much any company outside the consumer web space has the luxury of not
having to embrace every new API version.

And you don't need to necessarily use Java/C#.

I worked for years writing Python code for my government.

------
aashishkoirala
Good riddance?

~~~
deciplex
Betteridge's law definitely applies here.

e: Strange that my post would get net downvotes _in addition to_ its parent
post which it obviously very much disagrees with. Almost as though a person
would downvote a post, whose meaning depends entirely on what another thing
means (Betteridge's law in this case), without knowing what that thing means?
Or perhaps without reading carefully enough to know what the fuck my post is
even saying?

(Seriously, to whoever downvoted me: if you think I'm in agreement with
aashishkoirala, go outside or grab a coffee or take a nap or _something_ \-
you're not thinking clearly.)

------
jesusmichael
haha

------
cwhy
Typical FUD.

------
blutgens
Yeah, it really sucks for you that you work in an ever-changing industry that
will keep you gainfully employed and professionally challenged for many years
to come and has a history of paying well.

Sucks to be you.

WTF.

------
funkyy
This is IT world. Either you adapt or you are out. If you got overwhelmed by
tech news and few required changes then this trade is not for you. I am sorry
to disappoint you, but its not like you will design software and then sit on
your ass for 2-3 years harvesting profits from it. Check any popular software
- even ones developed by single person. They usually get a lot of updates.
Why? Because thats what developer gets paid for. He get paid more than
carpenter, cleaner or taxi driver. Now you know why.

I am doing game development and I hear all the time "they expect me to do
this? Forget it!" \- well you are getting paid for it, so move your lazy ass
and do it or change the trade. Even if it requires extra work, that what is
called "work ethics" \- you go extra mile, you aim for best results.

