A pyrrhic victory... ;)
 - http://status.hrpartner.io
For legacy customers, it's hard to move regions, but in general, if you have the chance to choose a region other than us-east-1, do that. I had the chance to transition to us-west-2 about 18 months ago and in that time, there have been at least three us-east-1 outages that haven't affected me, counting today's S3 outage.
EDIT: ha, joke's on me. I'm starting to see S3 failures as they affect our CDN. Lovely :/
(Yes it sucks and yes we're working on fixing it. We hate slow software too!)
Somewhere a sysadmin is having to explain to a mildly technical manager that AWS services are down and affecting business critical services. That manager will be chewing out the tech because the status site shows everything is green. Dishonest metrics are worse than bad metrics for this exact reason.
Any sysadmin who wasn't born yesterday knows that service metrics are gamed relentlessly by providers. Bluntly there aren't many of us, and we talk. Message to all providers: sysadmins losing confidence in your outage reporting has a larger impact than you think. Because we will be the ones called to the carpet to explain why <services> are down when <provider> is lying about being up.
The dashboard not changing color is related to S3 issue. See the banner at the top of the dashboard for updates.
I've been fuzzing S3 parameters last couple hours...
And now it's down.
"We are investigating increased error rates for Amazon S3" translates to "We are trying to figure out why our mission critical system for half the internet is completely down for most (including some of our biggest) customers."
CloudFront is currently experiencing problems with requesting objects from Amazon S3.
edit: Since posting my comment they added a banner of
"Increased Error Rates
We are investigating increased error rates for Amazon S3 requests in the US-EAST-1 Region."
However S3 still shows green and "Service is operating normally"
* Slack file sharing no longer works, hangs forever (no way to hide the permanently rolling progress bar except quitting)
* Github.com file uploads (e.g. dropping files into a Github issue) don't work.
* Imgur.com is completely down.
* Docker Hub seems to be unavailable. Can't pull/push images.
But if you go to your personal health dashboard (https://phd.aws.amazon.com/phd/home#/dashboard/open-issues) they report an S3 operational issue event there.
Edit: Mine is reporting region us-east-1
Edit 2: And now the event disappeared from my personal health dashboard too. But we are still experiencing issues. WTH.
they just now put up a box at the top saying "We are investigating increased error rates for Amazon S3 requests in the US-EAST-1 Region."
increased error rates? really?
Amazon, everything is on fire. you are not fooling anyone
edit: in the future, please subscribe to @MyFootballNow for timely AWS service status updates https://pbs.twimg.com/media/C5xdm9_WMAAY7y_.jpg:large
(I think the AM means PM)
Through some dumb luck (and desire to procrastinate a bit), I opened HN and, subsequently, the AWS status page and actually read the US-EAST-1 notification.
HN saves the day.
"Increased API Error Rates - 9:52 AM PST We are investigating increased error rates in the US-EAST-1""S3 operational issue - us-east-1"
I'm curious how much $ this will lose today for the economy. :)
What else should I add?
You would have to host your own software which can also fail, but then at least you could do something about it. For example, you could avoid changing things during critical times of your own business (e.g. a tradeshow), which is something no standard provider could do. You could also dial down consistency for the sake of availability, e.g. keep a lot of copies around even if some of them are often stale - more often than not this would work well enough for images.
Many aws SDK libs don't remove \n for you.
(I hope it wasn't me who broke it lol)
"Believe" is not inspiring.
From http://status.aws.amazon.com/ Update at 11:35 AM PST: We have now repaired the ability to update the service health dashboard. The service updates are below. We continue to experience high error rates with S3 in US-EAST-1, which is impacting various AWS services. We are working hard at repairing S3, believe we understand root cause, and are working on implementing what we believe will remediate the issue.
AMZN stock down $3.45 (0.41%).
[edit- looks like they do have a pretty heavy reliance on S3, per https://github.com/WhisperSystems/Signal-Server/blob/master/... and various other sources.]
Increased Error Rates Update at 11:35 AM PST: We have now repaired the ability to update the service health dashboard. The service updates are below. We continue to experience high error rates with S3 in US-EAST-1, which is impacting various AWS services. We are working hard at repairing S3, believe we understand root cause, and are working on implementing what we believe will remediate the issue.
Well good thing I have my backups on [some service that happens to also use S3 as a backend].
"500 The server encountered an error processing your request." message
As someone who's really only a yellow belt (assuming you're all black belts!), just so I understand ('cos I'm cacking myself!) ...
I'm seeing the same issue. Does this mean there's a problem with Amazon? I can't access either of my S3 accounts even if I change the region, and I'm concerned it may be something I've done wrong, and deleted the whole lot. It was working yesterday!!!
Would be massively grateful for a heads up. Thanks in advance.
It appears to be impacting gotomeeting, I get this error when trying to start a 12pm meeting here:
CloudFront is currently experiencing problems with requesting objects from Amazon S3.
Edit: ironically, my missed 12pm meeting was an Azure training session.
is there a part of this hosted on S3? I cannot open Atom anymore, it keep crashing on the check for updates screen...
For S3, we believe we understand root cause and are working hard at repairing. Future updates across all services will be on dashboard.
In the meantime, EC2, ELB, RDS, Lambda, and autoscaling have all been confirmed to be experiencing issues.
Amazon Elastic Compute Cloud (N. Virginia)Increased Error Rates less 11:38 AM PST We can confirm increased error rates for the EC2 and EBS APIs and failures for launches of new EC2 instances in the US-EAST-1 Region. We are also experiencing degraded performance of some EBS Volumes in the Region.
Amazon Elastic Load Balancing (N. Virginia)Increased Error Rates more
Amazon Relational Database Service (N. Virginia)Increased Error Rates more
Amazon Simple Storage Service (US Standard)Increased Error Rates more
Auto Scaling (N. Virginia)Increased Error Rates more
AWS Lambda (N. Virginia)Increased Error Rates more
There is something to be said about not being located in the region where everything gets launched first, and where most the customers are not [imo all the benefits of the product, processes and people, but less risk].
Good luck to everyone impacted by this...crappy day.
Hearing reports of EBS down as well.
Is it related to S3??
"Update at 11:35 AM PST: We have now repaired the ability to update the service health dashboard. The service updates are below. We continue to experience high error rates with S3 in US-EAST-1, which is impacting various AWS services. We are working hard at repairing S3, believe we understand root cause, and are working on implementing what we believe will remediate the issue."
As part of the release they wanted to make sure everybody gets a chance to see "red" metrics.
At least now we can see all the network failures in full RGB.
In the last couple of minutes that forum post has gone from not existing to 175 views and 9 posts.
Amazon Web ServicesVerified account @awscloud 8m8 minutes agoMore The dashboard not changing color is related to S3 issue. See the banner at the top of the dashboard for updates.
Upon the fields of barley
You'll forget the sun in his jealous sky
As we walk in fields of green
It shows up in the event log now too.
It seems their status page is hosted ... as a S3 static website.
Well that explains all the green checkmarks /s
I'd rather my app load but appear broken so I can show my own status rather than just shutting down every single app...
"The dashboard not changing color is related to S3 issue. See the banner at the top of the dashboard for updates."
This is bullshit if you're using an S3 origin in your distribution.
Oh wait. The site sits on S3. Never mind.
Increased API Error Rates
09:52 AM PST We are investigating increased error rates in the US-EAST-1 Region.
Event dataEventS3 operational issueStatusOpenRegion/AZus-east-1Start timeFebruary 28, 2017 at 6:51:57 PM UTC+1End time-Event categoryIssue
$ s3cmd ls WARNING: Retrying failed request: / ([Errno 60] Operation timed out)WARNING: Waiting 3 sec...WARNING: Retrying failed request: / ([Errno 60] Operation timed out)WARNING: Waiting 6 sec...
2. People push updates as fast as possible to fix security
3. No tests, so everything blows up
Interesting tweet from last month.
Slack image uploads are hanging.
slack file services down too
edit: for the year, it only takes 52.57 minutes
They are consistent for me.
After two hours, they have finally updated their dashboard.
Sia are immune to situations like this because data is stored redundantly across dozens of servers around the world that are all running on different, unique configurations. Furthermore, there's no single central point of control on the Sia network.
Sia is still under heavy development, but it's future featureset and specifications should be able to fully replace the S3 service (including CDN capabilities).
2. allow the apps to be used without a login - with the default view showing 'what is on now'. almost every member of my family has attempted to use twitter at some point and just been confused.
3. reformat all the explore pages into ordinary twitter streams
4. acquire nuzzel. their view of 'whats on now' is better than twitter's view
5. drop the video passion-project nonsense. you don't need to own content to use twitter alongside it. strike deals with the content providers instead where tweets are shown alongside (this is already being done) and become a partner to content owners and distributors rather than a competitor
6. improve the core product for users. group messaging, longer tweets, only show replies from people who are authenticated or two degrees away from you by default, etc. etc. (and pro accounts, if you wish)
7. let people pay to get a checkmark, and then let users pay to flair tweets they like
8. better tools for businesses who provide support on twitter. let them pay to use it as a platform and properly authenticate their customers on twitter
9. ditto above but for marketing
It's a greenfield space no one else is really jumping upon yet. Focus may have turned to on-demand TV, but people still want to watch sports live, and Twitter already has acquired some of those deals as the sport franchises get more comfortable with online distribution. Trump's tweets, the presidential debates broadcast on Twitter and the fact people turn to Twitter during breaking news make it a logical extension to move into news and possibly finance too.
Twitter's modern-day utility seems very low outside of news/sports/politics and the average joe has moved their engagement to more visual platforms like Instagram and Snapchat where it is much easier to create and consume more personal content and updates.
Twitter would also be able to focus their monetization and advertising efforts around a much tighter content and audience niche. Plus consumers are used to paying for some of this premium content, making monetization of a freemium model even easier.
Twitter's payroll (to say nothing of its stock-based compensation expense) is bloated. Slashing staff isn't a popular play. This is a textbook private equity deal.
Twitter's habit of ringing in the year with $500MM losses could be single-handedly cut with a 2/3rd staffing reduction (which costs lots in payroll and $800MM in stock-based compensation expense). How much of Twitter's $2bn in revenue would evaporate post-cuts. Over half? Still leaves $750MM of pre-tax income before R&D ($800MM in the FYE 2015). Cut that R&D budget in half, say you lose a further 25% of revenues, and you still have $160MM before taxes yielding $100MM of net income. That's worth $1bn to $2.5bn.
If you can grow that to $500MM over 4 or 5 years, you could sell it for ~20x. Discount back at 10% or 20% and you have an optimistic valuation of $4 to $7bn.
Twitter's trading at just under $12bn. I suppose I'd bid $3.50 per share and be willing to entertain someone talking just under $10 a share.
I would create a system where subscription to News on Twitter helps to automate payment for individual articles.
1. The lede or quote gets pulled into the tweet. 2. http://t.co becomes a payment-debiting gateway (402 Payment Required).
Almost everybody would benefit from this arrangement:
- Users would no longer need to buy multiple newspaper subscriptions. - Journalists would be better positioned to ask for revenue share. - Publishers could gain a larger paying market without needing to coax user's through the account creation and subscription signup hoops.
- Have more options for blocking, including "block this person and everyone who follows them or followed them within last N days"
- Fix trending topic spam. Seriously, how is this so bad? Free advice: for every trending topic a tweet mentions over 1 in a single tweet, the probability that it's spam asymptotically approaches 1.
- Allow an unambiguous, never "played with", chronological timeline. Have a separate view that's your ML playground. The "In case you missed it" and "tweets you might like" features are good but I don't want them randomly appearing in my timeline.
- Allow alternate clients, even if you have to charge a fee.
- Similarly, create a separate free developer-focused API but clearly identify all tweets posted via that as "bot" and allow people to never see tweets posted by a bot, or tweets posted by a bot @ them. Tweets posted from the "alternative client" paid API would not be subject to this marking.
- Identify "sleeper cell" bots -- accounts inactive for a long time that suddenly become active, usually around a single topic, concurrent with many similar bots, and aggressively ban them.
- Do more and better things with Lists. Don't just show me 3 people to follow (usually clearly just based on the last person I looked at). Show me algorithmically curated suggested lists, popular lists, allow me to sort those by # of members, easily find lists that user X belongs to, etc., mark lists as low quality/harassment vehicles. Surface good content shared by my interest lists somewhere other than the timeline.
- My personal #1: give me the likestream of the people I follow. This is easily more interesting than their actual tweets, at least to me. Something like a quarter of my usage these days is visiting individual accounts "Likes" pages. At least use this data in the aforementioned algorithmic curation of Lists/suggested follows.
I want twitter to be a feed of thoughts an opinions from people I respect, or important updates from companies I'm interested in.
I see a secondary value from twitter by people contributing to a conversation around an event, be that a sports game, a site outage, a traffic jam or an unfolding natural disaster.
Filtering out / systemically discouragingly a lot of the countless low-value/self promotional posts alongside a better hashtag (channel) view would be a great start.
2. Experiment and find the right point between monetizing users and those that get the most value out of Twitter. Right now users' eyeballs are being bled dry, and getting their experience ruined with tons of ads, and timeline shuffling. It feels like those with tons of followers are getting a free ride at the expense of everyone else.
3. Introduce meaningful timeline features such as: 3a. Ability to follow #hashtags/topics instead of just people and companies. Curated "Moments" are a weak substitute. 3b. Follow geographical areas of interest (e.g. Top Tweets in Oakland, SOMA etc.) 3c. Ability to explore Twitter geographically. Again, I feel this is a huge and untapped. Heard something crazy happen over your neighborhood? Pull up an map and explore what people are saying around there.
4. Actually do something about trolls (Perhaps a reputation system?)
5. Clamp down on bots. Why is it even possible to follow 300k or a few million people?
6. Slim down the workforce, by a lot, unfortunately. I don't think a sustainable Twitter can ever be a large as it is today.
7. Bigger focus on live TV + discussion
8. Fix search: Its awful and nearly useless unless you put in a ton of effort in "advanced search". Top results are often times just the same retweets and news articles over and over again.
I could keep going...
"Imagine a Twitter app that, instead of a generic Moment that is little more than Twitters version of a thousand re-blogs, let you replay your Twitter stream from any particular moment in time. Miss the Oscars gaffe? Not only can you watch the video, you can read the reactions as they happen, from the people you actually care enough to follow. Or maybe see the reactions through someone elses eyes: choose any other user on Twitter, and see what they saw as the gaffe happened.
What is so powerful about this seemingly simple feature is that it would commoditize live in a way that is only possibly digitally, and that would uniquely benefit the company: now the experience of live (except for the shock value) would be available at any time, from any perspective, and only on Twitter. That such a feature does not exist indeed, that the companys stated goal is to become more like old media, instead of uniquely leveraging digital is as good an explanation for why the company has foundered as any."
Twitter is really an unpleasant site to use for following discussions of any sort. When I click a thread-view for a post, I want to see a clear tree-view of all of the posts and replies like any other sane website, not the current flat-layout bullshit wherein you have no clue what the chronology of anything is, or who is responding to what.
There are a lot of good ideas in this thread for how twitter can refocus and monetize itself, but I think before all that you need to make it a site that more people enjoy using beyond its original use case of "waiting at the airport -- hmu".
Charge for reach. Ask accounts with more than 50K followers to either pay for all followers to receive tweets, or limit distribution to 50K followers, randomly chosen.
It's the accounts with many followers that get the most benefit from the platform.
And, a twitter crack could, in present circumstances, cause global political instability. The accounts with > 50K followers, if compromised, are the accounts that could cause this sort of problem. Why shouldn't the users of those accounts shoulder at least some of the cost of securing the service and making it fast?
Another possibiity: the Bloomberg Terminal biz model. Charge consumers of twitter for timeliness, and delay messages to unpaid consumers and general feeds. Allow originators of messages to purchase timeliness for their own messages, even to unpaid consumers.
* Let Evan return as CEO (merge with Medium)
... this will restore Twitter management to the situation around 2010, then ...
* Reform or cancel the Trust & Safety council
* Restore open API access and app ecosystem
* Remove side wide censorship tools, add self censorship tools (a la Gab)
* Reverse the timeline changes
* Stop pandering to far left ideologues
Something like that?
This solves the problem of timeline being unreadable once you subscribe to enough people. Ain't nobody got time to read all that crap. Once everyone is rate-limited, everyone can easily digest their timeline. Without length limit, tweets become more thoughtful.
4. Fix the UI. Make it easy to view replies. Make it easy to view embedded images. Make it lean and fast. That would give Twitter advantage over similarly bloated services.
5. Anti-trolling measures. This one is really obvious! There should be no indication that you're blocked by another person, they just don't see you anymore. If the blocked person doesn't know they're blocked, they don't get the satisfaction of being blocked, and they don't know when they need to create another account to annoy you. This should be the basic rule when you implement a blocking feature.
6. Open up API. This one is obvious.
Right now you can turn on notifications for a user's tweets, but that gives you push notifications for all of their tweets which is super annoying. Also, 99% of users don't know that exists.
Their recent move to make trending topics and search more visible in the iPhone app is a step in the right direction but they're a long ways off.
FOMO and live is how they're different from Facebook. I can always go back to Facebook at any time and they'll show me what I missed and I can still engage with it. With Twitter, the discussion has come and gone and I'm left out if I don't know it's happening.
I mostly just see replies to other conversations and I don't understand the context. Scrolling through the timeline I can't parse structure, it just seems chaotic.
Barely anyone I know uses twitter. It just seems to be a way to follow celebrities and politicians, I don't really care what they have to say.
I'm probably missing something here.
What Twitter really needs is to be bought up by some Wall Street type who can look at their books and do just that, and not much more.
1) Creating a twitter profile (with tweeting privileges) costs $5. Profiles without tweeting privileges are free.
2) Once you have 10000 followers, you need to pay additional $$ per year. This fees increases exponentially as you gain more followers. Eg. Famous people pay a lot. Unless this $ is paid, the follower count caps up and the follow button disappears from the profile.
3) Stop considering no of active user profiles as a metric entirely.
4) Regular non-famous people can create profiles (that do not have option for others to follow), but can follow famous paying users for free.
5) If a normal non-famous person wants to chime into the conversation, they pay a one-time fee of $5 to become a paid user. Now they can tweet and have followers. If they ever get too famous, they might have to pay again to unlock ability to have 10000+ followers.
This way you try to charge the users who actually have the money to spend. Let's admit, people with high follower counts like politicians do gain a lot from twitter, and would probably pay for un-mediated access to the population.
This also fixes the problem of junk / troll accounts.
1. Consider twitter a user's portfolio of interest channels and let us tab between our chosen channels immediately (multi-select box at the top where I can pick VCs, medicine, Design, Oscars, whatever - and it blends my feed for me)
2. Encourage floods of content and monetise curators filtering for quality - I can pay for subscription a feed of world news from WSJ, NYT, and other paid sources, and my subscription fee is distributed to them based on consumption. The best content wins and the quality editorials get rewarded for earning loyalty, not writing clickbait.
3. Enable paid advertising-free feeds.
4. Enable premium, niche feed advertising that is hyper relevant (If I have a spine medicine feed, an ad from Stryder would be very appropriate, but one from herbal remedies providers would be irrelevant). Building the curation mechanisms would draw top engineering talent in machine learning too.
5. Allow co-watching experiences during media events.
6. Allow me to filter out topics I want to avoid (and by doing that, you get more engagement and better ad targeting capabilities)
7. Open your developer ecosystem again and this time pay attention to what works and provide guarantees that you won't kill developer efforts. Those developers build bots for Facebook now and help their user engagement instead of yours.
The gist of it is: make your revenue model reward and improve quality. The moment you let advertisers lead you by the nose and dictate for obstructive anti-user product decisions, you will permanently lose your market to Facebook and others. I lead a hyper-niche collaboration network so happy to do a longer brainstorming session with Twitter people.
- Twitter is a platform, open it up to allow any clients first class access.
- Stop political censorship immediately. It's fine to prevent scams and bot-nets, but do not stifle political speech.
- Lower burn rate. Cancel all of the product-oriented projects that are expensive, simply focus on building the infrastructure to make Twitter's platform as inexpensive as possible to maintain. I'd estimate 10% of Twitter's employees are actually needed.
- Be very cautious about ads. Do not compare yourself to Facebook for ad revenue generation. This is a long-term decision that will require adequate funding to undertake.
USERS: we love twitter but it has problems
TWITTER: great we'll fix them
USERS: do you want to know what they are
TWITTER: absolutely not
(18k likes, 14k RTs)
USERS: could you at least look at addressing the pervasive harassment of women
TWITTER [twirling like Maria von Trapp]: M O M E N T S
USERS: you're alienating the people who actually use your product
TWITTER: likes are now florps
TWITTER: timeline goes sideways
If you think this sort of thing doesn't happen, read this: http://blog.dilbert.com/post/157826468646/nothing-to-see-her... , or http://blog.dilbert.com/post/157201503761/freedom-of-speech-... . He's had problems with this for months, because of his political blogging, and this is just one example. If it can happen to the guy who made Dilbert, it can happen to anyone.
As a backend service it would be nice if they focused on making your Twitter account into a sort of internet drivers license to identify you anywhere and everywhere online through a sort of trust chain. I never want to have to sign up for an account again unless it pertains to my finances. I so desperately wish I could manage all my various subscriptions and accounts for random services from a central place that is highly secure and easy to access. I should be able to sign-on seamlessly, unsubscribe effortlessly, and never have to remember a username or password. This would also allow a central place for me to set privacy preferences so we can dictate exactly what the downstream services should and shouldnt be able to see.If Twitter can just let me two-factor authorize with a token+pin and have this let me into just about any account online (aside from maybe my main email and financial accounts in the interests of not having all the eggs in one basket) thats a service people would indispensible. (So much so that maybe ICANN should just work on something like it as a public utility?)
On the more user-facing end, Twitters niche has always been people who are keen on promoting themselves and making announcements (new paper published, new product announced, press releases, etc.), so maybe they should just fill into what Facebook was before it became a NewsFeed. They could give you an About Me page and a status-bar. This basically is what Twitter is now, but they lack the focus to design it around that stuff as a central purpose for the service. They focus more on the Status Bar than the About Me, this would really just a difference in design language and emphasis. Make it into an RSS feed for people.
Or, as a third option. . . they could just make Twitter into an RSS reader. Maybe even add Wordpress/Medium style pages for long-form writing and feed that all through the same feed paradigm.
- Pay video creators out the ass to get them to dual-publish from YouTube, and create auto-sync features that let them publish in both locations. Build in live-streaming functionality to compete with Twitch.
- "Async realtime". When watching a show, make it possible to replay Homeland tweets from the time you start. If you watch an Apple Keynote later, make the realtime tweets replay, and make it possible to add your own.
- Allow different engagement models. If someone has a whiff of abuse in their feed, make it trivial for them to see only verified + low risk users. The moment someone sends an @message to someone they've never conversed with with a single abusive word, crank the risk on them. If someone wants to engage with the firehose, make that the default.
- Make it easy to "import" feeds. I've had at least 3 friends ask me who to follow, and then we spend 15 minutes scrolling through my follow list, they manually look them up. When a new user registers on Twitter, I should be able to pick 3 people I'm most interested in following, and it should then recommend the people they like the most.
- It should be one-click to "super follow" someone, and get all their follows into my feed. Make it trivial to get an awesome, active feed. And trivial to reduce noise when I'm not interested in something.
Re-ordering the timeline promises the solution - but it doesn't work yet.
I would think you need "auto-group", which FB, Google, and others have tried and failed at.
But in any case - twitter is the place I feel like I have to go, but don't want to go, and I think I'm not the only one.
Revert it back to pure text, which can include any type of url
Make the tweets always load chronologically
open up the API
basically, turn it back into #OldTwitter from 2010
Yes it is a bold move. It has a great platform ecosystem but the amount of automation you can do is what removes the value from the platform. For example, followers mean nothing anymore and auto-DMs from people I recently followed is an Ah-NO moment.
Instagram and LinkedIn have kept POSTing out of their API for the most part. One reason (of the many) they are thriving is because people know it's all handmade engagement.
I'm guessing Twitter has about as many users as it can ever hope to have, which means it's no longer about growth, it's about profits. That means it's time to cut costs, largely in engineering. You need a far smaller team to run a service and make incremental improvements than you need to grow a service aggressively.
- No character penalty for URLs
- Let people play with the data and metadata, exposing fake accounts is good for all
- Encourage bots to be bots
- Stump the chumps. Make this type of charade harder to pull off: @rea1DonaldTrump vs. @realDonaldTrump
2) All those Twitter developer/publisher services which Twitter recently sold were IMO the real value at Twitter, Inc. Unfortunately, Twitter has burned developers too many times to be trusted. I would have made them independent rather than selling, though.
3) Rather than randomly banning users, focus on better filtering tools, and tools to coalesce spam/multiple replies/etc. If you make a popular tweet, or are the target of an attack, there should be a single "click more" link, rather than hundreds of separate notifications.
Low latency seems to be Twitter's thing, cash in on that and make some speedy low latency workflow thing.
 https://www.w3.org/blog/news/archives/6156 https://news.ycombinator.com/item?id=13729525
