To my mind, it's not a huge market, but purists definitely exist. Do they justify the cost? It seems worth analyzing, but it's definitely a big cost if you want to stay cross-platform but use native tools.
Much as I would like to give Gruber credit for asking about the developer relationship with the App Store at the top of the interview, the question really felt like a softball. I know he's got a relationship to preserve, but Hey is one hell of an elephant in the room to let pass without a follow-up question.
As an Iowan who has had the dubious pleasure of having used Shadow's software, I would like a lot of scrutiny directed at both Shadow and their software.
I worked as a Precinct Captain for one of the Caucuses in Iowa last night, and I didn't personally have any issues. But I heard from colleagues who definitely did. Also, yesterday we got an email with a 7-page google doc instructing us on how to reset the browser caches on our phones to avoid issues with data carry-over from the Mock Caucuses that we had been holding.
It's entirely possible that my ability to follow directions and my status as Not-an-Octegenarian-Caucus-Volunteer is all that kept me out of trouble.
As a software guy, all I can say for sure is that I'm overwhelmingly grateful that we kept paper backups so we don't have to rely on this software.
All software involved in the voting process should (1) not exist except for tallying and communication purposes (no electronic voter records) and (2) be open sourced and verified by known third parties.
Four days ago when the register dug into this they were refused access to test the app[1], they were not given mockups or any information about the UI[1], they weren't told who developed the app[1], they weren't told how the contract was given out to develop the app[1], they weren't told why the app was thought to be necessary[1], and they were told the app was verified by a third party testing firm but that who that was couldn't be disclosed[1].
Iowa moving forward with this app was extremely ill-advised and I'm actually rather sad that the register didn't raise more hell on receiving all these red flags.
It's entirely possible that my ability to follow directions and my status as Not-an-Octegenarian-Caucus-Volunteer is all that kept me out of trouble.
This is most likely the case. This is very much an issue in my day to day with applications like SAP CRM, some people get it, some people learn it, some never get it.
By way of talking my own book, I would note that the experience of having a big-screen tv, surround sound, and your PS4 on the plane is nothing to sneeze at.
As someone who puts in-flight entertainment systems in private jets, the only common thing I've seen in the ownership groups is an ability to afford the price tag. There are definitely a lot of buyers who are getting into this for time gains, but there are also buyers who are simply interested in privacy, luxury, or some peace and quiet. I ended up having to troubleshoot an in-flight issue on a ~$60 million private jet and the investment in sound-proofing insulation is totally worth it.
Large defense contracts tend to span large numbers of Congressional Districts in order to enable the sort of economic protectionism that keeps the F-35 and JTRS funded to the tune of billions of dollars, in spite of cost overruns and schedule deficiencies.
I would be shocked if this lead to significant site consolidation due to the backlash that this would cause from Congress. If anything, this will enable Raytheon (the company with more defense content) to use United Technologies facilities to create a larger network of appreciative Congressmen for large projects.
Within the financial services industry, there are significant monetary incentives for whistleblowers to come forward with evidence of malfeasance. The SEC offers something like 0.5% of recovered funds, which can amount to millions of dollars... which is important because even with the protections afforded by Dodd-Frank, it's a very real possibility that you won't work in the finance industry again.
By contrast, while it might not be a permanent career-ending event for an engineer to blow the whistle at an engineering company, it holds the significant risk of ending the engineer's career at that company. Not to mention lawsuits and the cost of finding a new job. Most every engineer I know wants to do the right thing... but those are powerful headwinds. So on the mere suspicion of misfeasance or malfeasance, the prospect of losing a job and being embroiled in a lawsuit serves as a powerful deterrent.
People will point out (correctly) that adding financial incentives will inevitably lead to a combination of malicious compliance and misreporting, so there's a line that has to be drawn. Also, protections in private sector are either toothless or come with expensive oversight, but it's clear that if the government wants more whistleblowing from the ranks of normal engineers (and that's a big 'if'), they probably need to do something more to cause it to happen besides just keep asking.
It actually ranges from 10 percent to 30 percent of the money collected when the monetary sanctions exceed $1 million [0]. In the linked case, 2 whistle blowers shared a 50 million dollar reward. Now that is an incentive.
Being a whistleblower is astonishingly destructive to your career in many ways. Even if there wasn't the issue of getting blackballed, the psychological trauma of it is immense.
The only way you can create the psychological safety that makes it possible is to make sure the whistleblower gets paid enough that they aren't going to need to to work again. If they've got that security, they might be able to work again.
Work in financial services, know people who were whistleblowers (2008 GFC), all entirely accurate. Your career is effectively over after you become a whistleblower, so the reward must be very high.
Agree completely. Companies will do whatever it takes to drive sales and revenue and stock price. Employees don't want to raise their hand and get fired as they have families to support. A true whistleblower program with WITSEC level provisions for protection and monetary support would help cut this down. Once it happens once or twice companies are very disincentivized to continue down this road.
This is the point of having Professional Engineers and a very strict deontological code; it tips the incentive scale towards doing the right thing.
When asked to do something unethical, the P.E. has a choice: they can refuse, in which case they might lose their job; or they can comply, in which case they might lose their license altogether (and thus their job).
While I like the idea of something that helps software engineers to make the right decision due to simply self preservation (so we'll reach even the most self centered software engineer), I don't think Professional Engineering licenses are going to be able to help.
If you're designing a bridge, this is pretty obvious work and it's pretty isolated. What I mean by that is that A) you're not going to go off and design bridges in secret and then sell those designs to someone who will build it in secret such that the public will later make use of the bridge. At some point someone in the government is going to ask why there's a new bridge over that river. And B) there isn't a huge world wide market for bridges that has near infinite sub niches in nearly every market imaginable.
So having a professional engineer license for bridges makes sense because if the license is lost, then it really does mean the end of your career.
Software is often an engineering artifact, but it's also like mathematics. And it's also like literature. You might be able to stop someone from selling their services directly, but you can't stop them from writing code altogether without forming a terrifying oppressive distopia.
So the Professional Software Engineer might not care about losing the license because they can still sell their skills to companies on the other side of the world where there is no regulation. Or they can create their own product that contains software and sell that product. Or they can publish their software on github and somehow make enough from tips that they don't need another job. Or they can get a job that doesn't require software development but can be highly augmented by it. Or they can make websites technologically unsophisticated users.
Losing the license doesn't mean that their career is over. It is only a slight annoyance. There's always going to be enough software engineers that aren't afraid of losing a license that the ones that are afraid won't prevent anything problematic from happening.
I write software that controls hydro electric power plants including spillways and sluice gates and complying with environmental license etc. nobody has ever asked to look at the control system programs which take me the better part of a year to complete, starting from a library of about 50 different completed power plant control systems, so I am generally not doing much creative work just adapting and re-use of existing components and design patterns.
There are 10,000 virtual wires in the PLC that nobody cares about excepT for me and my coworkers in the same role, but the 30-40 physical relays and 1000 physical conductors in the power plant represented on schematics are reviewed by the customer and stamped by a Professional Engineer, because everyone understands they are expensive to change later.
Customers don't want to pay the additional cost to have their software stamped. They don't want to be told I can't fix that mechanical or civil design flaw in software because I don't want to open myself up to be liable for trying to help the customer get or keep their plant running despite some problems wiTh equipment supplied by others. People have this idea that software is easy to change. We can fix that later! Why decide now? It is a battle to arrive at the plant wiTh a complete, tested, documented control system, commission it and then shut the door and walk away. I have to be a really insistent about getting the information require to really complete my deliverables and then be very particular when other people's designs don't match what they delivered or work as intended. It is counter to my nature of wanting to solve problems instead of creating them or passing the buck, but that is what is required.
Do you feel like this is changing? In a different comment I noted how controls engineering is a more recent PE discipline and my (maybe optimistic) hope is that this is part of a larger trend to add rigor to the field.
Sometimes I feel like this is cave drawings compared to other more mature fields. But maybe that's what boilermakers felt like 150 years ago.
As an aside, how does one get into a field like yours?
controls engineering still mostly deals with the physics of the process and not how the software is implemented.
It is probably different on larger projects or when working for public utilities. All of the ones I have worked on are less than 50MW and are owned by corporations.
I think a lot of the automation field is learned on the job. you can take a PLC programming course but all you learn is the specifics of how to program that platform. It doesn't tell you what to program. That depends on the process you are controlling. I got in to hydro by working for a utility that owned a power plant as a student and then when looking for work after university sought out any opportunities for someone who liked programming and power plants. There are lots, but the catch is having the experience to get the job. I got in the door of a power plant by helping to program their datalogging and alerting system and then learned how to program the machines from a consultant who graciously provided me the on the job training and an owner who was willing to let me make mistakes.
Imagine you replaced "software" with "civil" and everything you said remains true. I can design bridges in my home but I can't sell my services legally. Will someone buy one of my bridge designs and impelement it, especially in another country? Possibly! But that doesn't make me a civil engineer, and no engineering firm would hire me. Also, it is probably cheaper and easier for people in other countries to hire a local engineer than to use my services anyway.
Your base assumption that other countries than <your country> would not have regulation might be true at first, but probably not for long, and something is better than nothing.
I agree that people cannot be banned from writing software outright, but I think it is reasonable that in many situations it is reasonable that a company or agency is held to a standard that they only deploy software that has been produced through some set of engineering practices, similar to GAAP.
> Imagine you replaced "software" with "civil" and everything you said remains true.
This is false. Bridges are large and have failure cases that managers and government officials understand.
Software is invisible and has failure cases that are completely incomprehensible.
Hiring a bridge designer from another country who is really keen on avoiding the background check will raise some eyebrows.
Hiring a nearly anonymous software engineer from who knows where is business as usual for many large companies.
Bridges have pretty limited use cases. There really isn't that many places to hide if your banned.
Software is in everything. Software is used by everyone. Right now it's big enough that people can make it through an entire career without actually knowing how to program (just make sure you move jobs every few years). It's only going to get bigger. Losing a license just means that it's time to job hop again. Maybe shift gears and become a process consultant. Losing a license in software is not a deterrent.
> something is better than nothing
We have a lot techniques to evaluate what a good way is to build a bridge. Right now with software the best thing we have is code smells. It just smells bad to me. We have no ability to objectively encode what makes code good or bad. We just "know it when we see it". Something can most definitely be MUCH worse than nothing.
> This is false. Bridges are large and have failure cases that managers and government officials understand.
They only think they understand.
> Software is invisible and has failure cases that are completely incomprehensible.
Which are becoming increasingly comprehensible with better tooling and data collection.
> Hiring a bridge designer from another country who is really keen on avoiding the background check will raise some eyebrows.
It does in software too; at least with serious companies.
> Hiring a nearly anonymous software engineer from who knows where is business as usual for many large companies.
These typically come through staffing companies because most large companies are awful at hiring technical talent. They have a long-term relationship with the staffing company and expect the staffing company to ensure the competency of the workers. I actually think licensing software developers would put an end to this; as it would give HR departments a relatively high-fidelity signal to sort the professionals from the hobbyists (by far the hardest thing for a non-technical person to do in hiring developers IMO).
> Maybe shift gears and become a process consultant. Losing a license in software is not a deterrent.
"Processes" are rapidly converging into off-the-shelf SaaS products, and the industry is actually starting to slow down quite a bit. Trust me, the Big 4 and similar management consulting firms are in for a world of hurt over the next 5 years as AWS, GCP and Azure start to hone in on the ERP systems and reference process space. Companies today would rather spend $1M and 2 months to implement a non-customized, off-the-shelf solution that can be maintained by cheap offshore resources than spend $30M and 2 years to build something custom that requires a dedicated support and maintenance team. Maybe there's some vendor selection and strategy up front, but all those companies that used to do process consulting just become system integrators (for guess what -- software!)
We have one big thing that shows the code has quality or lacks it. Number and severity of defects. You can normalize it by dividing over number of features supplied.
This data is generally fudged and hidden though by management in closed software products as well as being mislabeled.
And finally, users are not informed on how to report software issues and trained to normalize deviance - ignore problems and apply workaround.
> Also: You will not get agreement on what the GAAP practices of software are. This industry isn't that mature.
Hear, hear.
This point cannot be overstated enough. People have been building bridges for thousands of years. Software Engineering has only really been a thing for a few dozen years. We do not know what we're doing yet and it's going to be a very long time before we do.
Different domains almost definitely need different guidelines. Different ways of thinking might even need different guidelines. Anything we try to enforce now will be seen as embarrassingly dangerous in the future on the order of using radium for wrist watches.
> People have been building bridges for thousands of years. Software Engineering has only really been a thing for a few dozen years.
Also, the cost of building a bridge is many orders of magnitude higher than the cost of designing it. The cost of producing software, by contrast, is almost entirely the cost of designing it. This matters. Legal regimes that don't respect the laws of economics (which are, after all, just corollaries of the laws of physics) are bound to fail.
So... if I buy the land I need, can I just build a bridge over a river or do I need some kind of special permit? (Small streams are obviously ok since that is done a lot.)
If your government respects personal property you can generally do what you want on your own land without permits as long as you don't make a business out of it.
Bridges are not the only things Professional Engineers are involved with. Aviation manufacturers, who often do exactly the kinds of things you describe, have Designated Engineering Representatives (weirdly, not required to be a PE) who is responsible for signing off on the airworthiness of equipment.
Mike: "Hey, boss. I think this stuff we're doing might be dangerous. I could even lose my license over it."
Boss: "You know Mike, I think you might be right. We'll get Ken and Joe to take a look at it and see if they can't figure out a way to make it safe. After all, they saved the day with the last big project."
Ken and Joe proceed to hack something together that's super dangerous. Mike is isolated such that he won't notice what's actually going on with his previous project and then never given another raise again.
For bonus points make sure to put your engineers on projects that you don't mind cancelling and then asking them to do something dangerous. Isolate the ones that seem nervous or raise objection and give bonuses to the ones that are fine with being reckless.
Don't forget the last step: Delete all possible documentary evidence that you've willfully done this. Otherwise you're (probably) gonna have a bad time (eventually).
Don't delete it. That only makes you look super guilty. And can get you in legal trouble if you start deleting after the trial begins.
The evidence shows that you cancel projects that Mike tells you are unsafe. And the record shows that Ken and Joe have a history of saving the day. "I had no idea that Ken and Joe were cutting corners. I'm not a software person, so I rely on my experts to tell me when things are unsafe. It's all Ken and Joe's fault."
That, in turn, requires licensure to be a condition of employment, which is tricky because a) an engineer needs to be employed for a minimum period of time before they can get licensed in the first place and b) the industrial exemption means that most engineers don't actually need a license, and indeed most don't have one (at least in the US).
Not really. In settings where a PE is required any asshole can work on the project so ling as they're under the supervision of a PE who ultimately signs off on the whole thing. I imagine medicine (residency?) and law work similarly.
Yeah, it's very different here in Québec. Some acts are "reserved" acts that only licensed engineers can perform. It actually falls under the same set of laws as doctors, nurses, lawyers, etc. which we call "Code des professions".
The engineering law is very outdated, though (last modified in the 80s), but we're working on it. Some proposals I've seen would require a P.E. for safety-sensitive code in the automotive and aerospace industries.
My father is a career EE at one of the larger engineer companies. I’ve never even heard of him or any other EE, ME, or SE for that matter having a license.
The only time I heard of engineering licenses was that one Engineer in Oregon who fought a city and got fined for calling himself an engineer.[1]
I'm a EE/SE with a license. There are tens of us!
Kidding aside, your father and his coworkers are working under an exemption, and they are probably unaware of it.
I tried to look where I live but it didn’t have anything for Georgia. Most of the PE stuff was about land surveyors. I know Civil and Structural Engineers with all sorts of licenses and accreditations.
I've never worked with or met SEs (in fact, it looks like the SE PE test was discontinued) with a PE but most states have plenty of MEs (think HVAC design) and EEs (think switchyard or power station design). To your point, yes, it's mostly construction because this field is the one that generally requires PE stamping of documents. As stated in a previous comment, other engineers typically work under what's called an industrial exemption, although there's been some states phasing out these exemptions (https://www.nspe.org/sites/default/files/resources/pdfs/Lead...). If there is an exemption in place, you can typically work as an engineer without a license or without working under somebody with a license. The exact exemption clauses are specific to each individual state's licensing board.
"Every state
exempts from licensure engineers whose practices fit within one or more of five
categories: (1) engineers working under the supervision of a licensed engineer
who takes responsibility for the unlicensed engineer’s work; (2) engineers
employed by public utilities; (3) engineers employed by the federal government;
(4) engineers employed by a state government; and (5) “in-house” engineers
employed by a manufacturing or other business firm (known as the “industrial
exemption”)." [0]
Many states don't differentiate the title of PE based on discipline (although you test with a specialty). If you search in the sos website, you'll notice all are just listed as a "Professional Engineer" license. It's up to the licensee to use professional judgement on whether they are capable of signing off on a specific system (e.g., while a ME may be legally allowed to sign off on an electrical design, they should know better than to do so)
There was recently the John Oliver show about death penalty, where physicists couldn’t cooperate in death penalty settings as it was against their pledge.
The result was not that nothing was done, but instead medical substances are used by non medical staff, doing unethical operations.
I think the same basically happens in the software industry: some of us have a pledge, but it just means little to nothing as anyone can replace us on the iffy parts, and we still build libraries that benefit any use.
It also reminds me of the “don’t use for evil” bit in the json license, where IBM kindly requested a special license to do whatever it wants with it.
Does software have the equivalent consensus standards like other engineering disciplines? Or more importantly, are they as readily adopted? It seems like there's a cultural problem with software development that would be an impediment to having a licensed approach.
I know there's lots of IEEE standards that cover good practices, but they don't seem to be as adhered to as, say, ASME codes in the oil/gas industry.
Maybe there's a slow change already happening. I know controls engineer licenses have become more common and NCEES now offers a software curriculum.
In a sense, yes. It's a choice between losing your job or your whole career.
However, because losing your whole career is such a horrifying prospect, companies are going to have a very hard time finding an engineer willing to break the rules. When you need an engineer to sign off on something, but no one is willing to, you might re-evaluate your stance.
It's the same as trying to find a lawyer willing to break the law, in a sense. As an engineer, you're beholden to the public first, and your employer second.
> ... which is important because even with the protections afforded by Dodd-Frank, it's a very real possibility that you won't work in the finance industry again.
If nobody will hire a whistleblower, that leads me to believe everyone has skeletons to hide.
1. The whistleblower are always right and the company is always wrong. I've seen it go both ways. On an engineering project, a junior engineer misinterprets something, and then starts sending upset, angry emails with odd allegation. If there is any litigation about anything later, if those emails come up in discovery, you've got a multimillion dollar problem.
2. The company won't retaliate otherwise. In whistleblowing instances I've seen, the company engages in a smear campaign on the engineer. Having a billion dollar corporation hire a PI to investigate you, and then spread rumours about you to the media can kill a career. Is Julian Assange a sexual predator? Or was he set up? No one knows.
> that leads me to believe everyone has skeletons to hide.
I for one, am willing to go with this. But I will add that managers (in lots of industries) take exceptional delight in messing with their employees. I'm not sure why, other than a lust for arbitrary power, but it's there. Some aerospace companies are legendary for making engineers work over holidays, and/or on Saturdays, for example. I worked in a smaller company where the owner felt he had a right to dictate how his employees should vote. In 1995.
Control issues may be more prevalent than skeletons.
He wasn't able to enforce what he felt his right to dictate our vote. He loudly (over the intercom!) proclaimed such a right, as an employer. I believe he was scolded by the company comptroller that afternoon.
You realize that another synonym of "secret ballot" is "Australian Ballot"? US voting was apparently mostly public on to the mid 1800s. Now that we're all Originalists, I hope we're going to re-think this whole Foreign Imposition of secrecy on The Framer's desire to have accountable voting.
You're under no obligation to show your vote to anyone. Voting by mail only keeps records that you voted - not who you voted for - and that information is certainly not shared with your boss.
All voting booths I've seen had a curtain for privacy.
> If nobody will hire a whistleblower, that leads me to believe everyone has skeletons to hide.
In German language, there actually exists no native word for "whistleblower" (one uses the English word). The German word is "Denunziant" (denunciator - I don't know whether the English word has the same negative connotation as the German one).
With the experience with the state security service (Stasi) of the GDR, people really well-understand why they don't want a denunciator in their company even if the respective person does not plan to denounce, since if there exists a potential denunciator at the workplace, everybody has to live in potential fear.
The statement is misused. It was applied to private citizens (private <--> privacy) while companies are working for the public good (hence the accountability, regulations, taxation...).
No it's not. A whistle-blower is someone who's been proven to go out of their way to be a government informant. Why would you knowingly give them access even if you think you're doing everything right? It's all downside and no upside. The original comment is using the exact same logic as "if you have nothing to hide you have nothing to fear". It's just that we don't care because corporate citizens do not get the same rights as actual human citizens.
I mostly agree with you (I upvoted you), but I want to push back on two things.
1. "Why would you knowingly give them access even if you think you're doing everything right?"
Depending on the circumstances, maybe I respect their integrity and character for risking their livelihood and more to expose wrongdoing?
2. "It's just that we don't care because corporate citizens do not get the same rights as actual human citizens."
They shouldn't get the same rights. They only exist to be liability shields. Unlike the people they are composed of, nothing about them deserves empathy or fundamental rights---we grant them certain rights as a matter of public policy, not principle, because it makes our economic system work, and if that were ever to change, their rights should be changed or abolished accordingly.
There's clear right and wrong, and then there are grey areas open to interpretation. There are ALWAYS grey areas. Who wants to get involved in litigating those?
For example, consider your taxes. Tax laws are always open to interpretation. You might believe you are doing everything correctly on your taxes, that the way you read the rules was correct. But would you still be undergoing a lot of stress if the IRS decided to do a compliance audit on you?
> If a company is breaking laws, they should be punished. Right?
What about that professor who pointed out that on average, most people commit 3 felonies a day? It's all a matter of what the authorities decide to prosecute.
Did you come to a full and complete stop the last time you encountered a stop sign?
I think you can make a good argument that limited liability corporations should serve the public good in return for the stockholders being shielded from financial and criminal liability. Stands to reason then that government has a right to demand something in return.
> If nobody will hire a whistleblower, that leads me to believe everyone has skeletons to hide.
Would you have second thoughts about marrying someone who went through an ugly divorce? Sure, the person says the ex-spouse was the bad one. Do you accept that unquestioningly?
Even if you're not responsible for something that would need to be reported, how certain can you be that none of your bosses or underlings are? Pretty safe to assume the worst.
That's incredibly dystopian. Sure, some people will end up breaking the law without others noticing but you make it sound like it's incredibly common. I don't think that's actually the case.
There's also the issue of a disgruntled engineer wanting to lash back at the company, and so exaggerating/misrepresenting issues. Whistleblowing isn't always employee=good / company=bad. Sometimes it's the other way.
I'm inclined to believe that most people want to do the right thing, but, right now, in some fields, I'm not seeing much evidence.
In "tech", most of the noise we're hearing within the field about responsibility seems to be coming from two directions: (1) some of the most abusive/dangerous companies, looking to manage PR and give the appearance of self-regulation; and (2) people seeing this as an opportunity for their own careers as intellectual, "thought leader", or PR cover, seemingly more interested in career than mission.
What we're not hearing is many "tech" employees avoiding and fleeing the companies that are well-known to be irresponsible, sometimes arguably criminally so. Each of our mental lists of the least-responsible "tech" companies might differ, but some I'd suspect would be on most people's lists are flocked to by new grads every year. Did their colleges and general awareness of industry not clue them in, do they have no other employment options, or is responsibility not a factor in career and "total comp"?
Even those of us who don't go to what we think are the worst companies, perhaps the majority of us knowingly employ practices that a modest amount of forward thinking should suggest is irresponsible (e.g., grabbing users' data without informed consent, leaking every Web site visitor's detailed behavior to various third parties in the business of profiling, etc.). Before these practices became normalized, "tech" people could've (and often did) tell you that this sort of thing was a bad idea, and actively fought against some of them. Organizations like the EFF, CPSR, and EPIC (and efforts like PGN's Risks) started for a reason, and there was demand for that among the much smaller "tech" world. Now things we'd already foreseen as bad are normalized, and if you point it out, there's usually silence, derision, or what might as well be quoting of Ayn Rand.
Mike Monteiro has a series of very opinionated (and highly-entertaining) presentations on this phenomenon, coming from the perspective of a designer. If what neilv is saying resonates with you, you owe it to yourself to check out the Designer Code of Ethics: https://deardesignstudent.com/a-designers-code-of-ethics-f4a...
That Monteiro piece seems to come from a good place, and start with the right broad idea.
However, for general audiences, two examples it picks (guns and trans rights) are some of the most controversial in the US right now (where they're famously used as political wedges, to divide and carve out support, in an attempt to grab and retain power), and perhaps also controversial among US "tech" people. Though perhaps less controversial among the designers who were the intended audience.
The piece then veers into a kind of guild-like professional solidarity, which I suppose might be relevant to the profession supporting individuals taking responsibility (e.g., no race-to-the-bottom, no infighting).
And that's often one of the biggest considerations you should make when switching jobs. Your current coworkers will be by far your best job connections in he future, so do them well by leaving gracefully.
I have loved working with certain people, that didn't protect them from being laid off by higher ups.
What you're both saying isn't mutually exclusive. Your job isn't going to love you back - if a bunch of people get laid off and you're in that bunch, tough luck.
But on the other hand, yes, you should do your best to be the kind of person your colleagues are excited to interact with.
Feel free to not care for my comment. It comes from 15 years of work experience. I find that it holds true. Your mileage may vary. A job is a transaction; no more, no less. Treat it as such.
Or self-fulfilling prophecy ? Sarcasm apart, mileage really does vary a lot and it depends on personality, colleagues, the industry, the company or the clients and other factors I can't think of. But these have to be considered nonetheless to sail the seas of work.
I like your phrasing: "it's not going to love you back".
I have never worked at a place that acted like it didn't care about me as an individual. Of course, I've always worked at smaller orgs too. I've never worked somewhere over 200 people or so.
Obviously going out of his way to implement in a secure way as a software practitioner. I would love to see a review of the design and implementation from the standpoint of a security expert.
100% agree. I feel that a lot of the commentary on this (mine included) has left out the fact that Smile is a classy company owned by a classy bunch of developers that have always done well by the community. They sponsor podcasts, they provide top-notch Mac/iOS apps, and they do excellent customer service. If they've changed their cost structure to $50/yr/customer, it doesn't reflect well on the App Store's monetization model.
TextExpander has always been straddling the markets of "casual consumer with $20 to spend on an app that reduces pain" and "professional customer willing to spend $199 to reduce major time costs." It looks like they've decided to focus on their professional customers... I hope that this works out well for them.
As someone who doesn't need $5/month of TextExpander services, this also leaves me in the market for a new solution.
Just to chip in as another very happy user of Keyboard Maestro here - I have been using it for text expansion as well as more general macros and it has made switching to a Mac full time a pleasure. Combined with Alfred it takes 'power user' to another level.
I use it for as much friviolous stuff as serious things (http://i.imgur.com/YgE82eP.png) - having never used TextExpander, I've not had any problems with the text replacements. It's possible to open dialogs and very quickly make UIs too for more involved stuff.
Does Keyboard Maestro support text fields where it prompts you for input before sending the completion? For instance, TextExpander and aText let you write something like:
:foo expands to
Dear [name], thank you for buying our stuff. We like you, [name]!
Then, when you type ":foo", it prompts you for "name" and fills out the template with "name" inserted everywhere it's mentioned. This is enormously useful for form letter types of things, or even more esoteric uses like expanding HTML tags ("<[tag]>[content]</[tag]>").
There are a number of ways to do this. Native to Keyboard Maestro are:
Prompt For User Input [1] is the easiest method and allows you to build a form fully within the KM's GUI.
Custom HTML Prompt [2] lets you make a full HTML/CSS/JS form. I have never had need of this, but in principle you can leverage any web browser tools such as jQuery and Bootstrap to make a complex form.
Check out the KM forums for examples. KM also allows you to fully integrate AppleScript and shell scripts, so you could do all sorts of other crazy workflows.
Keyboard Maestro macros consist of a trigger and an action. In the above example, I used the Typed String trigger to detect when "hhi" is typed then execute an action to create a prompt and paste the text with content from that prompt.
Likewise, and it imports TextExpander macros (although you still have to tweak them if you use things like fields).
I have no affiliation with the aText guy except as a happy customer. I've been recommending it to my friends as a migration path off TextExpander because it works for me, but it may not work for you. It has a free time-limited demo, though, so it's easy enough to find out.
Reluctantly, I will be looking too. We use linux at work and I have been using https://github.com/autokey/autokey there, but it is a little abandoned. I have to restart it with a cron job every 10 minutes, but it is fine otherwise.