The long version - ads are great, but they cause a misalignment between the service users are happy with and the services necessary to monetize. In addition (not instead), id bring payments into the platform so goods can be discovered and purchased directly through the feed without the user having to leave the platform.
This would require quite a few changes throughout, but when they all come together I believe it'll bring the platform much closer to a Facebook-like status, where users spend more time on the platform as opposed to it being a "starting point" to finding interesting links.
On the usability side, there's lots of room for improvement in terms of fostering meaningful discussion, which in turn would lead to stronger social ties between users. Addressing that issue would probably have to start with an effort to improve discoverability of accounts that engage thoughtfully with other users. So people who reply to tweets that earn hearts might show up in suggestions more often, etc.
I'd also work to discourage endless ICYMI repostings of big multimedia tweets and go back to a chronological timeline. If there's too much noise in a chronological timeline, that means too much clickbait/link spam is being posted, and that's the real issue.
From a revenue perspective, there are a bunch of options worth looking at: a Patreon model to encourage people with great insight to tweet more; more accessible paid analytics, baked right into the app that could help non-business users improve the quality of what they send out; an in-app store for subscribing to third-party add-ons.
Basically, at some point it's worth realizing that plenty of mobile users will spend some money for an improved experience. The constant focus on ad-based revenue makes money, but ultimately incentivizes the company to do things that make the overall product experience worse.
1) Add golden heart2) Sell golden hearts to users.3) Reward some golden hearts daily to users, perhaps based on tiered ranking.4) Allow advertisers to gift golden hearts to users.5) 'Promote' tweets with golden hearts and display them in Moments.
In short, allow peer promotion. Red hearts are currently being wasted as weak social signals and nods. This change blurs the line between ads and peer-promotion.
1. anonymous, free, limited use (300 tweets per month)2. consumer, verified identity, paid, $10/month (1500 tweets per month)3. commercial, verified identities, paid, $25/month per user (3000 tweets/month)4. commercial, verified identities, paid, $100/month per user (unlimited tweets)
Add a feature that allows users to censor their feeds / remove @replies from "trolls".
Decrease engineering staff, increase outbound sales people.
Establish syndication rights with NFL.
Cut costs and cut it by a lot!
(Like any software company, offer lower pricing to charities.)
Use that cash to get rid of ads (they are not working) and invest in more tools for publishers (who are now paying).
2. Charge fees for this stuff
3. Make it easy to buy anything via Twitter
4. Get rid of the bots and AI-obvious trolling/threats/TOS violations. I find it astounding that despite years of promises to do something the situation seems to be getting worse.
5. Get a new fully-focused leader who can execute on these and other issues without distraction of a second company, and can also bring down headcount. This probably requires a reorg and a new board.
You have it in your power to truly differentiate your platform and make the world a better place by implementing controversial topic and filter bubble detection (per the paper we looked at yesterday), together with letting users see their polarity score (per todays paper) and making controversy reducing / filter-busting follower recommendations (also per todays paper). This would be something new and unique in the world of mass media consumption, and could help to make Twitter great again.
How about it?
I love Twitter, but it becomes less of a platform for personal expression and more of a machine operated tool for propagandists and spam garbage when you just widely allow botnets. For instance, do a little digging into some of the accts that constantly retweet Trump (Dems are no better). Maybe they tie back to alt-right blog-nets - not humans - which also managed to hijack the search engines to some extent. That ain't personal expression.
If they can't generate some new excitement, the BUMMER is, messaging is the future. I'll argue FB and everyone else will be known as messaging platforms - not a face book or social news feed.
2. Fix the mess of UI. I still don't understand how to engage in conversations to this day. Convoluted modal boxes, overlaying other screens, that then expand out to more replies, and so on and so forth. It's WAY too confusing.
Implement smart/personalized lists by interest and suggest them to users, suggest new people to add to existing lists and/or tweets that may be relevant to that list. A bit like spotify playlists and smart radios, but oriented to tweets.
Basically, make it easier for people to find tweets and users they want to follow, segmented by interest.
Display relevant non-intrusive ads based on the interests on that list. They should take the hint from reddit regarding what "non-intrusive" means. Adding something like Reddit Gold wouldn't be a bad idea either.
Apart from that, a nice interface to follow live events and their tweets would be awesome.
Does CNN pay Twitter every time they read someone's tweet on the air? I'm not talking about a "newsworthy" tweet (for example one from a politician's account), but CNN occasionally says, "Let's see what a random person on the internet thinks about this development." Then they prominently focus on a couple tweets. I think CNN (or who ever) should pay for that content.
# Mass Monetization
1) Integrate payments and one-click purchasing, take a cut.
2) Host specific pages for live-stream events (not within tweets) like sports games. Target the remaining pieces of cable TV: Live sports, ESPN, Awards Shows, Olympics, Talk shows (e.g. Daily show, Colbert Report, etc.)
# Large Account Monetization
1) Charge for additional features, e.g. private/protected accounts, verification, having more than XXX followers.
2) Build tools specifically for managing a) large accounts and b) brands/customer service. Charge them for it!
# Data Monetization
1) Build API access for alternative clients that is free for a certain number of users (~10k) then charges on a per-install basis.
2) Partner with marketing platforms (e.g. Salesforce) to build marketing funnels from Twitter into CRM or marketing platform.
I'd expect it be something between Facebook and twitter itself. Nope never google+.
It needs a fresh look hmm! By fresh I meant the design as the aesthetics of web Facebook messenger a modern, miminial, fresh look. That Facebook lacks.
I'd want to it be bit less minimal but not as much bloated as Facebook hence I suggestrd earlier something between the Facebook and twitter itself.
It's stalled and boring, and at this point it looks like a driveless train that could hit the dead end pretty soon.
Essentially making Twitter 'too big to fail'.
Tell shareholders that they're in for the long haul and that they can write off any chances for quick bucks.
Most probably - unfortunately - cut deeply into the employee base because there is no way Twitter could sustain the company size they are at today based on the product that they have.
2. Focus app and website around two concepts: 'Now' and 'Here' -- temporally local, and spatially local.
'Now' would surface what's happening in the world now: major entertainment events, major political events, intermingling global, culturally-similar, and local. Show a stylized zoomable map to show what's happening around the world, so one can narrow or widen the locality of the world's pulse.
'Here' would invert this, showing everything that happened hyperlocal, surfacing recent popular and random tweets from where you are now.
Bonus for some visual eye candy that shows, perhaps as a Venn diagram, when 'Here' and 'Now' get closer and closer together to where if you're at a sports event, they're one and the same.
3. Keep everything chronological. For a network like this, 'Fear of Missing Out' is a feature, not a bug -- the anxiety should be palpable. For 'Now', sell ad slots for exact rotating times, like TV. This will drive demand for high-quality, high-cost brand advertising, instead of low-value mundane stuff. For 'Here', sell the ad slot to local businesses.
4. Open the API but charge a fee for access.
5. Use ML, identity, hashtags, and context to classify tweets into a limited number of categories/tags: breaking news, humor, insight, commentary, chatter, feedback. Expose these as a user-controllable filter on top of any existing view.
6. Disable most notifications. Make users want to return to the app without being nagged.
7. Only allow replies and DMs from people you follow and verified accounts.
1. Move the chronological feed to the background, the feed should be sorted by relevancy not time. (If you're a power user you can click to the raw chronological feed.)
2. Right now you can only follow users and not interests. This makes it extremely hard for new users to get a sensible feed of content. If a mainstream user signs up for Twitter they are only going to spend a minute or so to set things up. Twitter needs to immediately add value for those users.
3. Use a machine learning approach to learn what a user is interested in based on email clicks. (Quora does a great job at that.)
4. Redesign all apps and simply. A good example is their settings screen. Another is the crazy behaviour that you have to put a . in front of your tweet. Get rid of all those power user features and settings and simplify.
5. Remove abusive bots and clearly mark bots as bots. Twitter is spending millions to facilitate people engaging in follow spam and other forms of spam.
6. Build up a dedicated team to make sure Twitter works for high profile users. (IE, do notifications and messages work if i have >10m followers). They need a team on top of that to keep those users happy.
7. Some general tips: https://getstream.io/blog/13-tips-for-a-highly-engaging-news...
With that focus, I believe Twitter can return to growth in its user base. There is more that could be done to make the experience more engaging, for example, without interfering with the core experience. By mixing some suggested tweets into my feed using machine learning, Twitter could increase engagement. The new user experience would flow better with good use of machine learning.
In terms of monetization, it's about the data. Twitter APIs should be recognized as best-in-class, and access should be sold on a subscription basis on a graduated scale based on frequency of access.
There is a natural scale to core Twitter, and it might not be much bigger than it is right now. Sometimes we have to be content with what we've got -- which in Twitter's case is nothing to sneeze at. They shouldn't be going all "New Coke" getting into video and media in my opinion.
Basically, monetize the one thing that every wants to do on twitter, which is go viral.
Also, stop messing with my timeline.
Granted, I am answering a different question: from the CEOs perspective, they _need_ to do something because they aren't growing fast enough.
But as a user, Twitter is more enjoyable when it's niche. I have a circle of developers that share their projects and thoughts on software dev, and it's delightful.
Someone else said that it's a great resource for the medical community, I know that the hiphop scene is big on twitter, there's whatever the hell Weird Twitter is...
Twitter makes more sense as a series of specialized clusters based around specific communities, not as a Facebook where it's everything for everyone.
Trolls, harassers and other bad actors all show up as _positives_ in Twitter's stats. Most of the UI features you hate probably cause upticks as well.
In practice, making a better Twitter might be a worse business plan than continuing to flame out, so this is unlikely to happen.
They should have been able to release, for example, competitive offerings against Disqus, Signal, and Slack.
2. Live Interaction with Events, Games, Television, Radio etc. e.g. Polls, QnA, Sentiment etc.
3. Open Access to Developers to build Apps on real-time content.
4. Enable fact-check score methodologies on every tweets. Don't completely wipe out the trolls. As weird as it may sound - trolls make twitter interesting.
5. The Ultimate messaging platform that replaces SMS/Texts with an identity that is not numbers.
If that turns out to not be the case, then the strategy would depend on how far from profitability they are -- are we talking about minor tweaks to the business model? Or a major overhaul of entire company?
In short, how would I turn it around? I'd step in and do a large analytic effort on the status quo, and then react to the result.
Based on comments on this thread, with some UX improvements the app could meet a lot your requirements. Will gladly accept feedback, and willing to iterate.
1. Trim the fat. Reduce the number of employees dramatically. Obviously not a graceful change but I feel there should not be that as many people working there as there are now.
2. Focus on engagement, not growth. Twitter may not be growing in the way that the market wants, but the users that it does have are incredibly devoted to the platform. If I were to leave Twitter there's nowhere else I could go. If I leave Tinder or Snapchat there are many other platforms that can fill almost the same niche. Twitter needs to capitalize on that.
3. Make brands pay to have a page. In other words, if you're not an individual, you must pay to create an account. Savvy companies have realized that being on Twitter is a key part of a solid social media campaign. To not be on Twitter is to miss out on a huge opportunity to reach a very devoted audience, and you can't reach that audience anywhere else (#2). Some brands are already doing this well (e.g. Wendy's.) If the choice comes to paying for the opportunity to market on Twitter, and not market at all, companies will gladly pay. On the plus side, this could let Twitter reduce the interstitial ads on the timeline.
Everyone hates ads, but the way that brands have engaged with individuals on Twitter really humanizes them and makes people form more real relationships with them. It also forces brands to be more accountable and aware.
4. Bring back Vine. A huge part of Twitter's staying power is the unique culture it has created (#2). Staying power is what gives Twitter its greatest value to advertisers (#3).
5. Ramp up engagement on Periscope. Periscope being a part of Twitter makes a lot of sense because Twitter is all about stuff happening live. It's a great platform but I think it also needs a desktop client (with OBS support, the way Twitch does) to allow the caliber of content creation to go up.
6. Re-open APIs. Twitter has sown a bad seed with the dev community by making its API very restricted. Tweets make up a very interesting dataset on which other people could build very unique things on top of. Twitter should encourage this, not stifle it. "Look what cool things we can do with Twitter" will only serve to strengthen the image of Twitter as a unique, irreplaceable platform.
These are the main issues I see as an everyday user of Twitter. Things like live sports/TV are good ways to grow but these are all secondary to Twitter strengthening its core platform for longevity and meaningful sustainability.
I would pay serious money to use their historical data. It's a goldmine for machine learning research, finance, market research, news, politics, etc. I'm sure anybody could find a legitimate use for that much data from a social network.
Instead, I have to hack together a way to constantly collect tweets from within the past 2 weeks or use 3rd parties to access their data in any sane way.
Sell me your data! I want to buy your data!
- clarify community guidelines
- threaded replies
- groups public/private
- add channels
- follow anything, focus on live
- then I'd buy Reddit & Imgur.
Facebook isn't great because of how it looks, but because they have React, hiphop (or what's the name now), things like that; and that allows them to scale and build and iterate more quickly.
Twitter had Bootstrap and that was great investment IMO... now the Bootstrap guys all left. Why?
- Charge for longer tweets in the following way
- 200 chars -> $10/year - 500 chars -> $10/month or $100/year - 1000 chars -> $100/month or $1000/year
You're never going to be innovative if your employees dread coming to work.
1) Twitter's ability to have a good experience around discussions around a group of friends like Facebook is
2) Twitter can be a huge publishing platform
You can't just turn a business around from your core competency, which in the case of Twitter is short bursts of emotions. You can't turn it into a Medium or Facebook, you'll fail miserably.
Twitter is fine for what it is, and all it needs to do is stay consistent, not suck, not burn money, not force opportunities
I think of Twitter the same way I think of highways. It fulfills a huge market demand that the market isn't willing to pay for itself, so has to be subsidized in other ways.
2. Let users pay to DM certain accounts.
3. Mesh-networked solution.
4. Launch 'labs' version as sandbox for developers and users to experiment with (eg. encrypted tweeting, blockchain embedded messaging, proxied messages, etc.)
5. Twitter comms OS embedded on hardware.
this places the payment model in alignment with who the actual beneficiaries of twitter are. it's a mass broadcast advertising/propaganda platform. let the propagandists pay for it.
I would cut back on research (or at least bring it in-house) - $713 million is too much. If they paid each of their researchers 200K per year, they could hire 3500 of them which is insane.
2) Keep the timeline simple.
3) Better custom timelines, searches, and notifications.
4) Stop trying to copy Facebook, Whatsapp, Snapchat, etc. and just be the best Twitter possible.
2. Fire all the rent-seekers.
3. The 5 people that are left, keep the lights on.
This is the price they now pay.
Also, Twitter isn't so much a business as it's a hybrid speech platform/media outlet and moneyed interests shape it as they please to promote the agenda they want.
- Keep it simple. Stop trying to be Facebook and Snapchat and Youtube all at once.
- Better AI / search to enable/improve things like custom timelines and notifications.
- Optional paid accounts with appropriate benefits. Keep the cost low and don't penalize unpaid accounts.
As it stands now, I deleted Twitter simply because it's nothing but corporate accounts, overly aggressive SJWs posturing over every damn thing, and the only content I actually cared about was reposted from Instagram (apart from a few people I know who live streamed, but have since switched platforms). So now I only use Instagram.
- Suspending accounts for no reason at all.
- Shadow banning users by hiding their replies (they refer to certain users as "low quality").
- Aggressive censorship of alternative opinions.
The act of whittling down a tweet to fit inside the (increasingly ridiculous) 140-character limit is the exact kind of tedious, repetitive thing a game designer would instantly recognize as a "grind":
And free-to-play mobile games have demonstrated that lots of people, when presented with a grind, are very willing to pay real money to skip past it. So: give Twitter users the option to buy extra characters, usable whenever they're needed, at some price point low enough to be attractive as an impulse buy. A penny per character, say, or 40 characters for a quarter, or 120 for 99 cents. The marginal cost to Twitter of shipping 141 characters over the wire instead of 140 is essentially nothing, so whatever you charge would be almost 100% pure profit.
A user with a bag of such extra characters in hand would now have the ability, if they wanted to, to skip editing down every tweet and just post on the fly. Which could be a real time-saver, if you're one of the media-type power users who spend all day on Twitter! And how much it costs you depends entirely on how often you want the luxury of not having to edit yourself. If you only need it occasionally, it's cheap; if you're compulsively logorrheic, well... consider it a tax on the burden you're placing on your followers' attention.
But wouldn't it ruin Twitter, you ask, if people weren't forced to be terse? I don't see how. When people use the extra space wisely, it makes their life easier, costs you nothing and generates revenue that can subsidize freeloaders like you. When people abuse the extra space, you can always unfollow them -- and when the abusers notice their follower counts crashing, they'll be encouraged to rein themselves in. Nobody logs on to Twitter in the morning with the objective of losing followers. The system would correct itself.
So: Twitter makes money, power users enjoy using it more, regular users get their freight paid for by the whales, everyone has access to longer-form expression with a mechanism already in place to still encourage brevity. It's a win all around.
Allow me to easily and permanently get rid of "In case you missed it" thing and read my feed on a strictly timeline basis.
I get a lot of junk in my feed that I don't want to see, and thus I don't go to it much.
Facebook is not as bad, but they've gotten worse. Two of my friends "like" some newspaper and then I start seeing the latest stories from that newspaper in my feed all the time.
I want to go to these feeds once a day and read what those who publish once a day or less who are my friends (Facebook) or friends/colleagues (Twitter) say, in timeline order. Any deviation from that lessens my desire to read it. Some of my friends publish to Facebook several times a day and I usually don't even want to read that, never mind the other junk that both put in my feed.
2. Start charging people based on how many followers they have. Twitter isn't worth much for the average consumer, but it's hugely valuable for people with massive reach. Charge them for it.
People are giving lots of product suggestions, but the product itself isn't the biggest issue. Twitter spends too much and makes too little. Patch the holes in the boat before you try to row faster.
I think Twitter has always been a completely ridiculous service and it's a poster child for this misguided iteration of Internet companies. If we just get enough users, we HAVE to make a profit! Turns out that isn't the case. The only thing I've seen Twitter accomplish is poisoning our collective consciousness with false information and a bad model of reality provided by an unsustainable system.
1. Focus on making the company profitable by cutting down on staff and resources. Seriously, Twitter doesn't need thousands of employees, a large HQ and all that other fancy stuff. I think a team of about 30 people could probably run it fine.
2. Get developers on board again. Open up API access, stop shutting down/blocking projects, etc. Make people feel like they could start a business on Twitter's platform, without the rug being pulled out down the line.
3. Get rid of the Trust and Safety Council. It's currently a bunch of left wingers that don't care much for freedom of speech, which groups like the ACLU suspiciously absent.
4. Improve moderation. Kick out terrorists and nutcases on the 'left', stop looking for every excuse to ban right wing users and generally treat everyone with respect all around.
5. Try and make the Android app more usable. Because at the moment, it's really awkward to use and gets rather slow at times.
6. Stop using verification and unverification as a punishment. Really, it's like Twitter is being as confusing as possible here.
7. Have the timeline set to how it used to be. Remove the 'show best tweets first' crap from any accounts unfortunate enough to still have it enabled.
8. Make things like URLs not count towards the character limit. I think Gab already does this, and it's very useful.
I don't even find the GUI-builder that amazing. It's very easy to use, and up to a certain scale it's very convenient; but it encourages and rewards coupling the implementation to the interface at every turn, making any attempt to do the right thing an uphill struggle.
One of the most painful memories I have from software, the stuff that haunts me in my dreams; is writing stored procedures for Delphi's favorite database, Interbase. Whenever you did something wrong, it would give you an error saying 'Error at BLR offset 283729' or similar, offset being the offset in the compiled code where the error supposedly happened; thereby forcing an inhuman level of discipline when making changes. I had to write and maintain thousands of lines of that bullshit; since by the time we dug that deep into the performance of the BDE, the entire application was fused to it on UI level. Switching meant going through every single stupid form in the application and carefully translating event logic, bindings and properties to pure SQL.
Thank you Borland, but no thank you; I'm out.
Delphi may be easy, but it's not simple. Once you get into the meat of things, Delphi's ecosystem truly becomes a limitation.
Delphi's main drawback is its lack of library availability. If you are in the marked for modern technology, using Delphi is a major hindrance. And if you do find something, it's usually not of the same quality as the alternatives for other languages.
I have nothing against Pascal, per say, but I do feel that I am being deliberately terse for the sake of the compiler, rather than for clarity. Indeed, having to declare all variables at the beginning of a method doesn't necessarily make it more clear, sometimes the reverse.
Even a popular tool like Indy for Delphi doesn't correctly implement the HTTP protocol, and therefore doesn't respond as you'd expect on malformed headers, so you have to handle those calls yourselves.
Delphi was leading the pack in the 1990s, but has since fallen behind greatly.
I've written a web server - and maintain a web server - in Delphi, and it's not something I would wish on anyone else.
Every single time I have to use a grid control online I shake my head.
I strongly suspect the generation after this will rediscover the power of desktop apps and some of the dev tools that were around at that time. Web interfaces just don't work efficiently for some roles - especially in enterprise environments.
Then comes out "why can't this be simple like what I was used to?" Actually, what you were doing wasn't simple at all, you were just used to it. You understood the complexity, so it seems simple. Web development also becomes simple once you understand it. But first you have to be willing to learn again.
So far I've tried out a few things, but for some reason they don't "feel" the same as Delphi did. Maybe it's because I'm older and have moved on to different tools, or maybe it's because I haven't made the time to properly invest in these.
Anyways, here's what I've played with:
- NetBeans - Has a form builder, I'm comfortable with Java, it's cross-platform enough. I'm not sure why I've never used it for my personal GUI apps, even though I've built a bunch of little things to use for work.
- SharpDevelop - Looks great, checks all the boxes for doing GUI development, but I'm not comfortable enough with C# or VB.NET to use it effectively.
- Lazarus - Currently playing with this now. Feels a lot like Delphi (as it should!). I'm disappointed in how much Object Pascal/Delphi I've forgotten though. It brings back a lot of good memories though.
It was a freaking miracle, and I wonder how we have managed to lose SO much ground.
- empty form will have 24+16 lines of code in 2 files - you will have to pay 3000 per seat per 6 months to make a website - it only works on windows - hello world have full access to all user's data - you paid 3000 and it still cannot reliably add main icon to your app (XE6) - you cannot increment build number from command line - no job posting in last 12 months - nobody is using it
You can have what you want with our product, Elevate Web Builder. It creates single-page web applications in a Delphi-like IDE:
(examples at the bottom)
We're releasing version 2.06 shortly, and it has much-improved designer drawing performance and design-time/run-time layout performance. The layout performance improvements greatly improve the initial load performance.
The Delphi RAD model of development is actually perfect for single-page web applications because you're inherently only writing one layer of the application, the UI.
Or more exactly, web development was turned (badly) into app development.
I still use Object Pascal in Lazarus for writing widgets and utilities. It cross-compiles to Linux, MacOS and Windows and lets me do things that would be difficult or impossible with a web app. But these get about 1% of my attention.
It's a very Delphi-like (or VB-like) tool for building web apps: Drag and drop for visual layout, then write code with a simple object model behind it. (It's 2017, so Python rather than Pascal - but more similar than it is different. Also built-in git repo, a built-in database, code completion, integration with services like Google Drive/auth/mail, etc.) I'm a cofounder, so I'm interested to know whether it scratches your itch.
I last used Delphi back around the turn of the century, so I'm remembering it as a drag-and-drop Windows UI framework/builder. ASP.NET WebForms is the most similar thing I've used (and it's been at least 5 or 6 years since I last really used it). I would not recommend investing a lot of time in it.
WebForms is great when you are starting. It is drag-and-drop, with 'controls' like text boxes, drop-downs, check boxes, grids, labels and pictures, and there are a ton of 3rd party control toolkits.
WebForms abstracts away the stateless nature of the web, and attempts to make it look like it's stateless. The trouble is it's a leaky abstraction, and at some point it's unavoidable that you will have to deal with it either indirectly or directly.
Indirectly, you deal with slow load times as a crazy amount of 'state' storage is required to maintain the abstraction. I dealt with an app at one point that had a grid with many text box controls in it, where the 'state' information was well over 1MB -- which gets sent as part of every request to the server.
As your app gets more complicated, you start running into more direct problems. In my experience, as soon as you're build any type of interaction that's not something built-in (can be done by clicking in the IDE), you start fighting with the framework. The lifecycle is necessarily complicated in order to support the stateful abstraction, and you must understand it very deeply to know where to put your code. The lifecycle is a series of events that happen between initializing, loading posted data, rendering output, etc.
At some point you realize the framework is getting in your way more than it is helping, and switch to just developing for stateless directly (which basically means MVC, or a stateful single-page app + stateless REST API).
I wonder if there is work out there for objects pascal. Because I would like to apply.
But for now... twoottwoot* hybrid train, here we come :'(
Maybe it's a tiny bit more code in the very beginning, but it becomes worth it very soon (as soon as you get past hello world pretty much).
That being said, we could always have better tooling, even for this paradigm.
Delphi and other drag & drop RAD tools are easy, not simple.
To each his own :)
However, the developer inspectors alone inside of Chrome and Safari are 100x more powerful than any of those old UI tools of the past.
After Borland, other companies continued working with Delphi, namely, Embarcadero: https://www.embarcadero.com/products/delphi
Now, the prices can be a bit prohibitive. I would try one of the open source ones.
- The Ruby Rogues - https://devchat.tv/ruby-rogues
- Complete Developer Podcast - http://completedeveloperpodcast.com
- Coding Blocks - http://www.codingblocks.net/category/podcast
- The Bike Shed - http://bikeshed.fm
- The Changelog - https://changelog.com/podcast
- Hanselminutes - http://hanselminutes.com
- Developer on Fire - http://developeronfire.com
- Software Engineering Daily - https://softwareengineeringdaily.com
Some I listen to regularly include:
- Full Stack Radio - http://www.fullstackradio.com
- SERadio - http://www.se-radio.net
- The Changelog - https://changelog.com
- Ruby Rogues - https://devchat.tv/ruby-rogues
- The Laravel Podcast - http://www.laravelpodcast.com
- Bread Time - https://breadtime.simplecast.fm
Startups For the Rest of Us
They had around 15 episodes where they discussed books with their authors, for example:
- RR Book Club: Smalltalk Best Practice Patterns with Kent Beck
- RR Book Club: Understanding Computation with Tom Stuart
- RR Book Club: Patterns of Enterprise Application Architecture with Martin Fowler
- RR Book Club: Refactoring Ruby with Martin Fowler
Another cool thing was picks at the end of each episode https://github.com/ryanburgess/ruby-rogues-picks
Software Engineering Radio - http://www.se-radio.net
FLOSS weekly - https://twit.tv/shows/floss-weekly
The Amp Hour - http://theamphour.com
- Daily Tech News Show: http://www.dailytechnewsshow.com/
- Tech's Message (UK focused): http://www.natelanxon.com/podcast/
- PacketPushers Network: http://packetpushers.net/series/weekly-show/
- BBC's Click Podcast: http://www.bbc.co.uk/programmes/p002w6r2/episodes/downloads
1. https://www.podcastinit.com/2. https://talkpython.fm/
- The Indie Hackers Podcast (hosted by me!)
I like the SANS Internet Storm Center daily podcast because it's short, to the point, and gives just enough detail that I can use to follow up on if I need/want to. I listen to some BSD Now episodes that sound interesting. I previously liked TechSNAP but had to quit listening after they recently changed hosts.
Recode Replay 
The Changelog (as you mentioned) 
Giant Robots Smashing Into Other Giant Robots 
Those are a few that I listen to regularly. I have too many podcasts (but I have a feeling I'll pick up some more from this thread...)
Release Notes the business side of being an indie dev: https://releasenotes.tv/
They don't really cover programming/engineering topics, but it's fun to listen to.
I really like their perspective.
Not So Standard Deviations
New Books in Mathematics
Ask an Astronomer
software engineering daily
soft skills engineering
But you have to put your business hat on.Communicate with the client from a business level - you've hit a snag and it's taking slightly longer than expected. The client will then ask: "How long will it take?"Because you can't figure it out, you have no idea. But the client wants a timeframe answer. I give the client usually a range of time like "give a day or two to figure it out" or "I'll let you know later on today".
Do not tell the client to go hire someone else if you value your relationship with the client. Find that "someone else" and pay them to figure it out if you can. Do not dump the "you go find another solution" on the client.
There's a fine line between saying "I'm stuck" and saying "I'm incompetent" so think carefully about how you say it.
And you're not incompetent for getting stuck, remember that.
It's all about making it clear they're still getting work out of what they're paying. And documenting what you tried and what's not working for the future doesn't hurt either.
It also lets them know when to pull the plug if costs are getting unmanageable (imagine how horrified a client would be finding out after budgeting 100 hours for a project that hours 10-100 have been spent on the issue they expected to take hours 10-20)
There's also often mask/state/flag bits that can affect these things. Maybe the ADC is in differential mode whne you expected absolute, etc.
If I eliminated the easy possibilities and was stumped more than an hour, I'd go all the way back to a new/blank chip and whatever "My First ADC Demo" program Microchip supplied, possibly building it on a breadboard instead of the circuit board. If your real board can't start up without the rest of the project code, I would just frankenstein the breadboarded microcontroller on top of the soldered-in one. (E.g. connect ground and ADC lines only and see what the demo program reads there.)
Whether we're talking about mocks and unit tests for a web service, or hardware hacking, the process is the same: iteratively asking "How can I ensure I'm testing only one variable?"
As others have said, find someone who can get the answers you need, and pay them. Even if your margin is reduced a bit, you're still doing what the client wants and needs - solving their business problem.
There is no shame in asking for help. Should a similar situation present itself in the future, I'd recommend being quicker about asking for help, when you reach the point where you need it. :)
Research: 40 hours.
I like to imagine there is a certain "buffer" of hours, let's say a day or two of work, which you can use/are reasonable to spend on fixing bugs and issues. If I fill this buffer, I stop charging particularly for the time used to fix that bug. Again, it depends on the client, situation and how well I'm treated.
If I were you in this situation, I'd get on the phone with Microchip's closest field engineer, and maybe they can point you in the right direction, especially if this is a known issue. Perhaps they can connect you with engineering support farther up the chain.
If you think that you can't came up with a solution because you are not a real expert at all, I would ask and pay one expert about this to pass this phase.
My company deals with complex issues all the time and I think the customers should be charged by this expertise because if not we are carrying with all the risk.
Some exceptions to this, for example if I am trying to unfuck something the client was responsible for, or they hired me specifically to solve this problem and I was clear up front that I would charge them for the time it took to figure out wtf was going on.
But let's say I decided to write a bit of Python code to solve a problem. And then I run into some obscure bug in one of the libraries I selected. If I can't figure that out quickly then I pause the project and switch to debugging the library and maybe even submitting a pull request, then I go back to the client project. Same if I need to learn some new library, or a new language, etc. If it's not the client's fault that I selected a library that had edge cases I wasn't aware of, why should they pay me to figure that out?
Second, put a hard limit on the billable hours for such a thing. 30 hours, 40 hours, whatever you decide. Now you are in a better position to tell your clients their bill-estimate, but not a time estimate. If the problem is too hard, you could spend 100 hours in the week to solve it and only bill 40 hours - Might feel like being undervalued, but does not let the "guilt" build up. This also forces you to find workarounds to the problem because you are losing money now.
Third, hire somebody else at your own expense even if there are zero or slightly negative margins. I've done this in domains that I am not an expert. The thing is, you should be the go-to-guy(or go-to-company) for your client. However, if it's a frequent issue while working or don't love the challenge - you might consider moving out of such a domain.
I can't justify charing my clients for large chunks of time figuring something out. Everyone runs in to issues that can take some time figuring out. I will invoice for that. If it's something challenging they requested reach out to them and say this is taking more time than I expected, can you ok increasing this to 8 to 16 more hours?
Also taking a break from a problem and coming back to it after a walk, shower or even overnight often times the solution will be there when you start back on it.
Good luck tackling this issue.
For one thing, depending on the problem and the client, the client may very well know others in the industry (it is their industry, after all) who can provide some insight. Sure, I could potentially hire someone myself, and if the client doesn't know someone, then that may be an option, but the problem could literally be resolved by a couple 15 minute phone calls or emails.
Maybe the feature (or method, or software, or component) isn't that important. Maybe there are other approaches that aren't as complicated or better documented or are just merely more expensive. Maybe there's a support team or original developer / engineer who can be paid for assistance. Maybe we can kick the feature down the road and get everything else done while we decide whether the feature is necessary or while we find someone who can help. Maybe there's a training program somewhere in the world that can be visited or invited. Or maybe the issue is core and we need outside help immediately. Figure out the best options available and how much they're likely to cost (temporally and monetarily), discuss them with the client, and then decide together.
The most important point, through and through: Research Options and Communicate. You're being paid for your expertise, which is to say for what you know and for what you're prepared to learn due to your experience (and schooling), and part of that expertise is the ability to say you need help.
It's far worse and terribly unprofessional to waste valuable time and money getting nowhere than risk losing the project.
1: Story time: A friend's company recently gave a full-time employee two weeks to try to figure out a CNC router she bought from China. The employee is on a salary and it's their slow-season, so she didn't lose too much in letting him try. Unfortunately he couldn't figure it out, and now she's hiring an expert from out of state to come spend four days training her team. That training cost half as much as the CNC, but once her team understands it, they're going to make many times that per month. If I spent that much time trying to figure out that CNC at my daily rate, I would have far surpassed the cost of the router and potential profits within the first couple days - which would have been incredibly wasteful for all concerned parties.
Let them know what's going on. Did they pick the microchip? Then you aren't incompetent, you're fixing their issues.
Keep them in the loop. I like akulbes advice of subcontracting that problem out.
A hangup isn't incompetence. Having trouble with obstacles doesn't mean you're incompetent. It means you're pushing yourself. If you never push yourself you don't get better
- You must set the AD1PCFGH or ANSEL bits to enable ADC functionality on a pin.
- There's nothing stopping you from accidentally configuring the pin as a digital output (it might even be helpful for some applications to measure the actual output from a digital output). Check the value of the TRIS register for that pin (and ODC register if it has it)
- Often there is a "Configuring Analog Port" section in the I/O Port section of the chip's datasheet.
Communication is key, especially if there could potentially be delays. I'm up front with clients in that I will typically discuss this possibility before begin working together. My basic contract has some language in it as well that essentially is saying that they are responsible for any fees that may be incurred by sub-contractors at the same rate we have agreed on.
The gist of it (and it is clear to my clients from the start) is that I have the leeway to hire specialists as needed without their consent so long as I'm only billing out at the rate we have already agreed upon. If I'm unable to do this, then I will have a discussion with the client and they would need to sign a contract amendment at the agreed upon rate.
So in general I will hire the sub at a rate that is less than my rate and actually make some profit off of this. The sub contractors I work with know I do this and find this a fair arrangement as it is a sort of "finders fee". The reverse situation has happened with some of these exact same people where I was sub contracting to them on an area where I had more expertise.
Calling in another expert is not an admission of incompetence. It's just a matter of efficiency and expediency.
I'd not recommend doing what lawyers do. Best client-developer relationship is built-on trust. Follow your heart and you'll be rewarded over time.
If this happens often, then I would probably recommend serious focus to get up-to-speed with the level of work your employer seems to expect.
I HIGHLY suggest vetting the placement "statistics". For me, I just read 95% get a job, went to the open house, listened to a couple "rah rah" testimonials and did it. It was a big mistake.
A friend of mine from the class estimated that only 30-40% of us got actual dev jobs. The rest are either in customer service at a tech company, sales or testing (keep in mind this is people who dropped $15k+ to do the bootcamp), back in our old industry or in the case of one, working at Trader Joes.
I was under the impression that 95% get good jobs. If I had known only 30-40% did I would have never done the boot camp.
How did they manipulate the numbers? I never dug deep but here are my thoughts:
* to qualify as "actively looking" you can't have a job to support yourself. That's right you're supposed to not have an income while job searching, kinda hard when it can take more than six months. If you get a job, you get dropped from career support and your statistic gets placed in the "not actively looking" category
* "industry related jobs". If you go to a dev boot camp, you want to be a dev. You're paying $15k to do it. A customer service job at a tech startup is better than nothing but you don't have to pay $15k to do it. Likewise for sales.
As a positive point, all the females in our cohort got dev jobs, including the only one who actually failed the class. Startups are pretty aware of the gender discrepancy and actively looking to hire those with double x chromosomes. Not complaining about affirmative action, just wanted to give you as full picture as possible
Then with that under her belt, sign up for the boot camp. The advantages of this approach are:
- she'll find out if this is something she really wants to do before plunking down thousands of dollars - with a bit of background knowledge, she'll be better able to absorb what's being taught at the bootcamp - she'll have a better idea of what she wants to specialize in and can select the right boot camp for her
Finally, pay attention to open source. Not a lot of professions do their work out in the open like that, so take the opportunity to see how the sausage is made! Find the open source projects that these communities contribute to, and watch them do it. Follow the discussions on mailing lists, Github issues and pull requests. Look at the code and try to understand the criticism arguments. Ask questions. People are shockingly willing to help newbies who are trying to understand.
The bottom line is, there is real value in getting an expert to teach her how to code, but the more work she puts in herself, before, during and after the bootcamp the more she'll get out of it. If she's looking to pay $15K and get a high-paying job in exchange, she'll just waste the money.
Key things are:
- you get out what you put in. attending a boot camp is not a guarantee you'll land well-paying job. you have to demonstrate to a new employer you've mastered the skills to help their company
- depending on the bootcamp, it will take 8-10 hours a day. your social life aside from the days off will be shot. and the days off are spent doing laundry and playing catch-up on life
- don't neglect your fitness. since you're inside 8-10 hours a day, go to a gym and sweat for balance. otherwise you might suffer from burnout
- save up for at least 3 months of joblessness after the bootcamp while you look for work
- ask the bootcamp if they do interview prep. while it's cheating the system in some ways, it's extremely helpful for people who haven't been through the interview process. if you don't think well on your feet, or suffer test anxiety, this may be an issue
- lastly, if she hasn't done any programming at all, it'd be prudent to sign up for a local junior college course, or udemy to see if she actually likes doing it. i have a friend who talks all day about joining a coding school, took a python course, and realized it's not for him. it's better than accumulating more educational debt
Best case it'll take less than a month (2 exercises per day, 52 exercises), is basically free, and if she's happy with everything at the end of it, she'll be FAR more prepared to jump feet-first into a dev bootcamp.
I compare learning to program to learning a language. 99hrs of having French slapped across your face won't make you a native French speaker, it's a long road to proficiency and mastery. Neither will 99hrs of Programming make you a native "Programmer".
However I'd pick someone who went through that 99hr drill over most people who hadn't even started.
There is nothing in CS that you can't learn on your own and/or on the job. You do not need a school to teach you. Having said that, you need to want to learn this stuff and it is a long road. Decades after I graduated, I'm still learning new things (especially math -- since I sucked at it in school). So my first piece of advice: Realise that after a boot camp you will not know enough, nor have enough experience to really be qualified to do the job. Anybody who picks you up is taking a chance that you will grow into the job. Attitude is by far your biggest selling point.
If you go in with a hunger for learning and infectious enthusiasm, you will be a benefit to your team, even while being under qualified. If you go in thinking, "I don't really know if I want to do this, but it seems like an easy job that pays well", just stop now. I really can't stress that enough. Don't pay thousands of dollars to go to a boot camp to see if you want to do this stuff. Like I said, you can boot your own camp trivially. Computer + Internet + passion for learning will get you there. A good boot camp can really help you focus and point you to efficient ways of learning, but it can't give you the drive you need to succeed. My second piece of advice is to experiment first.
Finally, all of the people we have hired from bootcamps have had experience in other industries. Let me put it bluntly: They know how to show up to work every day and put in a full day's work. They know how to show up to meetings on time and pay attention. They know how to deal with difficult political situations. They know how to avoid being hung over on a weekday. Finally, they have experience being in a job that they hate and they have spent considerable amount of time and effort understanding what they want from a career.
My final advice: Don't graduate from school and go straight to a boot camp, unless you know for sure that you missed the boat and are desperate to be a programmer. Get some experience in the job world. Save some money. Think critically about what you want from your career. Then if you still want to make the jump, go ahead. Like I said, computers and the internet are everywhere these days, so it's not going to stop you from learning on your own.
I can't speak for how bootcamps are now, or the state in which DBC exists in 2017, but I can say that my cohort(s) were made up of lots of men and women and people ranging from border-line genius level to those with no programming experience. Those who came out and landed careers were the same individuals who had the drive and the passion, plain & simple. A person looking to be handed knowledge on a silver platter, eventually leading to a golden key to land a job, will be sadly mistaken no matter what kind of school they go to.
As others have said, it would be good for her to start learning to program on her own so she can see if she actually has any interest. It will sound cruel for me to say this but, if she hasn't already taken the initiative herself, the chances are low that she's cut out for it. Note that what I said just now is strictly my opinion. It certainly doesn't mean it's too late for her to begin now, but the drive is super important. This is coming from someone who went into a field knowing very little about it but expecting that passing the courses was going to land them a high-paying job. I switched to programming because I was forced to look in my heart and decide whether or not I was going to struggle to bestow bad art on to the world(as if there isn't too much already) for some short-lived glory. Plus I was already programming and already had the drive; I just needed reality and some good people to give me a good kick in the right direction for me.
Determining the legitimacy of a boot camp is difficult. I don't know that you really can. But what I got out of my boot camp was not so much an education but the space and the resources to accelerate my process into taking a full dive into web development, Agile, etc. On a technical level, there's almost nothing that a boot camp does that you can't get out of an online course. Heck, you could form your own "boot camp" with a Meetup group and spend maybe 1/100 the amount you'd spend on a boot camp tuition. A person has to go into a boot camp expecting a space, resources, and some leadership, rather than a concrete curriculum. At the end of the day, you can work for a company and not even include your education on your resume so long as the work that you have done stands out.
It's important to note that coding bootcamps are not created remotely equally -- some have stringent application requirements, whereas many are essentially scams / chop shops. I strongly caution against the latter.
In particular, at least one bootcamp that I know of only charges tuition after you get a job as a software engineer, and charges a % of your first year's salary. It's a really great way to align incentives between the bootcamp, students, and employers and I'm a particular fan of this program.
Has she ever tried coding, and if so does she see herself enjoying it as something she'd be doing several hours a day?
What is her reason for an interest in programming? Is it an interest in tech, solving big problems with tech, money, something else?
Would she be OK knowing that the job search for a bootcamp grad with no prior coding experience may be rather challenging (many grads go to work for the bootcamp itself, which is mutually beneficial as it boost placement stats while also giving the grad a job)?
How is her financial situation? Can she absorb a hit?
Is she incredibly bright and dedicated to the point of potentially being able to enter the field based on n months of self-directed education for free (MOOCs, online tutorials, videos, books, etc)?
The question is a bit more complex than it seems.
I completed an online coding bootcamp about 5 years ago and got a job almost immediately afterwards. I've since become a Lead Dev for a local SaaS company, a mentor at that same school I graduated from, and a part time curriculum contributor.
This level of skepticism towards coding bootcamps is fair. I've seen some horror stories. But here is the thing: All failures involving more than 2 parties are usually the fault of both parties. Here is what I mean:
I'm currently mentoring about 5 students. Out of those 5, 4 are doing incredibly well. They are picking up the concepts, putting them into practice, and showing true growth. 1 of them is struggling hard. What is the difference? Well, in my opinion the difference is motivation. The 1 that is struggling did well his first few months, but when it got hard, he just wanted to start applying for jobs with what little he had learned. He didn't want to put in the work to finish his education. He was solely focused on the $$$ and not the thrill of solving problems with code.
So how could she decide if she will actually enjoy learning to code vs become someone that is only excited b/c of the money? Easy - try the free/cheap stuff first:
1. Codecademy.com2. Codeschool.com3. Lynda.com4. Learn_____TheHardWay.com
The list goes on for a while. Tell her to sign up for one or two of the courses here and build something from start to finish. Nothing major. A todo list webapp, simple blog, or the like will do.
Then ask here: "Can you see yourself doing this 8 hours per day/5 days per week? If she can give you an honest 'yes', then offer her all the support you can give. If she hesitates, have her do more of the cheap/free stuff till it is clear. If it is a no, then it is a no.
Hope this helps. Sorry for the wall of text.
So your mileage might vary. I'm deeply skeptical of anyone from a bootcamp, to be honest. I think if you can really learn something and get your foot int the door with a small startup, then it opens the doors, but it's also hard without signficant amount of dedication.
From the comments so far, I think there's some confusion about what you mean by this.
Are you trying to dissuade her? Motivate her? You're neutral, but asking for suggestions of things she might do to satiate coding desires other than a 'boot camp'?
The ones who got good jobs were good applicants. They would have gotten the Dev job anyway. The ones who weren't strong got swept under the rug.
Your cousin might do better taking a year of CS classes and working on outside projects
The only reason not to go through a bootcamp, presuming it is reputable, is price sensitivity. They offer better value than a college degree (salary offer wise, both for technical and non-technical roles in tech industry), accelerate the pace of early-stage learning, and create healthy habits that are distinct to programming (e.g. tests, debugging, pseudo-code).
Long list of positive reasons here, as long as mindset going in isn't "I'm going to be a developer in 9 weeks" (true only on the loosest definition of the word).
She built one project each day for 180 days learning a bit more each day. She chronicled her mistakes and successes. HN had a post on it at the time and the majority of developers that responded were very supportive.
As others have pointed out, there are other ways to learn the material, but it may be that the 'career day' activities, etc. are worth the price of tuition.
This is a much better idea than dumping money into a bootcamp.
support hartl :)
For 10 you can't really complain whatever the outcome IMHO.
I am not a day to day js framework/backend guy.
Much like colleges the rigor varies a lot BUT unlike colleges you're class will have a massive impact on your educatoion.
I studied a lot before I went in, it is highly recommended. Some other students struggled because they did not do much prep. Some students were annoyingly inquisitive and volunteered off-topic stuff frequently, eating into class time.
Have a capstone project or goal in mind when going in and try to do some pared down version for a final project(nearly all I have researched have several projects).
If you (op) can, help her get familiar w/ a dev environment. Explain things in depth and assume little. I was learning the absolute basics and someone introduced me to git, rails, terminal, scaffolding and ruby over a 10min convo. Obviously, it is great to dive in, but finding out what is important and how things work is important. Show her text editors, basic command line, git ect. Resources like hacker news, stack overflow, and maybe shell into an AWS instance.
I think they can be great, but they require a lot of prep, and a lot of research
You should be complaining! Especially given the rest of your story.
This kind of thing is such bull shit.
Before you down-vote me: a man passed and now works at Trader Joe's; a woman failed and got a software engineering role.
Reverse those genders, and if you're outraged, have a think about whether you should still be down-voting me.
But I think most people overestimate how interesting they are. Hacker News is one forum on the Internet among literally millions. There are millions of other people who are also social libertarians, and millions of people worried about eroding digital rights. These characteristics do not make you interesting. Hell, digital rights in general are not that interesting to people in Washington - for the most part, our legislators vote the way that whichever lobbyist who last had their ear wants them to, and the American public just gets caught in the crossfire.
The folks that the NSA cares about are those that advocate violent overthrow of governments, or who are a credible threat to U.S. interests abroad. Hacker News readers, by and large, are not a credible threat; we talk, but few of us will get off our butts and do. And so we're just not important enough for the NSA to care.
NB: I know of at least one instance where a Big Social Network company contacted someone less than 24 hours after the person wrote a long technical private message to a collaborator. This doesn't mean the Big Social Network was directly reading their private messages -- the BSN may have just been mining messages for keywords -- but the net effect is the same, they notice and will contact you if what you are working on piques their interest. Not all Big Corps mine private messages in this manner -- Google does not do this AFAIK, beyond the algo that displays Gmail ads.
I'd suspect that the NSA would drink from bigger hoses to develop more comprehensive models. Those hoses would probably capture HN readership alongside everything else and like everything the firehose data would be mined and if HN correlated to something then the firehose data might be filtered.
As for detailed profiles, HN might be a data point but Facebook, Google+, Linkedin, etc. probably provide a more comprehensive picture (including pictures). In terms of browsing behavior, the NSA operates at the tapping the internet backbone scale.
I suspect that a fair number of governmental and non-governmental agencies are interested in HN in terms of sentiment analysis and sentiment construction. Ignoring it would be unprofessional. Even amateurs will create sock puppet accounts to promote their business, personal, and political agendas. Small businesses from around the world will post material in their own interests. Mega-companies will post their blog updates here.
Also freecodecamp.com has a nice structured program, also free.
If he decides that he likes it and he's feeling driven, there are tons of resources online for learning a lot of what he'll get with the CS degree, including video lectures from MIT and Standford.
: https://teamtreehouse.com: https://github.com/open-source-society/computer-science: https://www.youtube.com/user/MIT: https://www.youtube.com/playlist?list=PL0F8848A0E4B65481
Look at meetups, there's fair number intros to python, R, rails, go, C# etc sessions in any decently sized city.
This is asking a lot, it might take 18 months, or a lot longer than those bootcamps. That's ok, it's like learning Mandarin or violin or the first couple years of college applied math, just take small steps, the simplest things that could adequately work.
Lists of basic skills: Uncle Bob Martin's book,
contact me HackerNews AT OpenDomain dot Org
Literally almost every piece of useful financial information is available via bloomberg. And I don't mean relatively basic info like "What's the current yield the Apple 3.85% of 2043?" or "What's the current CDS spread for Citibank?" that you can easily google for but also stuff like "Which oil tankers are in for repair right now, and what are their capacities?" and similar info on power plants, international agriculture, equities, interest rates, etc.
Experienced bloomberg users have their most-used keystrokes in their muscle memory. Less experienced users can hit F1 twice and immediately be connected to a live bloomberg rep who will research your question for you (although it may take 20 minutes for them to figure it out).
Bloomberg Chat is also extremely important, as others have mentioned.
The reason they're still a monopoly is because knowing how to navigate a Bloomberg is a critical skill for most finance professionals, and now that they have that skillset, they can be very productive moving around in it. A different (better?) UI would require they re-learn everything, which is not going to happen. And when financial professionals are making half a million a year, paying $24k/year for a terminal so that they can be productive isn't a bad investment.
(Source: have a couple friends at Bloomberg. One is in their UI department, and keeps having his proposals for better UIs shot down for business reasons. Also married a financial professional who had to use a Bloomberg in her days as a bond trader.)
All-in-all, the Bloomberg Terminal is like a private Internet for financial professionals.
Another aspect is trust. If you are trading billions you want the information/trade data "currency" everyone else uses. I built backends converting MBS bid to yield and if it wasn't tuned to a 1/16 or better of Bloomberg, it wasn't usable.
Bloomberg also offers custom studies like "fear/greed" which may have some value.
TR/Thompson Reuters also has a competitive product for much less and you can't really go wrong with either for 99% of use cases.
There are also many stand alone news sources you could use. Benzinga comes to mind as one example.
Interesting note - Bloomberg is highly protective of their IP and has been know to write takedown notices of screenshots posted online.
// built 2 SaaS Fintech systems
I believe one of their great data advantages is access. Buy a terminal and you will now have access to niche email distribution lists that no website sees or crawls with important market data (like fixed income bwics).
I believe it is difficult to attack Bloomberg head on as others are trying (like money.net or Eikon) but relatively easy to build really rich ecosystems in niche places outside of Bloomberg. Have you heard of a company called Intex? Probably not. In the global structured products market they are a monopoly solution generating 100-200mm in top line with 100 employees and 3 sales people. Wildly profitable but try to start something like that without being in structured products for years and you're dead on arrival. No one will give you the data you need.
- bbg is about quick access to data. Most of the data is publicly available. But if you serve it up super quick and consistently, people value that
- the chat application is what the vast majority of people pay for, IMHO. This gives you access to most other people in your industry or product group. This is how business is conducted. - bbg has an army of people backing their product.. from the bbg help to data cleaners. This ensures quality for the high price you're paying
Mike Bloomberg started the company because while working at Merrill Lynch (in the 80ies) he thought the computer terminals banks used at the time to see stock and bond prices where ridiculous. He got funded by Merrill Lynch and disrupted the industry, overtaking rivals like Reuters (which well into the 90ies was usually considered the most trustworthy source for stock data)
You needed their special hardware only until the late nineties (the "Bloomberg box" - consider that up until around 96 or 97, only few employees would have internet access on their desktop, even inside "bulge bracket" investment banks): nowadays, you can get Blooomberg terminal on their workstation or on your own hardware. Likewise, you can run in on a dedicated connection, or on your normal internet line.
The key element of Bloomberg terminal is reliability: it feeds data you can usually trust and price feeds you can almost certainly trust. When you are checking prices changing several times a second across exchanges in different part of the world that's no easy feat). That's crucial when millions of dollars are at stake.
Second is the ability to access 80% of the data and information you would ever want to check wihout leaving the terminal.
Third ingredient is ease of use.
Fourth is incredible customer service.
Fifth is innovation: they continuously innovate, improve old features, add new features, introduce access to new data/information.
Once you remove the cost of the underlying live price feeds (from stock exchanges), The Bloomberg terminal is not that expensive for what it does. Bear in mind its customers are people that spend their day optimizing their financial decisions: if there was something cheaper working as well, they would go for it. If there was something working even better, they would go for it, probably even at a higher price point (because that's how the economics in the banking and investing world work).
Excel integration was generally good, at the time I used the Terminal you had however to decide between two types of applications. The original Terminal which is linked to one PC, i.e. can only be accessed from one specific PC at work and not from home, or the 'Bloomberg anywhere' edition, which I believe was launched as some kind of remote application from a browser and could be used at any PC. The issue with the latter option was that it did not offer Excel integration.
I never liked the UI, some windows application with a lot of 'Terminal' baggage from the 1980's. I think they should re-build the whole thing as a browser based application, not replacing the old 'Terminal' application that current users are accustomed to but to on-board new users on a modern platform with a long term migration path to shut down the current application for good. Otherwise they might be replaced by a newcomer eventually...
https://www.money.net/ seems to be such a potential newcomer, especially considering the much more reasonable price point and the use of current technology.
I suppose at the end of the day even though they do all this I'm not 100% sure they do it very well. I don't use the terminal or claim to know how, but it seems to have have become an essential tool for many people in the finance industry.
Although after all that I know there is a joke going around that the main reason most people fork out for the terminal is for the chat functionality.
It's very hard to break out of that, because doing so means you're now excluded from some of the most useful and important information. Nobody wants to be first to leave, and convincing enough users to leave en masse to create or use an alternative seems impossible at this point.
Pulls up a global map with "near-realtime" locations of cargo ships, offshore oil derricks and wind farms, tropical depressions and hurricanes, uranium mines, all kinds of crazy stuff.
You can zoom in on the Panama Canal and see which oil tankers under whose flag are waiting in line to pass through, where they're going and how much oil they're carrying.
You can sort the world's ocean-going cargo vessels by commodity, to see where all the orange juice is."
"Potential users dont want to get onboard unless all the other people in their ecosystem are on the service. That dynamic obviously keeps most people from joining Symphony. Most everyone working in financial markets is already on Bloomberg, and it would take virtually everyone leaving at the same time to give Symphony critical mass.
I think Facebook is the best comparison, Ayzerov says. If Facebook had only one fourth of your friends, you wouldnt use it. The advantage of Bloomberg is that every financial person has it."
See http://www.institutionalinvestor.com/article/3572874/banking... for some of the obstacles that Symphony faces
- news articles
- economic data releases
- historical and live market data
- asset pricing
- charts and analytics
- click trading
- trade execution and transaction cost analysis
- trade order management and post trade processing
- portfolio and risk management
- Excel integration
- amazing stuff like DINE<GO>, FLY<GO>, and POSH<GO> (lol)
there's probably a ton more stuff that i don't use and don't know. bloomberg is a mile wide and a mile deep in some areas.
you can get any of these features individually from plenty of service providers in the market. some are less specialized and cheaper and some are more specialized and more expensive. if you don't want to manage fifty different contracts with different service providers bloomberg provides a one-stop shop.
bloomberg is more than just data now. it wants to be absolutely everything that a financial firm needs - front office, middle office, back office.
* It is a well accepted reference. You will often see a screenshot of a bloomberg terminal as "proof" of something
Bloomberg is also like an operating system. For example, there are electronic execution venues in many types of instruments which use the Bloomberg as their front-end. This is very valuable. When you are a trader, screen real estate is critical. You can have 6 30" monitors and it still isn't enough if your tools are fragmented across 50 platforms. The more you can keep things integrated into a few core tools the better.
You are also paying a ton for ultra-responsive service. When millions or billions are on the line you don't have time to mess around on a help-line. On a Bloomberg you have 24-7 ultra-responsive skilled help who are responsive in around 30 seconds.
There are other reasons but end of the day if you are a pro then 30k/year isn't cheap but its a lot cheaper than trying to hack around with amateur tools.
You can find some background here on what it does:
Nearly every trader, sales person, and investment manager in finance has a bloomberg terminal which is guaranteed to own a lot of screen real estate on their monitors. If you need to get in touch with someone as quickly and efficiently as possible, bloomberg chat is the way to go. You are usually involved in multiple conversations at once so phones just don't cut it.
I traded two different products that were almost exclusively traded via IB (chat) or MSG (email like). There is nothing special about either of those communication channels, but market norms are incredibly powerful.
As others are mentioning, Bloomberg also centralizes a ton of different data, but this much easier to replicate than the network effects of the products above.
Their data is faster and cleaner than most of their competition. Personally, I find their interface clunky by today's standards, but it's entrenched in the industry, so there's a non-trivial learning "cost" for anyone considering switching away, and even if they're able to adapt to a new interface, they're likely to find holes in the available data. Beyond their data, they connect the financial industry over Bloomberg chat, so it's got the network effect there. The hardware itself is not a huge factor IMO. Plenty of people use Bloomberg terminals, via Bloomberg Anywhere, logging in from their standard desktop with their normal Windows keyboards.
The ability to trade is perhaps no so important these days given the advent of algo trading/stat arb, but it serves to emphasize the point that there is more to the terminal than just viewing the data.
I work with municipal bonds - long story short, the muni market is a fixed income market with several legal and structural characteristics which add complexity over the corporate and government bond markets.
For example - generally municipal bonds are structured with serial maturities and a 10 year par call option, which means issuers are constantly refinancing, paying bonds down with cash, etc. This introduces complexity around even knowing what bonds an issuer still has outstanding. To someone who works with corporates, you'd just pull up the ticker and immediately see what's there - for our market, it takes a lot of manual effort to track the bonds, digitize old documents, and present that information in a logical interface.
(Similar to the SEC's EDGAR, there is an information repository for the municipal market called EMMA, which was introduced post-crisis - so it is fairly easy to pull recent disclosures, but very difficult to track older bonds/documents.)
On the investment banking side, we have one Bloomberg terminal for our entire floor, since the subscription is fairly expensive and we don't have as much need for the info as the traders do. If a company were to simply track information about municipal bonds, starting with the largest issuers, they could undercut Bloomberg in this market and make a good chunk of subscription revenue.
I have to imagine these opportunities exist elsewhere as well. I doubt that there are many folks who use BBG functions for more than the handful of markets in which they participate. I bet that there are markets where smaller companies could do just as good a job as BBG at gathering information for a lower cost.
A thought I just had while typing this comment - to me, BBG seems analogous to a cable TV bundle, where you pay for a ton of channels that you don't use. I wonder if competing against BBG in single markets would motivate them to introduce tiered/a la carte subscription models? The one feature keeping everyone on Bloomberg is chat (and to a certain extent, the actual trading platform) - in my case, if we could have that while only subscribing to a few functions, that would probably be enough for us and could save on subscription costs.
One if Mike Bloomberg himself. He is a rarity. He is a founder who is still very active in the company. He certainly doesn't need to go to work every day for the money. He is worth billions and is 75. I think he genuinely loves the work and he demands the same work ethic from those around him. I would imagine that when he is in the building, you can "feel" it in the air. That gravitas that was frequently on display when he was mayor of NYC is probably there every day whenever he holds court on a topic.
Second, I believe Bloomberg has grown organically. I think it's much easier to present a complete and consistent system when you've built most of it yourself. A company like TR has been built up through acquisitions and it at times shows in the product. Factset has adopted a similar strategy as of late.
Third, while the product at times has a distinctive UI/UX experience, it has always seemed super fast at least to my eyes. Less is true of their competitors.
Data brokers. Not a regular thing in comp.sci, but very much so in the world of finance.
While I guess there are APIs, I don't get the impression they're easy to just integrate into any old workflow if the terminal is down the hall or even on the other side of your desk. It's all linked to that terminal, no? Pretty annoying if you ask me, from a programmers standpoint. Not to mention another case of closed, proprietary tech in the financial sector.
You no longer need special hardware to use the terminal. In fact the special keys are just mappings to your F keys, and you'll know which one is which without the keyboard. They have a sticker strip if you really need it. BTW the keyboard is crap, the buttons aren't balanced meaning the keys kinda stick, making you type slower.
Data is the only reason you need this thing. It's truly comprehensive how many data sources are all accessible through a single syntax. I've traded single stocks, corporate bonds, CDS, ETFs, index options, equity options, commodity futures, government bonds, interest rate swaps, IR swaptions, FX, FX options, and so on. You can get a price chart for all of them just by typing in a code followed by "GP". Or you can get relevant news.
On the API side, it's pretty easy to pull the data you need from the terminal. There's .NET, python, java, etc libraries for you, with lots of examples. And just about every imaginable field is there.
Bloomberg Chat is useful in certain parts of the industry. You can have all your brokers set up with individual 1-on-1 chats, yet still blast out a quote request as in "USD 5Y, 100K dv01, please" and they will all see it without knowing how many people you're talking to. A lot of people are still trading in the stone age, and Bloomberg is certified for keeping records for this sort of thing. You might have heard about BBG Chat in the recent LIBOR trials.
There's also a whole pseudo-exchange functionality. Basically you can get approved to get prices from each broker, and then you can trade with them by sending them tickets via Bloomberg. I always thought that was crap, but some people like it, depends on their niche.
It's kinda ripe for disruption though. 24K is a lot for the basic package, and if you want to actually get the data, rather than just the interface into it, you have to pay the underlying provider. That gets pricy quite quickly. Also live data costs money, too, and it's not going to be fast. Unless you get the leased line (if you're in the City of London, it's not a problem), which is more money again. And not especially fast, since there's an extra hop. I'm not sure I buy the argument that finance professionals know how to use it, so bbg is entrenched. If you understand what you're looking for, you're not going to have a problem finding it on some other system. For a lot of things such as common stocks, Yahoo and Google are not going to have any less information.
I've never thought highly of bloomberg's customer service. At most they're useful for discovering functions that you don't know the shortcut for. When there's anything remotely complicated, they seem to do a huge internal goose chase and then eventually get back to you with "can't do it". Basically anything API related, the Help Help guys will not know what to do and end up waiting for a dev. Also the official account manager keeps changing and every time you get a new one they pester you to show you some obscure functionality.
> it's just a portal that gives the news
A portal? Bloomberg News has its very own reporters (and jourobots). They investigate and write original content. People usually don't buy the terminal (~2000 USD/month) only for that, but if they do, they can read everything directly in the terminal.
> What I don't get is why have a custom monitor, keyboard?
The monitor is, these days, only about branding. Ten to fifteen years ago, Bloomberg offered good-quality LCD screens with integrated mounting arms for 2 or 4, at a time when that was a pretty high-end setup. As LCD screens became cheap and ubiquitous, many users don't have the Bloomberg ones, but they still have the Bloomberg keyboard. It's useful because it has special labels for a few hotkeys, plus some of them have extras like fingerprint readers. If you lack the special keyboard you can press Alt+K on any keyboard and the terminal will show you a graphic of the special keys for reference.
But to really understand why they have a special keyboard, you need to look back a good long while. That's covered here: https://www.fastcompany.com/3051883/behind-the-brand/the-blo... - the gist is that a "Bloomberg terminal" used to be a real terminal, connected to a magic box on the customer premises (which served several terminals). There have been many, many iterations of the terminal hardware, from a dedicated proprietary box, to software running on Sparc workstations, to software running on Windows, with the keyboard becoming more like a PC keyboard around the turn of the century.
> is it a VPN
No. Traditionally, customers connect their terminals back to the Bloomberg service via leased lines (i.e. not the internet). But for many years now you have the option of using the internet, though not everyone wants that.
> The cost of the product is ridiculous.
The cost of the product is much less than what some customers would be willing to pay. Most customers pay about the same monthly fee, regardless of where they are in the world, regardless of their corporate income statement, etc. So yes, it seems expensive to people who wouldn't get that much out of it. Some schools get a discount.
> Is there a cheaper alternative that does not require specialised hardware?
Bloomberg does not require specialized hardware at all. You can install it on any Windows laptop, and you are more than welcome to do so. As for cheaper--yes, there are lots of things which are cheaper, but you will be hard-pressed to find any combination of those which is still cheaper and yet does most of what Bloomberg does (i.e. has similar quantity and quality of data, and applications built up).
> I know Bloomberg is a politician
He is now, but he was not when his company went from 0 users to 100,000 users.
Bloomberg just wants you to be locked into the ecosystem and never, ever leave. Its like the Hotel California of financial data. Robin Wigglesworth
I'd imagine that there are quite a lot of people who fancy trading as something of a hobby but who will never pay for Bloomberg.
It's also got an interface that everyone is used to. Not a great interface, but one that everyone knows.
There are cheaper alternatives, as well as easier to use alternatives, and alternatives with better analytics. But in general they just layer above BBG, they don't replace it.
Another killer feature was that there were addins to excel spreadsheets.
Now, there are probably competing products, but Bloomberg has a large user base who are very familiar with its product.
Analysts and research roles aren't so beholden but bbg does data well while reuters does news well.
1. It is a all-in-one news source. There are a lot of features that allow you to monitor the news from many different sources in real time.
2. It is a social network. The built-in chat and email service is _really_ basic. But, just about every one working in Finance is on it, with their contact details and resumes. As a trader, you can legally close financial transactions on the Bloomberg chat, as one would over the phone.
3. It is a data sharing platform. Banks and other market participants contribute to Bloomberg data by sending information that is normally not visible in the market. For instance FX volatilities are quoted by banks on bloomberg in real time. This information is only available in few places.
4. It is an API that allows its users to use its data for custom analytics.
5. It is an execution platform, where you can book trades, follow their values and risk when the market moves, etc.
6. It is open to 3rd parties: some banks and other data vendors have their own pages on bloomberg (which I never had access to).
7. It has many many other stuffs. There is a restaurant review system. There is a classified section. There are things to monitor the weather. It has videos, maps, it's just huge.
Now - that is what people are interested in.
And then there are the things that Bloomberg shoves down your throat. Like the keyboard.
Bloomberg _forces_ you to buy their keyboards, at a very heavy price. The justification is the fingerprint reader, but that's really just a scam, because they put a $10 fingerprint reader onto a $10 keyboard, and sell you the thing at $500 a piece. So you either need to buy the keyboard, or you need to buy the B-Unit, which is Bloomberg very 2-factor authentication device which I assume is also quite expensive.
There is also the additional price you pay for API access, or to be able to see very specialized data. You pay for your private circuit to their servers (yep, it usually doesn't go through the internet).
Also a few words on the UI: it is f-ing terrible. Hit Escape, and you will find yourself on the start page. It doesn't matter that you were in the middle of typing an email or pricing a product, it just restarts your terminal. Most of the features are accessed by obscure four letter codes, that one has to learn to go back to. There is a search feature but everything is mixed in, and so you have to be pretty lucky to find anything useful using that. After a while though, the fact that the UI is so bad makes you feel "part of the club", I think many people would hate it if it changed.
$ apt install wallstreet
I created that for Ubuntu, as a follow-on to:
$ apt install hollywood
Purely for fun. Try it!
My team of former buy-side analysts and engineers have built an advanced research platform with search technology and data analytics designed to significantly increase the speed and depth of your research process.
Sentieo aims to help accelerate fundamental investors' workflow by picking up where traditional financial platforms leave off:
Quickly search through public company documents: Sentieos Document Search is the fastest and most powerful way to search through millions of SEC filings, international filings, broker research, transcripts and presentations.
Effortlessly organize your research: Sentieo offers research management seamlessly integrated at its core. The Sentieo Notebook is where your investment ideas begin to take shape---analysts organize and develop their ideas while allowing Portfolio Managers to monitor and influence the ongoing development of an investment thesis.
The financial data terminal reimagined: Sentieo offers a modern take on the data terminal, with a sleek design that facilitates easy consumption of relevant financial metrics, statements, charts and more. In addition, the Excel plugin provides access to all of Sentieos datasets in Excel.
A visualization engine built for analysts: Plotter, our powerful visualization engine, allows you to create and track complex graphs for data series across any number of tickers, with customizable financial metrics for each ticker. In addition, Sentieos Mosaic tool adds a powerful additional piece to your data mosaic: alternative data on web traffic, search interest, and Twitter mentions. Seamlessly overlay that data against our financial datasets to quickly identify the opportunities where data has predictive power in forecasting unreported revenue and earnings growth. Our user interface presents all of this data in a manner thats easy to analyze.
Sentieo's power in your pocket: Our suite of mobile apps enables intuitive and fast access to the Sentieo platform while on the road (e.g. at investment conferences and 1-on-1s). Integrated note-taking allows for collaboration with others at your firm, with notes seamlessly syncing with our cloud servers once your mobile device regains wireless Internet access.
After years of development, we launched just over a year ago and already have 200+ hedge funds and sell-side shops subscribed to our equity research platform. Our team numbers nearly 100 strong across San Francisco, New York and New Delhi.
I'd be more than glad to walk you through Sentieo, its unique features, and our approach to being at the forefront of trends in:
Financial search technology
Research management systems (RMS)
How funds are using a host of new datasets to generate Alpha via web traffic, search volumes and twitter mentions
Predictive analytic tools that allow analysts to make better forecasts of business performance and to generate Alpha
Please feel free to visit our website is at www.sentieo.com to get a glimpse of how we are re-imagining the financial data terminal and re-defining how fintech can aid analysts in improving their workflow and generating investment insights.
I need to find something with purpose,big money, and satisfaction.
and telling you that you should STFU and go back to your job and learn to be content with what you have. Please be reminded that that's just people on the internet though.
The thing is if you ask anything on the internet that sounds like "How can I be more successful / smarter / prettier than average" you'll attract a lot more haters than people that truly want to give advice.
However the reality is that being more successful, finding something that gives you purpose and satisfaction and even making big money are all natural and human desires and there's nothing wrong with that.
The only piece of advice I can humbly offer is that if you really, really want or need something then there's usually also enough motivation to work towards it. Now if you don't feel motivated to work towards your goals that could be a sign that either your goals aren't optimal or that you're actually happy with life as it is and don't feel so much need for change.
Consider giving up the big money requirement and your options will open up significantly. At companies like Google and Facebook where you get the good pay, there are very few roles that get to work on the super interesting problems so they are hard to get. Most likely you will end up working on data migration tools, front end interfaces for existing systems, account life cycle tooling, etc that may be interesting at first, but they aren't that satisfactory in the long run because you'll realize you're a very small cog that can be easily replaced.
If you give up big money and join a startup (even mid sized), your impact can be a lot more tangible and satisfying. Programming for government/industry research can also be pretty satisfying but the pay is much lower (e.g. I worked for an academic consortium on HPC networks and really felt like I was improving tooling for cutting edge science).
I think you need to be more realistic, sorry but you sound a bit like a child, everybody is dumb and doing useless things except you the little snow flake who comes to save the world and will be a billionaire if only he was recognized.
Second, as you noted you can find challenges outside of work (particularly with all the free time your automation has given you. |-D
You could try for getting into MIT or Stanford, but you could also simply take the courses you are interested in. Learning something new if a great motivator, I've found.
Then again, so is crushing your enemies, seeing their men flee before you, and hearing the lamentations of their women.
But I digress.
Another possible creative outlet & source of inspiration is participating in open source, up to and including starting your own project (which might be part of your automation platform, or something completely different).
Or get a non-tech hobby. Drawing, painting, knitting, dancing, a sport, volunteering at an animal shelter, gourmet cooking, write a novel, learn a new language etc. I personally find gardening to be a great way to recharge my mental and emotional batteries.
Let's just say that the worst leaders I've worked under have had the certainty that they were Leaders, that they were somehow born to it, and that they were surrounded by idiots.
If you think you are surrounded by idiots, get out fast. This will work out well no matter the true situation:
1. If they are idiots, you'll be pushing a rope. You can't save them. Do your best elsewhere. Unless you're an investor, who the heck cares? Just another ship going down.
2. If they aren't idiots, but you only think they are, it will end badly, and it's best ended early.
The only way that a King of the Idiots gig ends well for you is when they pay you a pile of money to leave because they can't fire you because of bad press or something, and most people won't even be in a room with people who are at that level.
The obvious question is: how can I practice something I'm not passionate about? And the answer is the same you'd give someone who wants to be muscular but is not passionate about going to the gym: be more disciplined. But that's an entirely different beast.
The way I see it: you force yourself to do something you know has good results (you exercise 4 days a week so you are already doing that) -> You start improving and appreciating your efforts -> You create a "mission" out of your work -> You get so good you can call the shots on something important -> Rinse and repeat. Eventually I think what makes us happy is not the prize but the appreciation for the efforts that led to it.
Fuck motivation. its a fickle and and unreliable little dickfuck and isnt worth your time.
Better to cultivate discipline than to rely on motivation. Force yourself to do things. Force yourself to get up out of bed and practice. Force yourself to work. Motivation is fleeting and its easy to rely on because it requires no concentrated effort to get. Motivation comes to you, and you dont have to chase after it.
Discipline is reliable, motivation is fleeting. The question isnt how to keep yourself motivated. Its how to train yourself to work without it.
Motivate yourself by either pulling up those around you or leave for what you really want to do.
Leadership position at companies are either earn through hard work at the company or proven track record at other companies. If you want leader position work your ass off for it. If everyone is dumb and not working on anything useful then it should be easy to move up the ladder.
Unless the job pulls you out of poverty, puts you in poverty, gets you out of a toxic environment, or takes you completely out of your comfort zone then it ain't going to be a life changing job. Doesn't sound like you went to Africa to save orphans.
Creating artificial challenges is to make you grow not really to motivate you. If you think just chasing a challenge will make you happy or motivated try it out. But maybe you need to find something that just makes you happy or excited. One guy I knew was making north of $200k a year working at the bank worked nights at a sushi restaurant. Sushi was his passion his motivation his happiness.
Typically you don't get a job with purpose, big money, and satisfaction right away. You get a job to pay the bills and learn. The next job is either to move up, move out, or you found something you passion about.
Right now sounds like you are finical stable, and if you got time to work out 4 times a week then you should have time to try new things. Try to find a hobby or something. Get as far out of your comfort zone as you can, and see what you like and love. Don't seek motivation let it find you.
Best of luck.
I wonder why you mentioned "job" as your first driver for motivation and happiness. What about other parts of your life besides the job? Now I imagine since this is HN your probably only shared about that part, but I hope there is more to it - relationships with family, friends, significant other and so on. Hobbies (go to local meetups about your favorite technology), maybe other interests like sports. Someone mentioned other stuff like helping others: mentoring perhaps, a soup kitchen (I did that for a while, it really changes your perspective on a lot of things and challenges some assumptions).
> I need to find something with purpose,big money, and satisfaction.
That won't sit right with a lot of people. It is good you are honest though. But be prepared for people to focus on that. So you already make good money it seems but you feel you deserve big money? Why do you think you deserve to be in a leadership position and making big money?
> was hired for a position that has no decision making power at all. Everyone here seems dumb and working on a few useless things.
Now imagine if you made big money and still had no decision making power? What if you made less money but had decision making power? Which one would make you happier?
> I have tried being altruistic,but I ended up on the receiving end. I now presume that everyone is selfish and will not think for a second they get better deal. Hunt or be hunted - Frank Underwood
I guess you believe that you where meant for something greater here in life and that people should treat you like the natural leader you are. Am I right?
I'll say that there is a very big risk that your have narcissistic tendencies and looking at your comments from an employer's perspective, I would be very, very worried.
Preferably, this will be someone at work. Either someone in your job who's as stuck as you are, someone in the next layer up who needs a boost, or someone in the next tier down who needs a hand. It will be your next big challenge, to recognize that someone else needs help, to determine what kind of help that is, and to offer what you can.
Your only measure of success is whether that person succeeds.
The three benefits to taking this approach are:
1) it's easier to objectively measure whether what you're doing is working 2) you get to practice helping yourself, on someone else! 3) it will help you stop being an asshole, which is probably something you're doing
Complete lack of motivation is the result of mental congestion.
Start emptying your mind! Delete all good and bad memories! Don't worry about the past and don't be afraid of the future.
What you have right now is not what you really want! That's why you are not happy!
Just empty your mind and you'll find what you really want!
And we always have motivation for the things we TRULY want!
Viktor E. Frankl, Man's Search for Meaning
1. A friend of mine came up with a formula for motivation at work that you can say in one sentence. I love it because it's both simple and powerful: "People want to be a significant member of a winning team on an inspiring mission." You want to feel that you matter. You want to feel you have a chance at success. You wan't to feel your work makes a difference.
Trouble comes when any of those needs aren't met. It sounds like you don't feel that you are allowed to significantly contribute and it sounds like you don't feel your team is set up for success. I don't know if you would ever be inspired by the company's mission. In my experience, no amount of salary will ever compensate for the absence of any of the three above.
2. Even in a job that meets all three of those needs, motivation waxes and wanes. Work that matters is always challenging and you go through streaks and slumps. Here's something I've learned that's interesting and really freeing: Forget the insane amount of ink that's been dedicated to motivational coaching and repeat this: "You don't have to be motivated to start." You just don't. Set a timer for 30 minutes, set the existential stuff aside for a moment (it feels really good), and start. Just 30 minutes. This is powerful because you'll see the chicken and the egg of it all: Sometimes you are motivated to start. But sometimes starting in makes you motivated. (I'm amazed at how often I ignore the timer going off at the end and just keep working.)
Good luck with it! I hope you find your purpose and satisfaction. The big money is nice while you can get it, but it never serves as a replacement involvement in real, meaningful work.
Are you focused too much on work? When is the last time you took a week or two off just to mentally reset? How is your social life? I was interested in a specific field a few years back, but I had zero friends or connections in said field. I started a meetup group around the topic, grew it to 1500 members in just over a year, learned a TON about the field in the process, and made invaluable and exclusive connections that would have been otherwise very difficult. It was a beautiful blend of social and professional advancement and I highly recommend something similar.
Last point: if you're considering grad school, be aware that this is much more accessible and palatable early in your career vs. late. If you have a shot at getting into an MIT or Stanford, why no give it a whirl? It isn't necessarily the degree that is of value, but the high-end network you'll obtain in the process.
Keep your head-up -- motivation will ebb and flow throughout your life. This is normal and a sign that change is in order.
I can think of 3 options in your case. 1)keep your job and find fulfillment doing something else on the weekends and free time such as hitting a hobbie hard. 2)Keep your job and figure out how to get to the top. This option means you'll have to become a master at social skills. Learning more techie stuff will not help you. Top decision makers are NOT the most technology savvy but they are the best at managing people and getting the most out of the team.3) Start finding the job you want. It might be less money or not as safe but at least it's something you enjoy.
"I need to find something with purpose,big money, and satisfaction."
That's what we all want but you won't get it unless you are willing to take some big chances. So decide what to do and do it. You can't start at the top but you can get there and find all 3. You might fail but there's a possibility of hitting it big. If you go this route make sure you make a plan and decide now how to deal with adversity.
Don't spread yourself thin serving two masters. Serving one, often brings the other, but both should not be your goal.
If you do things for love, and also seek out money, your art will suffer. If you do things for money, but try to do more of the things you like doing, you will fail to do the hard things that bring you financial success.
Pick one. Love or money. Commit to that.
First, my job was boring, unchallenging, zero-stress, lesser hours and paid pretty well. In those days I always questioned - "why would anybody leave such a job? won't that be stupid?". So I started learning other things - I delved into music, reading, blogging and stocks (which became my obsession and then analyzing data just became an obsession). I also spent that part of my life enjoying life. That period lasted for 3 years and then the company had restructuring, which turned my job into a challenging, high-stress job.
Retrospectively, I do think I wasted a lot of time back then. But had I not done that, I may not have pursued the path. I wasted money on unnecessary things - which I should not have.
Big money - Money can't make you happy. That is 100% true. But money can buy you freedom. Freedom can lead you on a path to satisfaction. Bottomline: Do worry about your finances, but don't get greedy.
> What shall I do?Chill, relax and explore (for a preplanned 6months/1year/2years). Your job is taking care of your finances. You may have worked too hard to find "now" as less harder. Such times don't last long. Don't push your brains to find a purpose for existence - its also depressing.
A famous quote says: The quieter you become, the more you can hear. The same stands true for your conscious mind
"I wanted a leadership position at THEIR company..." (fixed that for you)
It's not YOUR company, but THEIRS.
Incorporate your own company (couple hundred bucks) and list yourself as "President" on your linkedin.
Put together a bullshit website about your consulting services.
Start acting like a leader in your own affairs.
Mind YOUR OWN business.
Money solves almost all problems. For the remaining issues time and good health covers everything. I challenge anyone to show a convincing argument to the contrary.
Better get to $300k/year asap and let the other chumps have their "leadership position"
Additionally also look in good sleep (a good 6/7 hours per day) and adequate exercise. Sometimes people do too much exercise or not enough, as well as good nutrition. If you are not sure what kind of nutrition you should follow, Mediterranean diet is a good bet.
Lack of social support is a third direction. You should have close friends and family. Invite them often at home for dinner, cook, what about an afternoon of board games. Whatever people say, humans thrive on social contact. A beer with a good friend is also good. Don't just overdo the alcohol.
The final step is the work. Like social support, lack of motivation can be found in lack of communication. Talk around and discuss what you are doing and why. Invite smart people in your professional contacts for coffee. Tell them about what you are doing, ask what are their problems and what interesting things they are doing. Do this 2 or three times per week. Soon you will see opportunities or motivation
Good luck !
The notion that you just need to find the right thing (passion/purpose) and then the big money and satisfaction (that you think you're entitled to) will roll in is misguided.
Exercising 4 days a week shows that there's sufficient motivation there.
At any rate, good luck!
I'm currently going through what would probably tear many people apart - out of money (literally had no money last week since I sold the last of my bitcoin to stay afloat and it didn't hit my bank account quickly enough), applied to several jobs in SV, all turned down because "they're looking for someone more senior", tried to start a company, couldn't find funding, can't finish some biochemistry work that I've been doing because I can't pay for the equipment I need... The part time coding job I took on still hasn't paid me for january's work...
But I have a bunch of small projects that keep me going and while it is slightly harder to get up in the morning, I am still productive. (I just wrote a library that transpiles Julia into Verilog)
Will power is like a muscle, if you use it on some small things it makes you able to be more motivated in other areas. So for example getting up early and tidying your flat/room; going to bed at the right time; drinking less, stopping smoking, even doing 10 press ups. I always find I can build on that.
As for work I would build something cool that you always wanted; something for you. There are so many awesome ideas for something that I need or want it's almost distracting to think about. If you want something intellectually challenging try playing with Tensor Flow or Learning Elixir.
Maybe take on a website build project and build it in Elixir or some other language. When you realise how motivating doing things for yourself is, you might want to do it full time...
These things are usually a triangle in all jobs as they force competing goals.
Put labels on an isosceles triangle: Money, Purpose (work you can be proud of, changes the world) and Challenge (work that pushes you, is interesting or complex). Then decide were you would be the most happy. Lots of people leave high paying jobs to work on somewhere with purpose. Others work in a job that barely tolerate for the financial gain.
If you can't find anything that has the balance you want, then I'd suggest you temporarily choose a Money only focus and save as much as you can, then go start your own business so you can control the balance completely. You may find that your perspective changes quite a bit when you have to start making hard decisions.
I'm reminded of a story from Scott Adams
>A week after graduating college, I took my first flight in an airplane. I got in a conversation with a businessman in the seat next to me. He was CEO of a company that made aircraft screws. He told me that his career system involved a continuous search for a better job. No matter how much he liked his current job, he always interviewed for better ones. I assume he failed to get most of the jobs he interviewed for, but over time his system worked, and he became a CEO.
You could try that.
or see his book How to Fail at Almost Everything and Still Win Big)
If you feel a loss of motivation, the worst thing you could do is feel guilty about it. Feel like you're somehow bad or inferior because everyone around you seems to have this drive to move forward and you don't.
It's completely OK to not feel particularly motivated. Your job is not your life; sometimes it's fine to just work 9 to 5 and put only the effort required, nothing extra. Spend your nice salary on things that you like. Excersize because you like it, not because you have to. Do something else with your time. Meet friends. Watch TV shows. Don't care about wasting your time, just enjoy wasting it.
And please, when you see the people with "TED speaker", "self-motivated", "energetic" image, take it with a grain of salt. This happens to everyone, it's OK.
You know, these are great concepts to work for, but make really crappy goals.
"Something with purpose" What sorts of things bring you purpose? Does it need to come from work or can work bring you the means to have purpose elsewhere?
"Big Money": Money only buys some happiness, and the biggest boost is simply getting enough money. What sorts of things can money get you that you don't have now - and how will those things improve your life? If you make decent money, are there ways you can stretch it further? Live in a modest home and so on? Will these things make up for any money you don't have?
"Satisfaction" - again, what brings this? Culture and work environment? Feeling needed? Is there a way to cultivate that where you are? Even more importantly, are there things you can do to make your next job fit this description?
Once you start answering questions like these and have clear, tangible goals it is easier to find the motivation to find them. In addition, I fully recommend making sure you have work-life balance. This includes hobbies and interests that aren't work-related. I also recommend speaking to the doctor once more to consider speaking to a mental health professional, since lack of motivation can be a sign of anxiety or depression.
I used to change jobs about every 8 months to a year due to a lack of challenge I'd eventually find in every job I took on. I learned things very quickly, and as a result, found myself rather bored a few months in. I'd leave as soon as the lack of challenges and opportunities started to affect my happiness; I struggle with doing the same things every day for a long time. I can definitely do the same things every day, but I absolutely need additional tasks and duties beyond what's expected of me when I first arrive. It's the only thing that keeps me motivated - I need to be constantly learning and actively contributing to my company.
When I was 22, I found a non-profit I really loved with a mission I could really stand behind. The pay was crap, but after meeting everyone there, I decided that I could live a not-so-rich lifestyle if I meant that I could be happy on a daily basis doing work that I actually loved.
As time went on, my ability to learn fast opened up a lot of opportunities and after only two years I had exceeded my own salary expectations.
7 years later, I'm still at this job making more than I need to pay for my current lifestyle, and I'm the happiest I've been in my life.
Moral of the story is, find a job you love, a company that you can stand behind (essentially, your "work family) with a salary that can pay for your lifestyle you have now, not the lifestyle you want. Do this, and I honestly believe you will obtain the lifestyle you want through hard work and perseverance, made possible by happiness and motivation.
You accepted good money. You chose it and pick your master(as the Bible says you can't have multiple masters). You want it all.
I chose the other thing, something that paid me way less than market value, but gave me total freedom and autonomy. Now I have it all but it started without money because the ability to take decisions was more important for me than money. Money comes when you make something so great you wont be able to do in a natural environment.
But you need to find this environment yourself. Technical Mentors, coaches, master minds. Now I can do things in a week that used to take me years because I know the people. A personal journey.
George Lucas (or Steve Jobs or Dyson) did the same with Starwars for example. It is easy when looking back and having success, but when you get bankrupt like George went for controlling the creative process it is not easy.
It was not easy for Dyson to be supported by his wife while iterating the vacuum cleaner.
You are not warrantied success but failure is warrantied. I chose my path because even if I had not made it, my life became an adventure worth it for me. Some people did pity me while doing it because they looked under their point of view but I was extremely happy.
We don't know you and even if we do you need to take a personal decision in your life and few people are prepared in life to give that kind of advice.
Perhaps try not to focus on yourself so much. I don't mean that in a bad way, I mean, if you spent some serious time helping others in meaningful and non-transactional ways, you'll feel better about your own situation.
Watch this: https://www.youtube.com/watch?v=8CrOL-ydFMI
Motivation tends to materialize in our soul in 2 ways:
1) We start something new, and interesting, that we've never seen or done before, and it excites us for a short period of time (days, weeks, even months) to pursue it. Eventually, the luster and novelty wears off, and we're left feeling a "lack of motivation".
2) NEED. True motivation, the kind that persists, comes from need. When you really need something, you'll find motivation. The problem is, from the sounds of it, you haven't convinced yourself that you truly need anything more than what you have.
Have you seen the movie Inception? Perhaps the biggest underlying narrative in that movie is that an idea can grow, and consume you, even change you. You need to form in your mind somehow, that things aren't good right now, and that you need to change for them to improve.
I could ramble on and give examples, but basically that's what I believe about motivation.
Let me guess, you're not married and have no kids?
:) People who aren't good socially, oftentimes try to put all their eggs in one basket (I'm gonna be so good at my job, that it'll fix everything else).
Life doesn't work like that. The problem is not purpose/money. It's satisfaction - that's only going to come when you no longer feel like everyone else is dumb :)
They may not be as good at you at work-stuff - I bet they don't go posting on a forum asking for self-help advice though. So who's really winning?
Not you. You have high IQ, low EQ.
The only solution is to fix that EQ.
One more thing - if you get to manage people, you'll be terrible as you are currently. So really, if you work harder and achieve management, you'll realize your EQ sucks, if you don't achieve it and go and try to make some friends, you'll realize your EQ sucks.
Which's another way of saying life will fix your 'loss of motivation' one way or another :)
From the things you enjoy or excite you, start thinking about how to make that your day job. Or alternatively, start thinking about how to have a chill flexible day job that allows you to do those things more in your own time. Try things out that you already think are cool, and maybe something will stick. Then you can work towards that.
Now, of course that might not be suitable for you right now for whatever reason, but it doesn't need to be a company for the suggestion to be valid; how about just putting yourself a challenge of making a game that's polished enough that you can share it here on HN for example, or to reach a certain number of downloads/users?
I believe that if you are ready to put on such big artificial challenge as you put it as getting into MIT/Stanford, then doing a baby-step shouldn't be that hard right? So why not start there and increase your motivation step by step?
My point is, if you have the skills and time (and motivation!) to start a challenge as hard (at least for me) as trying to get into a top-tier masters program, then you must surely have at least that much motivation to do something much smaller but with a higher chance of success and with much quicker results, which in turn should ideally motivate you more to keep going.
So to answer your question, how do you deal with loss of motivation? well, doing small things that add up seems to work wonders for me (and others as well I presume)
Just make a Tetris clone with a twist for example. After that, maybe add multiplayer to that same thing. And you can keep on going like that and at some point you are going to realize that this thing is now much bigger than you would have thought, and suddenly you have spent X amount of time on this project.... and I guess that's motivation.
(Also, it doesn't have to be a game obviously, but how about making some simple software to help one of your parents/family members/friends with something they might be struggling with? that could also be a source of motivation: helping others do things that might be very easily solvable with your skills)
having a job with big impact and big money is a sizable goal that you won't reach overnight. you might not even reach it in a year, or several years, who knows. it's a big goal that's easy to lose motivation on. but reframing it into daily goals, and focusing on taking one step at a time, could be a source of motivation. just my 2
People don't spend nearly enough time looking at themselves and really deeply trying to understand what they want out of life.
It's scary because you are supposed to "know" what you want.
Most people think it just shows up one day randomly.
No, it doesn't. You need to work as hard on yourself and your motivations as you do on everything else.
Read some books on motivation, do some meditating, start a project you are interested in, learn a new skill, learn a new sport, volunteer, read more books....just keep looking and looking until you figure it out.
Unfortunately, it can take a long time.
Part of it might be learning to be content and happy with what you have already.
Part of it might be your career.
Part of it might be your social/family life.
Whatever it is, you have to figure it out.
I don't know what would motivate me besides the idea that things could be a lot better than the way they are.
I would caution though that usually when people say "Everyone here is stupid" it's usually not everyone else that's really the problem. This goes for my younger self as well.
Do this by testing out all of the above hypothesis, e.g. speak to people (through linkedin for example) that have done that MS from an ivy-league mid-career (or whenever): get lots of experience data to give weight to these potential next steps.
Ask lots of basic questions, why do you want money, what are you going to do with it. How much does reputation matter to you, and what does reputation mean.
From the little info above, it appears that good company, is something important: (a) people that are at your level (and you need to think about what that means exactly), (b) people with whom you want to do projects that make a difference (and again, what does this mean)
Could you have this out-with a work context?
My coworkers won't "dumb" though, in fact at a minimum 3/4 of them were probably smarter than me. I spent a year learning what I could from them, but I didn't enjoy the job, and life felt too short to spend every evening dreading going into work the next morning. I decided to leave, and start my own company.
I'd lose the "I need big money, purpose and satisfaction", and just concentrate on 1 of the 3 (i'll give you a hint though... concentrating on big money will not solve your issue).
You can start by working on your attitude.
If you are good at your job and they pay you well enough, just keep it. Keep doing well at your job. In your leisure time, start working on passion projects. Something that you have been thinking about for a long ago and/or understand well. If this passion project turns into something amazing that you can run-away with, profit from, and bring you more power to change, do it.
There are a million things to be motivate by. There are people with serious problems in the world, like dying from thirst.
Just find out what you what to achieve and find out if you are capable of doing it.
Watch the real news. Find out about how terrible things are. Ask yourself if there is any small thing that you can do.
It will work out with time and experience. Patience is one of those things you gotta learn before you're ready for that next step.
If you're a developer, get involved in some open source projects and contribute. You'll find people better than you and you'll learn from that and hone your skills.
Clearly, this is the heart of the matter. My recommendation is not to accomplish them all with the same thing. Big money is easiest to accomplish with a job, without worrying about purpose or satisfaction. But make sure it is one that leaves you enough hours outside of work to pursue your own interests, and that is where you fulfill your purpose. Get both of those done, and satisfaction should follow.
At the same time, keep your eye out for the dream job that does have everything. And if it ever does appear, chase it.
Spend some time not only looking for good compensation but also balancing it with a good culture.
Startups are usually early technology adopters, and you may be giving more responsibility and autonomy than in a large company. You might enjoy it more there.
Most interviewers may ask you: "Do you have questions for me?". Ask them: "who are the most valued engineers in your company and why?"
If the most valued engineer is a warm body whose only purpose is to suggest places for lunch to their managers or some fake wine snob continue looking.
What will you do differently once you are leader to avoid similar demotivation of talent? Leadership is not just decision making, it is also dealing with issues like this. They won't tell you, so self awareness now will go long way later.
If you're doing something that doesn't interest you then it doesn't matter how good the other benefits are since you constantly have to use energy to motivate yourself. Then you won't produce something you're proud of which helps neither you or the company.
Go seek out a good conversation. About anything. What you should be doing now is finding ways to dream bigger.
If you were hired then I'd say it isn't your company. A way forward may be to start your own company. Build your own enterprise instead of someone else's.
> Everyone here seems dumb and working on a few useless things.
I don't think that attitude shows leadership potential.
We can't get everything in life. Your idea of the "perfect job" is unrealistic.
From my personal experience, that's the thing that really drains me most and I gather it's a well-known cause of stress (i.e. lack of autonomy). Might be an area you want to reflect on more. I've quit a company in the past for this reason.
If you did, you'd be motivated about that. But you aren't.
The problem is not really finding something outside, but changing something in yourself. It sounds like you think motivation comes from the outside.
Read: Barry Oshry - Seeing Systemshttps://www.goodreads.com/book/show/1241559.Seeing_Systems
b) >I was hired for a position that has no decision making power at all.Power isn't given, power is taken. Trust is earned. Leadership = Power * Trust
but if a) is your current view, you can forget b) especially the trust part.if a) is true, then change the company, best start your own.
I'm not saying you shouldn't keep seeking something, but the aforementioned might help you to decouple your happiness from it.
The way I've dealt with burnouts and demotivation has been to identify the actual root cause and then take a decision;
- Option 1; leave it be (and maybe whine about it).
- Option 2; give up & move on to something else.
- Option 3; bite the bullet and work my way out of it.
9 times out of 10, I pick option 3.
As an example, I've been dealing with business development for a while, but I'm naturally more interested in product development and R&D.
I got stuck on option 1 for a while and tried a couple time (unsuccessfully) to go for option 2.
And for the past 6 months I've been working on option 3.
It's not glamorous and it requires a good deal of patience, but the opportunity to get to a place where I can automate/document/delegate myself out of it has kept me motivated enough.
I'm writing a business playbook , created a few sales decks and refined techniques on clients and colleagues to the point that I can train others. I have automated, documented and understood enough  that I can finally bring in a BD person and hand over my responsibilities.
I recommend you have a hard look at what really makes you unhappy and list your options.
From the limited understanding of your current situation, I'd say;
- Deal with it. You stay where you are and find a way to be ok with not being passionate about your job.
- Give up. Find another occupation, either now or after a while once you acquired new skills.
- Work your way out of it. Find a way to change your role at your company. Maybe you can automate, document and delegate. Maybe you can make yourself valuable enough to another team to force a promotion or re-assignment.
Additionally, I don't think I would recommend you to go back to school. I'm a lot more likely to trust and respect somebody who went on to learn new things on their own, especially considering you can virtually learn anything online these days.
Talk to your boss.
Otherwise you need to rethink your career choices. Good luck man!
gives you a new perspective, and perspective creates motivation
This sentence alone signals that you are not ready to be a leader. Contrary to what you probably think right now, being a leader sucks in many ways:
- You should be empowering to those around you. This starts by being constructive instead of judgemental. Find out what are their strengths and weaknesses, and tell them how you think they can improve instead of poking at their weak spots. You should strive to always keep this attitude, even when under pressure and/or during bad personal times.
- You must be a good listener. Try to understand your team member's motivations and desires, and how they think/react to what's coming to them. Be prepared to accept that other people's thought processes are very different from yours, and your job is to understand them instead of trying to change them. Even if you possessed the absolute truth about everything, trying to shoehorn that truth into their minds wouldn't work. They need to see that truth by themselves, so you can only try to steer them towards finding it. In some cases the way to do that is by providing arguments. Other times arguments won't do it and you must show them. Later on, once you're actually seen by them as a leader you'll be able to appeal to trust. Don't overuse that though because you are not perfect and will make mistakes, which will erode your trust if you used that to impose your opinion onto others.
- You should be prepared to deal with the worse bullshit that's thrown to your team. You don't need to deal with all bullshit, but your team should be confident that you'll be first in line if/when shit hits the fan, and that you'll do your best to cover them.
- You should lower your expectations about others. You must demand the highest standards from yourself, but not from others. Do what you can to help them improve instead.
- Don't overreact when you get stabbed in the back (which will happen at some point). Attribute any bad situation to ignorance/stupidity before malice. Always try speaking with people first, and over time you'll develop a "sense" to discern bad actors from misunderstandings. In any case, being stabbed is an opportunity to improve that "sense", and is always a better situation than initiating work-warfare against a person who acted in good faith.
In case you haven't noticed, you don't need any "leadership position" to put all that to practice. You can start doing it right now, and I assure you that leadership will follow naturally. People will start turning to you when they need help. People will start wanting and valuing your opinion much more. This will make you feel important and purposeful, but it will also be stressful and demanding. Be up to the task and the pay will follow.
"I need to find something with purpose,big money, and satisfaction"
Hold yoga poses long.Take strong patent medicine herbs.Knitting.Volunteering at an animal shelter.Cold showers.Realistic goals on the bench press.Scuba diving.
The answer has become clear.
Go for the money.
In those discussions, I _could_ tell everybody my opinion, and tell them to take it or leave it. That works about as well as it sounds like it does.
I have in the past tried to convince people of my argument, with evidence, rhetoric, emotional pleas, what have you. Those work to various extents, but not as good as I might want. I'm no rhetorician.
Recently, I had an epiphany. The way it came about largely mirrors the idea itself - I had a discussion _about_ discussions (or perhaps, debates). And with a colleague I discovered that my usual victory condition (winning someone over to my side of an argument) was the wrong victory condition. There's a backstory there, but I won't get into it.
What I discovered instead was that I should focus on making sure the most information and understanding was on the table, out in the open.
My victory condition changed from winning the argument, to making sure that I and everyone else involved knew all of the things possible to be known about it.
In the process, I typically find that my original opinion was flawed, the opposing opinion was flawed, and we overlooked lots of opportunities.
You might think that it's easy to get to this condition with brainstorming techniques or something of that nature. But It's not so simple - there are widely known shortcomings to simple brainstorming, and most of the workarounds involve systems to do exactly what I'm talking about on a larger group scale, without everybody knowing it.
What I've found is that I can foster that environment with my own conversation. And that people will reciprocate if its done well, with the viewpoint of the other person(s) in mind. Read "The Entrepreneurial Engineer" for more on that subject.
Why am I telling you this when you are asking what to do about finding purpose, money, satisfaction, and decision making power?
Because none of those things are given away. They are built up of actions you take that affect your world. And you need to definitely start with the smallest of actions. If your coworkers are "dumb" and doing "useless" things - it sounds like there are tremendous opportunities to either A) learn why they aren't dumb or useless (they are after all making "good money"). or B) change things to being less dumb and useless.
But I read another point in your post. Motivation.
Motivation is a tricky one. I probably know and have tried all the things any book or website would tell you about motivation and productivity, because i'm the least motivated or productive person you will ever meet (or at least, I used to feel that way).
I learned something else really important recently. Actually, I re-learned it, it was something I knew in High School, that got me through college, but the lesson kinda disappeared somehow, got sunk.
I get depressed so much more easily than I think I do.
I suffer from constant low grade depression. Perhaps Dysthymia is the right word? Anyway, depression isn't sadness (you can find many places telling you this on the web). Depression is that hollowed out non-feeling. Nothing really jabs the "go" button.
I did two things that dramatically affected my depression, and I will suggest them to you. You may have different composition, and could easily need something different. Talk to a professional (I always highly recommend therapy, and psychiatric if needed).
I stopped drinking alcohol completely (BIG effect) and I started taking 5htp, which is a mild anti-depressant and also non-prescription, so easy to get ahold of, and it steadies things out.
Anyway, I've noticed a huge improvement in my motivation and productivity right away. The old 4.0 engineering student returned, if you will.
So, perhaps really you are putting the cart before the horse here, and need to look inside rather than for external satisfaction of these higher-order needs? Worst case scenario, you will be better prepared to achieve your self-actualization. Which, I have to say, I am in NO position to guess at what it's nature might end up being.
1. A response looks like this: https://monosnap.com/file/CbRNrj7TUUhaLolVTLYJhrPxUdsYOK
2. A16Z invested in 21.co when it still was a Bitcoin mining hardware startup: https://techcrunch.com/2015/05/18/what-is-21-co-really-doing...
Interesting dichotomy, at least to me.
I'm not a VC industry insider, but I've spent enough time in the industry as a peon analyst to see the industry for what it is. I've written before about how nearly all VC partners are ridiculously conservative bandwagoners (they only invest if someone else invests), with the sole (to my knowledge) exception being Marc Andreessen. There might be other exceptions out there, but the thing I always admired about him is his ability to fully commit to a business without any social proof. And I believe that this attribute is what makes him successful. If you are taking his advice on whether to invest in something, it's probably worth the $100.
Never worked with him personally, but I'm sure his business advice is gonna be pretty sound even if I don't know how it rates relative to other VCs. But I think the real point is that it is important to know what you're asking him about before anybody can tell you if it is a good idea. You wouldn't ask him about plumbing, right?
Some notes about the process:
1. 21.co's signup form mandates an image, but the tool they use for file uploads breaks on PNGs (!) silently without any visible warning to the user (!!), you can click on the 'save' button many times with nothing happening and without any kind of error or warning in the web console (!!!), in both Firefox and Chromium with Noscript & Adblock disabled. Apparently even using an entire specialized file upload service, the second-most common image format in existence is just too exotic and confusing to support.
2. you have to confirm by email before you can do anything, which adds on another 10-15m to the process (amusingly, they spam you on signup to set up a public paid inbox - and that email arrived first, but you can't do anything unconfirmed)
3. it's not $100, it's actually $110, because 21co tacks on a $10 'service fee' (even though it's for charity). It's unclear if I have to pay this $10 regardless of whether Andreessen ever responds. I hope not. In any case this strikes me as a huge fee for such a trivial service, and I really hope it's a 10% fee rather than a fixed $10 fee...
4. the site is surprisingly slow despite being so barebones
5. browsing the interface, despite the prominence of Bitcoin, I'm not clear whether I am even allowed to deposit Bitcoin and pay that way; in any case I opted to use a credit card because the profile image bug wasted so much of my time and I was losing my patience. The cash out page indicates that should I ever earn anything via 21.co, I would need to jump through even more hoops, presumably even if I only wanted Bitcoin and not bank deposits or anything. I thought briefly about setting up a paid inbox because it's a fun concept but between a 10% (or worse) fee and all this invasiveness, I'm not interested.
6. signup form doesn't work with Lastpass, which failed to capture the username/password; always annoying to manually copy over generated passwords.
So, I'm not impressed but we'll see how it works out...
On a side note, how do people regard the expectation of privacy with these public inbox emails? I see someone has screenshotted a Horowitz response; are these responses considered 'commissioned' in a sense, rather than private emails with an expectation of privacy/confidentiality, and so it's OK to copy-paste any response publicly on HN or elsewhere?
Good, bad, or indifferent I like the way Marc approached this given the amount of people clamoring to get access to him.
> To Marc Andreessen. From Joel Parker Henderson. Hi Marc, what are some of your favorite charity causes that could benefit from pro bono coding help? I work at [X] and we have many programmers who volunteer for social progressive causes; we love coding and we love to help. Thank you, Joel
The proceeds go to programs promoting underrepresented genders and ethnicities in tech, I'd say that yes it is quite "worth it".
If they were interested before, they would probably like to hear about new features and a free trial.
If you don't have a lot of users now, just add a reply with stop if you would not like to receive emails from us. Track these manually till you come up with an opt out email system.
Good luck converting some of the early signups to your app.
If at all possible, bill out jobs instead of hours. If you absolutely have to bill per-unit-time, choose as large a unit as you can get away with. Per-hour may work for attorneys, but when you have to watch the clock on every little thing as a developer, everyone loses.
Unless you are old, do whatever you can do to minimize self-employment tax. It's currently over 15%, and it's for a retirement system most of us will never get a dime out of.
If you have trustworthy people you can lean on for things like advertising, accounting, sales, etc., hold on to them for dear life and pay them fairly. The more you are able to double-down on your strengths, the better.
The dumbest mistake I've made has been this.
That slack time in between paying gigs can really kill financial momentum. Also, If I'm idle for more than two weeks that wastes not only money but also mental bandwidth. I go from thinking about work to thinking about how to get work, and that is stressful.
Always be networking. Always take meetings even if you are fully booked. Stay visible.
Frederick Forsyth - "The Shepherd"
 A great live reading from Al Maitland (aired nationwide across Canada on CBC every Christmas):
"Scroogled" by Cory Doctorow: http://www.crimeflare.com/doctorow.html
Read it here: http://www.whale.to/b/eight_o.html
The Egg by Andy Weirhttp://www.galactanet.com/oneoff/theegg_mod.html
http://ficly.com/stories/1456 - be careful what you wish for
All of them.
But one of my favorites: A Biography of Tadeo Isidoro Cruz (1829-1874)
Don't look to your job for any kind of fulfillment or satisfaction, unless your job is your own company and you're doing something you're passionate about. Otherwise, be a complete mercenary and treat your job as nothing more than a way to keep the rent paid, the lights on, and food on the table. Then find ways to achieve fulfillment or whatever it is you're looking for, outside of work.
Maybe that means volunteering at a soup kitchen, maybe it means working on a startup as a side project, or maybe it means playing video games every hour you're not at work. Whatever, it's up to you. The point is, take control of finding whatever meaning it is you want to find in life, and don't let it be all commingled with your job.
Ultimately you may decide you don't even want a "normal job" at all. Maybe you will decide to freelance. Maybe you're meant to be an entrepreneur and run some kind of business, or possibly multiple businesses. Maybe you want to go all Tim Ferris "four hour work week" and move to Thailand or something. One thing that will help you maintain maximum flexibility is to avoid things like a mortgage payment, car payment, etc. If you already have those things then you'll have to deal with them, but if you don't, consider not buying a new car, or a house, etc. until you have things figured out. It'll be easier to up and move, or make other dramatic changes without those encumbrances.
Some people will say to choose startups over a big MNC, but I find that startups can be worse in many ways (again, unless it's your own startup). Work hours may be more demanding, there may be more stress, etc... OTOH, if you accept my position about being very mercenary towards work, you can often find a boring position at a stodgy large company, where you can "punch the clock" for pretty much exactly 40 hours a week, do relatively boring / undemanding work, get paid a decent salary, and - most importantly - reserve as much of your energy (mental, psychic, spiritual, or whatever you want to call it) for your own initiatives outside of work.
I spent 6 months on unemployment looking for jobs that I would care about and something that would let me lead a less stressful life.
After the unemployment ran out I started working at a Starbucks.
This was a life saver.
It was fast paced. They were always changing some process. It taught me to be flexible and roll with whatever. I got to talk with customers everyday. I could be making coffee and look down the whole line of people, out the door, and know each and every drink to make. I worked hard, but it was fun.
A customer that I would see daily offered me a job after a year at Starbucks. I still have this job. It has allowed me to move to a happier state where I live on a lake and life isn't so faced paced.
I promise you'll think more clearly about it once you've done this. Don't plan your next step after this second one (the first being, y'know, quitting). After step two, step three will come to you.
My personal answer to that was to start learning to draw. Getting from zero art skills to professional artist is a super-long journey (at least 5-10 years from what I'm reading), but at least it gives me hope.
You might find of interest this recent book on Designing Your Life by two Stanford professors-
Here's a podcast interview with the authors, to give you a flavor of what it's about > http://thedianerehmshow.org/shows/2016-10-03/using-design-th...
Also, NY Times review > https://www.nytimes.com/2016/09/18/fashion/design-thinking-s...
And - Goodreads reviews here > http://www.goodreads.com/book/show/26046333-designing-your-l...
I'd consider taking a short break from programming if I were you. Why not get a temporary job as a river guide or something outdoors? Maybe go on a long backpacking trip or do some other kind of adventure. After getting crushed by years of corporate culture, I'm sure your soul could use a little fun and adventure to reinvigorate and recharge itself! In my experience, (I'm a software engineer engineer) the perspective gained from taking a temporary break and trying something completely different (that maybe puts you a little out of your comfort zone) can drastically improve overall confidence/happiness/wellbeing much more than any minor resume addition. Take a moment to emotionally regroup before you charge back into career life!
Please keep in touch.
start putting your resume out as soon as you can. start finding a away to cut expenses and build more runway next time.
maybe look into something closer and/or a startup which is more fires and chaos at 75% of the pay but has an easier line of sight to "changing the world"
Rule #1: Negotiate from a position of strength.
Fact #1: We tend to negotiate badly when we are desperate. Human nature.
Fact #2: Desperation is a state of mind. You can really be in dire circumstances but keep a calm mind. This can be learned. I know stoic folks who are cool as ice when negotiating at the precipice of existence! Super men! (This is where I fail many times.)
Fact #3: (Certainly my experience) When we quit one job summarily without alternative options already lined up, we are likely to create a desperate mindset. It creeps into our attitude and plants the seeds for exploitation. Avoid this as a rule no matter how shitty things get. Plan B first, then quit.
My advice to you is find another job but don't expect it to be better. Plan your Plan B while there.
Best of luck, bro/sis. Employers can be ruthless sometimes.
I would take some time during the next job seeking stage to do stuff I like. Travel? Perspective comes with distance.
1. What is a micro-service?
2. How is a micro-service architecture implemented?
The first is subject to some debate, and it's not a debate I'm particularly interested in so I'll leave it as an exercise.
Micro-service architectures are generally implemented in two ways: push and pull. A collection of REST API's will tend to produce a push architecture of explicit requests and responses. A log to which all requests and responses are written with each individual service responsible for finding applicable messages is a way of implementing a pull architecture. Queues can play a role in either but are at an implementation detail at a lower level of abstraction.
Chat bots  can be seen as an example of a pull architecture with a log. Bots scan the continuous stream of messages and ignore what does not apply and act upon what does apply, typically they return results to the message stream. A chat bot might have a queue to manage requests and responses (input/output) or not, but that's an implementation detail not a high level architectural one at the level of a chat system.
A chat system will tend to grow by adding more bots rather than expanding existing bots and each bot will tend to have little or no knowledge of other bots. Each bot will be independent: one will run Jenkins another will make coffee.
The big point is that services are a way of organizing a system architecture and micro-services are one granularity at which the system may be decomposed. It's probably arguable that what constitutes a micro-service versus a service is relative to the size of the overall system. In practice, what is and isn't a micro-service has some correlation to the practicality of delegating responsibility to a team <= two pizzas.
: A chat bot might be an example of something that is small enough to be 'micro'-- or deci, nano, atto, yocto etc. -- (or not).
Everything you mentioned, and then several other mechanisms. Whatever happensto be fashionable where they are being implemented.
> Sorry to post this here, but honestly I often hear about microservices but I don't really understand what they are.
A bunch of small applications running separately that talk to each other usingdifferent protocols (sometimes one of the RPC protocols, sometimes raw HTTPthat is today called REST, sometimes ZeroMQ or AMQP or some other ESB). Theidea has little more in it than this, though operationally there are stillsome things to figure out.
If you haven't participated in the discussion then it's harder.
I know so much ridiculous but very practical "devops stuff" because I've been installing things configuring them and deploying to them by hand (running the commands or writing scripts) for a long time. It has come in handy so many times. Now that I think of it, it has paid off more than any other technical experience.
So now I can sit down behind any devops toolkit and very quickly get up and running or even debug it without having much experience with it.
Also managing your own code will help make you a better developer. So in short to learn devops: learn ops by doing it the old fashioned way. Then Ansible, Puppet, Cloud formation, etc... is easy.
Ansible is great; easy to learn and powerful. I recommend the book "Ansible Up & Running".
Learn Linux thoroughly. I recommend the book "How Linux works". You want to know how you can do basic administration such as managing users, setting up syslog, registering system services (systemd/init.d) etc. Also, learn how ssh works, how you use keys, how ssh config file works, agent forwarding, etc. One of the last chapters/appendixes in the Ansible book goes into detail.
Learn about monitoring, for example using the book "The art of monitoring". Graphite + Grafana works great for me. There are many choices, don't get into the rabbit hole of trying to compare them all. Just set up end to end monitoring and alerting. We use Seyren for alerting which is simple and nice.
I also like the book "Site Reliability Engineering" by some Google engineers. Though this is more advanced stuff, for mature organizations that have the basics covered.
I'm literally going the other direction. I've got a sysadmin background, with little coding experience. Getting put in a DevOps role is how I'm learning to code more than just bash scripts.
Chef stuff has me neck deep in Ruby. I'm wishing I'd have gotten into this 20 years ago.
disclaimer: I'm building a new CMS called Pragma (https://pragma.build) which would allow users to compose pages by assembling components.
But what do you mean by invest? Learning? If you can only do HTML & CSS you should perhaps search for themes in a market with more money... e.g. Shopify, Shopware
Focus on building the product and generating revenue. If you can prove your idea works and it can scale, it doesn't matter how many founders there are, or whether you spend 10 or 100 hours a week working on it.
No sane investor will turn down an opportunity, given that it generates revenue and it can scale well.
Next understand why investors want you to have cofounders.
It's not some arbitrary standard, you simply won't have the cash to be able to hire a top tier sales, marketing person, etc. so bringing that talent onboard as cofounders is how you should be solving that problem. Find the best people you possibly can who cover the areas that you're weakest in. Find people who've experienced growing a similar company, they'll be invaluable to you.
That system may not be technical, but procedural. It will include other business functions. It may include your customers. In any system, there is a clear "start" and "end" that encompasses a complete process and reason for being.
You'll find that in most organizations, people stay in their little corner, do their little thing, not caring much about what happens to the left and right of them. That leads to inefficiencies and missed opportunities.
If you understand the larger system, you'll be able to see opportunities others are blind to. Point a couple out and -if you're both respectful and right - it won't take folks long to think "man, this guy really gets it!"
Technical skills will come naturally over time. But to improve your technical career, you will be working with people who are not technical. Learn how to describe technical changes and aspects in layperson terms. Practice presentation and documentation skills (perhaps even join a group like Toastmasters to improve). Learn to triage issues and set expectations through email and discussion in a rational and calm manner.
Obviously it takes a lot of legwork on your own part, but having the guidance helps a whole lot.
In 2009 before I went to university I was still living at home, splitting firewood in the middle of nowhere in New Brunswick, Canada to make a bit of extra money. This turned out to be an activity with an effective wage of about $10/hour.
In 2012 I was interning at NVIDIA in Santa Clara. Interns get lots of special treatment to indoctrinate you into the company, so I got to meet the CEO and he invited all the interns over to his house. Of course, he would probably never remember me, but I can't think of many other ways to move so quickly into a place where you could actually have some influence.
1. Finish shit on time.
Has a bunch of things that mean: 2...99...:Understand to the best of your ability what you finished, how it fits into your business, and what could be done better.
And ends with the most important rule:
100: Don't be an asshole
edit: 101: proofread what you write
While most of us are probably comfortable enough running make/grunt/gulp/etc, that comfort typically stops there. Knowing how to set up and manage your own systems will both make you more useful on your team and visible in the org. This is especially true for junior front-end folks.
The amount of time will vary depending on your background, degree, existing experience, and sure enough, luck. But it's just time.
In the current state of the industry, a senior is just "someone who's been around and did/saw some stuff".
It gets a lot trickier after that step. But for a junior, just keep doing what you do and try to do it better while learning/seeing as many things possible. Basically, just give it time.
2) Learn why you're building something. Not just the technical 'why', but also the business 'why'. Yes, you should understand why you're using RabbitMQ over Redis. You should also try to understand the business case that you're solving in as much depth as you can get. The stronger you align with what your business needs, the more valuable you become, and the harder problems you will be solving, an the more you'll have the opportunity to learn.
If that manager is good, they will bend over backwards to give you a plan, hook you up with the right people and ensure that you get that promo quickly.
Because it makes them look good. Amazing, even.
Understanding the mechanics of the business you work under and talking to people on the profit-side won't hurt, though.
You get a similar effect from repeatedly reading hn, because you'll read articles on topics you know about and then branch out when you're bored of it.
Anyway, assuming programming: https://github.com/braydie/HowToBeAProgrammer
You might not know how to do something, but ask to do it anyways and learn it on the go. Big corporations will not give you that kind of opportunity so you have to find a startup or create one yourself.
Code and blog a lot and put everything on GitHub and try to get people to star your projects and follow you. Learn to design, architect and structure your code for large systems.
* Being able to design a small project from scratch and execute it to completion.
* Knowing when to ask for help and related time management skills: (https://codewithoutrules.com/2016/03/02/asking-for-help/).
If you're a dev or not this holds true. Your boss and your bosses boss are busy. Help them understand what you do by writing your thoughts clearly.
The other is finishing. Work on things you can finish. Don't aim to rebuild Rome in an afternoon. Doing the dirty work to take something from 90% to 100% is HARD. Finishing things adds so much value and for some reason people are bad at it.
* Solve the problems other developers are unwilling or incapable of solving.
* Create helpful (and portable) tools
* Learn analytics and increase your communication skills
* Be helpful
When I'm conducting interviews and looking for hints that someone might be on the verge of "levelling up", I look for qualities that indicate someone has stopped following a preset path and is instead able to do their own pathfinding. That is, given a direction and a general set of guidelines, how deep are they able to go in order to solve this problem? If I tell you, "Hey, we want to add file uploads to this UI" in a Ruby project, do you:
A) immediately go searching for a gem to handle this?
B) Look for an AWS interface gem?
C) Look at S3's HTTP docs and write their own class for handling?
D) Stop and ask if we want to host the files ourselves or using a storage API of some sort?
Each of those may be the right answer. A is what I would expect a junior (and likely most others) to do, and its a defensible choice in that file uploads are likely not interesting enough to spend much time on. B) is what I would expect from someone who knows that storage to S3 is pretty easy in most libraries, and therefore it may not be worth the dependency of something like Carrierwave, electing instead to write a thin wrapper around the interface (and whether they use it directly in application code, or write the wrapper, is an excellent way to discern whether they're just below or just above the line between junior and mid-level). If they're coming from a different platform background though, they might just be unaware of something like Carrierwave/Dragonfly/etc. Option C indicates that they're probably pretty comfortable getting deep into a problem, though perhaps not always making the best choices about where to spend time (but you get a pass if this is an interview setting, its really hard to know as a candidate what the other side of the table is looking for.) Going with option D often indicates the confidence to push back on requirements and make sure you're writing the right code, not just what the ticket or client asks for.
The thing is, none of those in isolation is going to definitely indicate that someone is a junior or more advanced. They're all just pieces of evidence and have to be taken with other points of evidence to determine the answer to that question.
Other things I'd probably try to focus on if I were trying to level up:
* Know your tools. I don't care whether you use vi/vim, emacs, spacemacs, Sublime, atom, intellij or one of its brethren, or even textmateknow how to use it effectively to navigate your project and handle your top ten tasks like finding the implementation of a class or running your tests.
* Know your CLI. I don't care that you know every flag to every possible command in the terminal. but realize that an IDE is usually just a layer over a lot of CLI tools that you should be able to handle in their native environment.
* know how to read a stack trace effectively to find the root cause of an error quickly.
* get good with taking constructive criticism. Humility is an important attribute in any team member.
* Don't fall into the trap of thinking you know one tenth of what you believe you do. Don't think in absolutes, and don't argue with every potentially incorrect statement someone makes.
* ask questions more than make statements. Whether its "Can you help me understand why you do that this way?" or "Why is the customer asking for this feature?" it will serve you well throughout your career.
Communication/soft-skills has already been mentioned so I'll leave it with the simple "At the end of the day, regardless of how smart you are, if you cannot work well with others and you're not the sole employee/owner, your value is very limited".
The biggest problem I've found being a software developer is exposed by this phenomenon referred to as Imposter Syndrom. In a lot of fields, there are good ways to measure yourself and your skills against others. In software development, it's a difficult thing to measure. You can become an "expert" in the core language you write in -- understanding the common patterns, standard libraries, and common features -- and no matter how much your abilities increase, what you know is far less than what you don't know.
Even today, with resources like StackOverflow, open-source material and source repositories with endless amounts of code available, learning corners of your specialty is hard. Your resource may be "out-of-date" (which happens within weeks, rather than months/years) or might be so specialized that there's just nothing out there. Because of Imposter Syndrom, your developers are not quick to point out their weaknesses, but knowing the strengths/weaknesses of your coworkers helps you to be effective and to know who to tap when you get stuck. Unlike "that person in the forum", they have a vested interest in making you better -- you'll reduce their workload the more effective you become. Provided you're good at establishing relationships/friendships with others, they'll actively help you to become better and there's no better way to learn than one-on-one with someone who has the skills you lack. Knowing their weaknesses allows you to better focus your study on areas that the team has gaps (tip: offer up your own deficiencies and others will open up about theirs).
A lot also depends on what corner of software development you're focused on. If you're focused on web front-end development, you have a much easier time learning what you need to learn, and more jobs available to shine in, but you also have a huge amount of competition and a greater distance between Junior and Senior. In a highly specialized area -- mine was Skype for Business development -- you have fewer job options, almost no resources but a much smaller distance between Junior and Senior since simply having experience in one of the APIs already puts you near the middle. At first, I was tempted to say that being in the latter category is helpful, but having done it and reflecting on how painful it is when you run into a problem and have, literally, nobody to turn to for help, I can't say that I recommend it. Picking an area of focus that is somewhere in the middle might be a good idea. :o)
On learning, figure out what techniques are most effective for you. I don't do well in lectures, and I don't have the patience for video tutorials. I took a class about 20 years ago on effective book study (it was called "speed reading" at the time, but has nothing to do with these gimmicky techniques taught by apps, today). I learned how to skim/scan material and take effective notes while doing so, allowing me to consume huge books in hours, and "read" those books for information several times over a period of a week/month. I felt like I had a "super power" and exercised this ability to the tune of about 6-10 large volumes per year. When I need to learn something, I look for a good, thick, book on the subject, set a goal for completion and relentlessly pour myself into it. For programming, I know this requires me finding a personal, useful, project to build, an "instructional book" and a "reference book". Give me those three things and the language, framework or pattern in question will be cemented in a way that allows me to use it at a practical level.
 My area of focus until very recently was developing software for Skype for Business using some of the (very excellent) APIs provided by Microsoft. Unfortunately, the number of people who are doing professional development in this software is small due to its target audience being enterprises. You just don't have a large number of hobbyists writing libraries on the weekends. The primary API I used to develop in, UCMA, had one half-chapter in one large book written in 2007, none of which is helpful to new developers due to it being wildly out of date. The documentation for this API is mostly "Undocumentation", and I've encountered very few APIs that have as many sharp edges, parts that don't work as you'd intuitively expect or simply don't work in any way resembling the documentation.
 I can't tell you how many times I've googled a problem and ran into solutions where the answer was provided by a person I worked with that I could have tapped on the shoulder. Or the two times I googled something, saw the answer (in one case, slightly disagreeing with the approach) only to discover that the person who wrote it ... was me. Just goes to show that anything in software that you've written six months ago might as well have been written by someone else.
And the next level above that: think and talk about the business problem the proposed functionality is intended to address.
Making the distinction between requirements, functional design and technical design is very helpful, but in many places this has been obscured and rendered difficult by bureaucracy and process.
These dont have to combine in that way. Points;
1) there can be significant dead weight in larger salaried roles. Salary existing doesn't always equate positive ROI. And someone one can be very good employee in a structured enviroment and not in a more open startup enviroment.
2) motivation doesn't equate success, sometimes the opposite as people pursue the interesting vs the economically realistic.
3) As a salaried person you come as a team. You alone are likely to be missing required parts for a functioning business, kinda like buying tires and wondering why the car doesn't run.
This happens to all of us and it is hard to truly reflect on what makes a successful startup. If there was a recipe we would hear of many successes, frankly investments would stop elsewhere and just concentrate on startups, if that was the case.
Whenever I hear of crazy returns, I try to reflect on the fact that if it was common, why wouldn't those who make such crazy returns not just borrow more money and wash, rinse, repeat. I think there is a point were those making such returns realize the success was due to mere chance or some other combination of timing, investment, people that could not exist again. There is also a point where you have to wonder why those making such great returns do not keep trying to do the same. There must be a level where crazy profits/returns would allow some self sustaining regenerative business. I think that level does not exist. When investors do think such a level exists, they are usually being swindled.
The first connotation is a bit circular, but it has the feature that startups are companies that might have some plausible avenue to becoming a unicorn. Some sort of new software as a service (SSSAAS) might be a startup under this connotation but a new Chartered Accountancy firm most likely not (even if people in Topeka, Kansas will refer to the new Chartered Accountancy firm as a 'startup').
Angel/Seed/Venture capital doesn't make money by funding SSSAAS startups (in the second connotation) at random. It bets on the SSSAAS's that seem most likely to become unicorns. Angel/Seed/Venture capital looks at staff and track record and the business model: the one that is easiest to change is business model and another name for business model is idea because from the point of view of capital, a SSSAAS isn't a technology it is a business.
From a traveling point of view, sending a probe to Pluton (New Horizons) took us 10 years and the probe had a nice pull from Jupiter. The closest exoplanet is 6 700 times farer than Pluton.
From a communication point of view, the probe/rover would not be able to send us back any kind of signal. Even if we were able to communicate, a round-trip message would take 8 years.
And remember, we are not always successful when sending a probe/rover to Mars, which is the closest planet to Earth.
First, an analogy in macroscopic physics. Assume an Engine, like in your car. As each piston moves through time, it goes through 3 phases. Injection, Compression, Ignition.
If you inverted this process, going from ignition, to compression, to injection, your engine would not work. It would probably destroy itself, but it would at least not work. Therefore, your engine breaks time symmetry. Obviously. Most macroscopic processes are not time invariant.
On the microscopic scale, most quantum systems are believed to be time invariant. If you invert time on a hydrogen atom, nothing would change about it.
But a spacetime crystal is a system that exerts state transitions, like your engine does. If you were to "record" its behaviour and then play the recording backwards, you would observe a physical process that is impossible. Therefore, it is not time invariant.
Disclaimer: This explanation is, as requested, for "dummies". It is wildly inaccurate at best, but seeks to explain the problem without introducing any of the necessary physics.
Even the companies whose names were used for the scams were powerless: https://blog.westjet.com/make-it-stop/
I haven't gotten one of those calls in a while though. Either my number is no longer on their target list, or something else made them stop.
* How will transactions across multiple services be handled, and as a followup, how will rollbacks happen when an error happens mid-transaction
* When all the data is distributed across multiple service DBs, how consistency be enforced? What happens when data is no longer consistent (e.g. data in one DB references data in another DB that is no longer there, or has been updated)?
* [basically, how will anything related to ACID be handled when you no longer have a single ACID DB?]
* How will errors be handled with various permutations of individual services being unavailable? If a single service going down brings down the site, has anything really been gained?
* How will distributed logging be done such that bugs can be tracked down in production. How will a given single request be tracked across services?
* How will automated tests be written when everything is now a network call instead of a function call? Mocking out all the things gets old fast and introduces its own set of problems relating to testing code that isn't the actual production code.
* How will API versioning be handled for each service, especially if different services are being built in silos by different developers?
If they have solutions for things like this, great! If not, perhaps they should before pushing forward.
Why not: 1. Draft an email with a subject 'Second opinion on moving to micro services 2. Let the email body be a very succinct description that a. you have done some research, b. you respect the team's decision but c. would like their opinion on your research. Also seek a time for a 30 minute presentation and 30 minute feedback/discussion. Don't send your document with the email, keep that for your presentation. That way you will be seen in positive light, as a team member with his own opinions but also a team player.
Also, have you asked them what was the data from their research that made them take the decision to move to micro services?
Overall I think it was a net positive, but only because the velocity hit from working on the big legacy application is worse than the hit from working with smaller distributed services which all need managing. That's a very real overhead - you're now managing dependencies and deployment for n services rather than 1, and realistically the big application you're trying to move away from isn't going anywhere soon. We've got an API routing layer which purely exists to allow migrating individual endpoints to new services while allowing the legacy platform to continue serving everything else.
Put a list of objectives the team want from the product. Prove that you can achieve that without using microservices.
1) Start to split out monolith in separate packages ("services")
2) Use RabbitMQ to "talk" between the services / Simply have one package that is the REST portion and reference the other packages inside of it (which aren't REST... just libraries, basically)
3) Patch up design flaws
4) Slowly move towards true microservices
Step 2 would be deploying everything as monolith but at least it's split up.
This gradual approach may just work for your team!
Most likely the developers want to learn about microservices.
It's honestly one of the main reasons people join startups - to work with cool new tech/approaches.
If they wanted to take the low risk approach they would work at a big company.
If this is the case expect nothing but friction.
For the curious, here are the specs and price:MBP: 2.9GHz i7, 16GB, 2TB NVMe, Radeon Pro 460 4GB GPU - $4299
XPS: 2.8GHz i7 (Kaby Lake), 32GB, 1TB NVMe, Nvidia GTX 1050 4GB @ 4K res - $2499
The big jump in price in the full spec iMac is the 2TB of storage. NVMe isn't cheap.
If they were both at 1TB storage, and more comparable spec for spec, the XPS makes for a more powerful machine. (and for me raw power is WAY more important than thin/light)
Why did I switch? Major GPU issues, a gimmicky touchbar with only TouchID as it's useful piece, crappy battery life, and the need for something reliable that wasn't going to flake at the drop of a hat.
Like I've commented elsewhere, it's hard not to get the impression that all Apple cares about is the iPhone.
They've been making thin and light the priority, at the expense of things that power users want.
Lest anyone assume I'm stomping off mad... I've been a hardcore Mac user for 14 years.
I am using Windows 10 on the XPS. I figured it would be a major source of pain, in terms of workflow, to switch back. The Windows Subsystem for Linux takes almost all of that pain away.
I still have my MBP, but it's sitting on the shelf. Once more updates come out, maybe I'll revisit. \_()_/
I find that the battery lasts longer than my last MacBook Pro as well.
I've seen the Surface Pro, and I find it intriguing, but can't really picture wanting to purchase or use one.
On a day to day basis I use both a 2009 13" Mac Book pro and a 2015 Mac Book Pro. However, for the prior 4 years I used a Dell XPS Windows 7 laptop.
The primary primary reason for using the Mac on a day to day basis is system stability and responsiveness. The Mac just works. It always fires up. It is highly responsive to my needs which are Web, Terminal (server admin), and general office applications.
The Windows laptop, on the other hand, left me with little confidence from day to day. Most days it would operate fine, then one day it would blue screen or simply become unresponsive requiring a physical restart. Certainly all kinds of tweaks were done over time to fix one thing or another related to some application setting somewhere deep in the registry.
I've not tried Windows 10, but then it has no particular 10x value for me either.
Note that the 2009 MBP was upgraded in 2012 to an SSD. It is still a crispy fast system that beat the pants off of newer Dell laptops.
Just my $0.02.
In 2005, I bought a quad-core Opteron workstation with 16 GiB RAM. That Apple wouldn't offer anything substantially more powerful in a laptop form factor a dozen years later boggles the mind. Granted, my use case may be atypical (lots of jemalloc portability development/testing), but between the anemic hardware options and the de-emphasis of developer products, I'm sufficiently disenfranchised at this point that even after working at Apple on the operating system (~10.1-10.4 range) and then using it ever since, I'm not personally interested anymore in what Apple does next.
The best part though...I can open up the bottom and replace parts anytime I want.
Need to switch to an Android phone next because iTunes doesn't play nice on Linux.
But here in Colombia, a good Apple machine cost DAMM TOO MUCH (ten months of 2x * basic income for a entry level Mac Pro), and each iteration is a bit worse than the previous.
I'm holding on my iMac, but most likely I will build a hackintosh.
OS X has been my primary productivity OS for more than ten years now, but I'm in the process of switching. I'll keep using my 2012 MBP until it physically falls apart, but make no mistake: this will be my last MacBook. Not sure what I'll replace it with when the time comes, performant laptops with a long battery life and 2TB+ storage are amazingly hard to come by these days.
My iPhone has a broken screen that can't be fixed without permanently losing the finger print scanner, so that's going to be my last iPhone as well.
On the desktop side, I'm using an iMac/PC dual setup (with Synergy), so I'm still dragging my heels a bit because honestly it hurts to let OS X go. Windows and I will never be friends, but there is no question that the PC platform is going to be the future for me.
To be clear, switching sucks royally for me, but staying would suck more. macOS hasn't deteriorated to the point where I want to leave it behind yet, although the writing is on the wall. But Apple's hardware philosophy and practice makes it so I'd really hate giving them even more money for yet another even more hilariously overpriced, closed-down, underperforming, outdated, unrepairable, not-upgradeable appliance that they think is going to be the future of computing.
I had a macbook air 13 from my company and would probably have kept it to this date. Since my company took it back I am using some 13' toshiba with i3 and 4gb of ram running ubuntu.. haven't seen the need to upgrade.
I have negative interest in the touch bar or that awful keyboard.
I've been using both Mac and Windows OSes since the last millennium, so I'm not precious about either one. But I do personally prefer explorer over finder in most aspects.
Visual Studio is a beast, and it's absolutely ridiculous that MS now give away so many features for free in the community version.
I had no expectations for the type cover keyboard, but it turns out it is fantastically comfortable and productive.
I have no plans to get a new Mac, but my 2014 MBP is still proving useful to do remote iOS builds from Xamarin. I'll probably keep it around just for that but if I never have to open Xcode again it will be too soon.
My SO has a XPS 13 and while the build is much better than any Windows laptop I've seen, I don't think it's worth switching.
Really my decision is between the smaller 12 inch vs the 13 inch.
I just reclaimed my 2009 MBP after upgrading my wife's MBP. I'd never notice it wasn't current If it wasn't for running a little hot and the non-retina screen.
After Windows 10 got Ubuntu, there was no looking back.
I am still thinking about replacing my iPad Air for an iPad Pro, though. I love a small tablet I can write on, too.
It's not the worst thing in the world but it just seems unnecessary when running the OS we target is just as simple.
Then I also used to have a xps13 with Ubuntu. Great machine.
I've recently switched to a T460s with 20gb ram, 1tb SSD and i7. Comes with all the ports you need and want. It's light and fast. Used to run Ubuntu for a while full time. Recently switched to windows 10 and the WSL is a game changer. Reminds me of the good old Mac days.
I still need to commit to a decision, but I'm eyeing the XSP13 lustfully now.
I'm now back on a 2016 15" TB MBP and happy to be "home" on macOS.
There's really nothing wrong with this machine. It might not be the giant leap forward from the 2015 model that people hoped for, but it's a perfectly fine machine to get work done with.
Touchbar is great, don't know why people are complaining.