Adding sockets for, say, the 3 newest logs they get in real time. Or if they have anything that maps to a graph/app-overview just make sure that will always update in real time. It's not a huge time investment for me. Customers usually never request it specifically. But I've found they are blown away when they see how everything is updated in real time. It just makes the whole thing feel 'alive'.
Another thing which I don't personally love, but I do because I understand industries have differences is just exporting whatever can be exported into .csv files or .xls files where applicable.
All in all, I work in consulting. The code I write is meant to make the life of people easier, I want to make sure they get that when possible. A big part of why I'm able to do this is that I have a lot of creative freedom to do whatever I want so long as I'm getting stuff shipped. So huzzah for comprehensive management as well!
Yes, my employer's customers like their CSV imports too. If you're looking at a big data entry feature and they ask you how the interface works and you say "you give it a CSV file with these columns", they're happy.
Yet, most of the time customers insist on XLS export, and we are happy if they at least acccept XLSX instead.
I suspect you're thinking of something like "CSV as outputted by Excel with the default settings", which may be clean and unambiguous, but is far from the only CSV in the world.
For that reason (and I'm just saying this generally, not targeted at the comment I'm replying to), always use the most mature CSV output library you can find for your stack. Never write your own CSV export code by bashing strings together unless you have no other choice because you're working in some stack that doesn't have or can't use existing CSV libraries.
(You can ignore the RFC for CSV too; it's not "wrong", it's just one particular flavor that was declared long after the horses had left the barn, learned to form a horse civilization, discovered the atom bomb and bombed themselves back to being plain horses again. It barely rises to the level of being "advisory" in practice.)
EDIT: I will add that EXPORTING to XLS/X is usually quite straightforward and makes users happier than getting a CSV often times. Until they start wanting to get crazy with template design and then you get into Excel styling application and you're back to hating it all over again.
Excel encodes dates and times as floating point numbers. The date / time-ness of a cell is encoded in its format. Some of the formats are hard-coded, some float depending on locale, and some use explicit format-pictures embedded in the styles.
But of course there's no guarantee that the user has formatted a cell with a date as a date. Sometimes the user has pasted a US-format date into a copy of Excel running in a UK locale, so dates that fit have day and month swapped, while dates that don't fit show up as strings. This is non-trivial to handle in the general case. I've had to add customer-specific workarounds for this case in particular.
You'd think when Microsoft came up with their new shiny file formats they'd actually make them new and shiny and good.
[NB I have no connection with Aspose, just been a happy customer for many years].
The worst thing Microsoft ever did to Excel was even translating the formula functions in different languages. So SUM() isn't actually called SUM() in half of Europe...
Working on an in-house application, this has been one of the most common types of requests. "Can we add this field here to the CSV export?" It's a three-minute task for me, but a huge time-saver for the manager of the team using the application and thus highly appreciated.
Personally, I do love whenever applications allow to export data and lack of such feature is IMO strong negative.
By the way, I've had lots of success with chart downloading by simply copying the svg element into a request to an svg to png converter.
I'm curious how you got your first few "gigs". What should the sales process actually look like? Did you cold call, or did you have enough established relationships first? How do you typically agree on a contract, has the customer come to you with needs, or did you ask them for problems first and propose some solutions, and they agreed to them?
It works over regular HTTP and has a built in method to tell the server the last seen message (i.e. to allow replaying old messages), and exposes the event type (i.e. the event: field in the event block sent from the server) for use with addEventListener in the browser.
It's supported by all non-MS browsers, and because it works over regular HTTP, it can be polyfilled in IE/Edge using long polling XHR.
/Applications/LibreOffice.app/Contents/MacOS/soffice --headless --convert-to xlsx file.csv
A resource hog, though - had to close it off into its own container, lest it gobble up all available RAM.
One nice feature with openpyxl is that it can work together with excel template files. So I can create a template in excel with whatever looks and features I want and then use openpyxl to populate those templates with data.
are you talking about websockets for web apps? It's not always easy to implement and it requires some extra libraries and deployment setups. Is it really that easy to add for you as giving client extra candy in post order?
Most educational, and it has resulted in a number of improvements to our product line (subsea handling equipment - used for deployment and maintenance of subsea wellheads, submarine communication&power cables, &c, &c.)
They all expect you to ask what feature they like best; they're always baffled when you rather ask where we've screwed up - and more than happy to help! :)
This is very cheap and effective market research.
Set up a meeting with endusers in one of our training labs and tell them they can complain about whatever they want. Then walk them through a 15-minute set of steps for whatever change we're going to roll out.
Not only do you get great feedback on the product as a whole, they'll inevitably find ways to break your new thing within five minutes. Literally a few hours of two analysts' time and you might avoid dozens if not hundreds of man hours spent fixing things. It was beautiful. And just like you said... the customers are amazed that you want them to complain. They love it.
A few would be too freaked out by some manager-looking-type asking them any questions. Some would say the usual stuff that we knew but couldn't help. Some would point out a few small annoyances that we would try to improve. Rarely, one would tell you things that blew your mind, like holy shit why didn't we think of that? I kept going back to try to repeat that experience.
So, back in 1994, my dad and me started an ecommerce company (bikeworld.com) that sold bicycle parts online. It was an extension of his brick-and-mortar bicycle business and I took a couple of years leave from college to help him build it.
He did one thing early on that generated amazing word-of-mouth support: send a little treat in every order box. Our company was based in San Antonio, TX and Dad decided to include a little local flavor with each order to make us stand out from the few competitors we had back then (incumbent mail order outfits). At every good Mexican restaurant back home, they sell Mexican chewy candies at the cash register when you pay after your meal. My dad and I loved these things so he went to the manufacturer in town and bought a few cases of them. They were really expensive, like $0.50 each, and it became a big expense but the customers went nuts. Dad printed up a little card that he put in the bag with the candy, explaining the tradition and thanking them for their business. It worked well--we quickly became one of the largest online bicycle stores of the late 90s.
I love the flavor, but I don't like to eat a whole one... just for nostalgia..
I run The Human Utility (formerly the Detroit Water Project) and we help folks with their water bills. When they reach us, they're used to dealing with other social service agencies that aren't very responsive and don't do something as basic as ever calling them back. We do and we find that people are grateful even for that.
Edit: People are happy to hear from us regardless of whether we actually help with their bills. If we say we can't, at least they know to try elsewhere and can do so fairly quickly.
Something so simple, yet great for customers!
I did a few jobs where someone else controlled the billing, and kept us on a tight schedule. Every hour was billed. We were "fired" (AKA contract not renewed) every time. Yet when I went above and beyond, I had no problem getting and maintaining awesome clients.
As someone on the opposite side now (hiring freelancers), I've realized the thing I value most: the freelancer gives me less work, not more. It may seem obvious, but when I was on the other side, it wasn't. When I hire freelancers now, I value one overarching quality: to make my life easier. I don't care about price or hours (within reason), I care about not having to think about it.
Brilliant, thank you for your comment!
But then again, I only work with clients who appreciate feedback and don't think of me as a person turning coffee into code ;)
It may feel uncomfortable to say "no" or "that's a bad idea" to the person who's paying you, but in the long term it's better for the relationship. After all, they're paying you for your expertise, not to fulfill their every wish.
And I don't think the parent comment suggested to fake work and bill for work not done.
We should always be honest.
One could always reason about things. But to promise to investigate (and then deliver) looks (and is) professional.
But I will never say yes when a customer suggests to "encrypt dsta using the cipher md5". Yes it has happened. More than once.
Client: "Encrypt our data using the md5 cipher."
Consultant: "I will investigate the feasibility of this."
... two days pass ...
Consultant: "I have considered your proposal. I believe we should encrypt your data with SHA-256. md5 is insecure, here's several references. SHA-256 is much more secure and more popular. It is a NIST standard, and just as cheap."
Client: (probably) "OK, if it costs the same and is more secure, sounds good to us."
Don't assume your client is an idiot.
An easy illustration of this is someone with a runny nose asking you for a "Kleenex". You have tissues of another brand, so you tell them you don't have a Kleenex. This is being an asshole who hasn't done any Physics but watches too much Big Bang Theory and wants to be "like logical/analytic". That kind of stuff is only cool when Paul Dirac does it, whom the asshole knows nothing of. Of course we laugh because "nobody" would act like that..
"MD5" is "Kleenex". The runny nose is their concern for security. "Tissue" is "something to clean that runny nose.. or shine their shoes". They might want the tissue to do something else than clean their nose, because they have a handkerchief for that.. So our assumption they want to use it to clear their nose is wrong.
If their only options are "no password-hashing" and "that crypto thingy, what was it? DM5, MD5 or something?", choosing MD5 is actually a sane decision and request.
The underlying interest here is "security", communicated with a request for "MD5" (position) which makes them seem clueless to someone with a broader view and who must, in my opinion, recognize their request for what it is.
One could ask for the specific reason they chose MD5 and not something else? They may be unaware of other options, or give constraints they were trying to satisfy with that choice.
Someone who says the site must be in PHP might mean they want a "dynamic site". Someone who specifies "Bootstrap" might mean "responsive", etc.
We clear assumptions by asking questions, and noses by blowing them.
If it is confidentiality the customer need, provide good solutions to that. But check if confidentiality is really the thing needed. Quite probably, authentication and integrity protection is what is really needed. So AES in CTR mode might not be what the customer should want instead of MD5, but possibly AES-GCM, AES-CMAC or even a Ed25519 signature mechanism using public key.
Of course the performance would be silly compared to dedicated functions. ChaCha20 has less than a third the number of iterations compared to SHA-256. And each iteration is much faster.
I did flag it up as indicating that there might be something a bit fishy about the security audit if they made such an elementary error but I suspect the CEO (multi billion pound company) had already made the decision so what I thought was irrelevant :-)
And at this stage start to enquire what security the customer think their system/product/service needs and try to move forward from that point. And we usually also talk about MD5 and its brokenness. Than if a secure hash function is needed, there are several good ones to choose from. And if they really don't need a secure hash function, there are others, much faster hash functions to use.
The point is that sometimes things need to be handled directly and up front. This for me is one of those things.
There's a sentiment that, if you hire an expert, you should do what they tell you to do - why hire them in the first place if you don't trust them - and that's valid in some ways. Still, if an expert can't communicate to their clients why they think an approach is good or bad, it seems to me something's very wrong with the process.
Totally, but there are good and bad responses. I usually go with something like, "It seems we're not capturing or making some important information available, so can you describe the core problem that your suggestion solves so we can better understand how to implement it?" Usually a better solution arises from the ensuing back and forth.
Everyone solves problems by drawing on their domain of knowledge, and customers' knowledge is simply more limited than a software developers' when it comes to computing. The software developers' domain knowledge is much more limited when it comes to the customers' business though, so some humility on both sides is warranted.
It helps if clients think like Darwin:
"I have steadily endeavored to keep my mind free so as to give up any hypothesis, however much beloved, as soon as the facts are shown to be opposed to it."
Michelangelo feigned reworking the nose and some say sprinkled a handful of marble dust to make the trick credible, then asked Soderini if he liked it now. He said it looked better.
They are expressing a desire, a need or a want
Almost always you can dig down to their motivation and get a better idea of what they are _really_ after, even if the clients proposed "solution" is technically impossible.
Your tone says something about your situation.
It's pretty cool to get a handful of emails every day from actual customers who are very grateful for the work we do.
It also changed my opinion on the "canned CEO greeting". As someone who knows how those are built, they always struck me as annoying and disingenuous sales gimmicks, but our customers are significantly less tech savvy, and a huge number take the correspondence at face value and actually start a real conversation with the CEO.
Perhaps one solution is to use a clearly non-human company 'avatar' character specifically for some of these interactions? A robot or pet character?
I've seen way too many companies implement this where any replies are actually just sent into normal support channels.
Specifically, I have a skeleton requirements document that I put together from our previous correspondence (there's always a phone call, few emails, etc.) trying to flesh out their project needs. It doesn't matter if this is incomplete, inaccurate, or any other in-word. It shows that I'm a professional who has tried to understand the problem, the business case, possible solutions, will approach it methodically and like a real engineer, and that I know what I'm doing.
Those 10-15, printed, very real, pages, mostly just ?-marks, have written me more contracts than I can count. It takes about 1-2 hours of work to write things up, but I've never - not once -, had a potential client fail to notice and be impressed when I show up and have a presentable document already underway.
This is always as a solo? Or as a small engineering firm?
Apparently this is unusual. I can't imagine doing it any other way; I mean, who wants to deal with thousands of emails from customers who are owed account credits?
One question though, why don't you allow me to set up recurring billing? Eg. if credits go below 10€, charge 10€.
Tools like these also make it easy to create documentation that is a step-by-step walkthrough of each process.
There is also an entire class of tools designed to screenshot automatically to track work: http://alternativeto.net/software/timesnapper/
1) Keep emails short. I set a 200 word max on all emails. If you can't say what you need to say in 200 words, schedule a meeting to discuss. If you have to send long documents, send a 2-3 sentence summary. Tell them what you're going to tell them, tell them, tell them what you told them... in 200 words. (=
2) Keep detailed time records and make them available to the client on-demand. They paid for it, might as well show them what they are getting. Be honest... if your team wasted 4 hours trying to make sense of a BS email from the client... make sure they understand that.
3) Being on time and inclusive; inviting them to daily standup meetings with the team, and posting notes from those standup meetings in case they (or anyone else) can't be there. Easy with a Google Sheet to just type a few notes each day during standup. I don't have any tools for the team that the client can't access, or hasn't been given a rundown on how we utilize it.
Almost always I find money being drained away. There was the time when a company targeting Python developers was losing its AdWords budget on snake enthusiasts. Another time a mobile analytics company was spending thousands on people searching for free apps. In another case a company whose ads went to a 404 page and nobody realized. Also recently I found that an SEO agency was falsifying results to one of my clients (the contract was quickly terminated).
I don't know if "blown away" is the correct phrase. It's more like a brief moment of embarrassment followed a huge sense of relief that a budget leak was found and plugged.
PS - The companies described here have successful products made by brilliant people. This is more a symptom of hiring the marketers who don't have the skill (or intention) to demonstrate the results of their efforts.
I occasionally bump into old customers and many still run the same server. All of them are today using revision control systems.
So basically we didn't just provide a tech solution, but also brought in methodology and free tools to implement that methodology.
I hope and don't think so. Demanding them to use ClearCase, that would however been pure evil.
I have a rotating list of power user tips. I'll pick one to show someone during a trouble call (provided no one is in a huge hurry). It has to be something cool that I can demonstrate/teach in seconds. Examples:
Snipping tool. Rather than writing down error codes.
Windows key + start typing the program name. Rather than navigating the start menu.
Piles of excel tricks. (everyone loves excel)
The big thing is knowing your audience. People enjoy participating in something, not just being shown things they can never accomplish. If you make it something they can't understand it will just make them feel stupid or frustrated.
Just last week, I was alerted at 5am that a client's email server had gone offline. Nothing to do with us, we don't look after their emails at all, but I immediately texted their IT guy to let him know.
He texted me back at 6am - their own uptime monitors somehow failed to detect the DNS issue. He managed to fix it before their staff got to work that morning, and was extremely grateful that I had given him advanced heads up on something that was totally outside the scope of what they had engaged us for.
That mirrors my experience when I was on the service provider side, and as someone who is now consuming those same services, I can confirm that I am most impressed by my providers when the communications are focused, helpful and timely.
A lot of the time, when a client has a request, they are thinking out loud in the moment.
Even if I can't pick up the phone, I'll send a short email straight away to let them know that
1. I got the message
2. Timeframe when I can action
We did this on one education site we developed, and also gave them the ability to choose from about a dozen 'stock' cartoon style avatars if they didn't want to upload their own images. The users were impressed at the handover training session we ran, but I overhead one guy (who was indigenous Australian aboriginal descent) jokingly remark that the stock avatars didn't have a person of indigenous culture represented.
I took note of that, and when I returned to the office, we added a handful of indigenous avatars as well within the hour. Client was happy that we went the extra mile to take their offhand comment seriously and deliver on it.
2. Saying 'No' to 'easy money' projects. We've worked with some of our clients for over 20 years now. Mainly because often when they come to us to add on features to their custom written apps, we often say 'No', along with some valid data to explain why we thing the $$$ sunk into the added feature are of very little benefit.
This has lead to them trusting us a LOT more when we go the other way. Real world case study - we had one client, whom we developed a short term loan application for, ask us to add a Monday morning report with customer mobile numbers so they could do a ring around check for customers who were about to default on their loans.
I said 'Sure, but lets go one better'. I said that along with the report, it wouldn't take much extra work to actually have the system send out an SMS message to all those clients as well, with details on their upcoming defaults, and what they needed to do to fix the issue.
They were delighted and said to go for it. Well, that was two years ago, and it turns out that the SMS messages by themselves have reduced their default rate by an incredible amount, and they are FAR more profitable as a result. Hmm, maybe I should have asked for a percentage of profit increase as my payment! :)
We had this experience (as a client) when we went around to find a venue for our wedding (100 people).
The restaurant that got the bid wrote us a personalized letter, included information on the town and hotels that would be available for guests nearby, etc etc..
The rest just sent short notes.
As a leader in an IT department, I asked for proposals for a 40K software review.
All of them responded with no-brainer copypaste letters.
All but ONE, who took their time to make a good, detailed offer.
They called me, we met for an hour with their experts, THEN they made a thoroughly thought out offer.
Guess who got the job?
Get an easier Excel sheet containing data. They're gaga about that. I've won contracts just by showing them that they will get all the data in an Excel sheet.
Every single lead I've talked out of working with me, has referred me to another customer and/or came back weeks-years later with a bigger project that did make sense to pursue.
Choice quote: are you allergic to money?
- I offer them more than what they expect. At times scraping additional info which I think is useful but they did not realize I extract that too. Sometimes they ask for the script or data, one of them and I just offer them both and they appreciate it lot. Though that script is not helpful for them and they eventually come to me but it's just increase their trust.
- It sounds silly and dangerous but often I don't ask advanced payment from clients and prefer to show off some skills, mostly it was quite helpful and they worked me on other projects as well.
The reason it's in hardcopy is because you can't look stuff up on the Internet if the Internet is down.
But because I pick up the phone when they call and I seem trustworthy, they pay it. Also, I take my work very seriously, and they get what they pay for.
Contrary to what I read here, I put me first, my company second and the client third. I think that in consulting, this is the only way to stay sane and deliver on time and to spec.
I don't work in the IT department and they basically say no to everything. Regardless of business value or difficulty.
I work in the chief executive office and numerous departments will be amazed when I say yes... Let me look into that.
Recent example was a publicly facing, real-time waiting time tracker for the city's A&E (as well as two walk in centres). Each solution I thought of had compromises but they chose the one they could live with.
Additionally, I think you get a lot of people that don't really have an "IT mindset." I don't know about where you work but in my neck of the woods we have so many people in programmer positions that can't even write a three line script. They're great at clinical stuff because they came from there (e.g. nursing) but have no technical background...
If I'm Amazon and you don't have a computer? Sorry, come back when you do. No e-mail address? Sorry, come back when you have one. No credit/debit card? Sorry, come back when you have one. Don't know your postal address? Sorry, come back when you know it. No phone that can get SMSes? Sorry, come back when you've got one. Don't speak any of the languages we use? Sorry, come back when you do. Unable to pass a captcha? Sorry, come back when you can. Bad at reading and can't navigate our site? Sorry, come back when you can. Blind and your screen reader doesn't work with our site? Sorry, come back when you have a different one. Child that doesn't know their own name? Sorry, come back with a grown-up. No address because you're homeless? Sorry, come back when you've got an address.
Companies that can decline service for such people can make many simplifying, cost-saving assumptions in their IT systems.
If you can't decline service (Hospital, voting etc) you need to deal with such corner cases - and combinations of several. I can understand how getting that right would raise costs substantially.
- I bring homemade cookies to our first meeting and if the client likes them, to subsequent meetings. The first time I did this for purely selfish reasons; I like cookies but I'll eat the whole batch myself unless I get someone else to "take a cholesterol bullet" for me.
- I'm extremely honest and forthcoming. I tell them that it may sound like I'm trying to talk them out of hiring me but what I'm actually trying to do is make sure we're a really good fit. I
tell them even the non-flattering data about my capablities
or lack thereof i.e. I've told more then one potential client "I can spell 'SQL'" when they tell me they'd like to incorporate a data base in the product they want me to make.
(But my wife is an expert and she'll help me out.) I tell them my estimates are usually off by a factor of 4X. You know what is worse than not getting a contract? Getting a contract where you can't make the client happy.
- I tell them that they can probably do the job without me - and I mean it. "Here's how I would do this. ... That part might be tricky, I can't remember off the top of my head but I'll look it up and send you some links on this.. Buy me lunch and you can pick my brains."
- Communicate even when there is no news or it's bad news. "I still haven't received your hardware but I wanted to call so you'd know before you left for the weekend. I'll call the vendor on Monday."
Since I wish to find some non-freelance job in future, but requirement of bullshit talk scares me. And few times when I attempted to act similar to what you posted I just bumped into a wall of misunderstanding.
I interviewed with a company for a contract and I had told them I only had 5 days of experience in technology X. They hired me and then let me go after a week because they needed a true expert to fix something in time to ship. I said them "I told you I only had 5 days experience with technology X, why did you hire me when you needed an expert??!"
The manager responded "We just liked you so much!"
After that experience, I would tell them [interviewers] right at the beginning of the interview that I was going to try my best to "open my mind and let them peek inside" and give them any data they might need to reject me. I'd tell them, "It's going to sound like I'm trying to talk you out of hiring me but I'm really just trying to make sure we're a good fit." Somewhere in there I'd tell them the above story so they'd know why I was taking such an unorthodox approach (and offer them another cookie).
I'm a freelancer with multiple clients now. I have too much work so I guess I have the luxury of not taking jobs that aren't a good fit. That said, being so confident that you can be radically honest with a potential client or interviewer, also signals competency. A desperate person doesn't behave that way.
Lots of them will ask why a certain decision was made that seemed unusual, and sometimes the dialogue gets into some rather detailed nuances of how readers interpret bits of information and how it's delivered. I came to resume writing after ~20 years in recruiting, so I am able to provide insight into what the audience for their resume is thinking.
Clients say they like the collaborative approach and appreciate that they learn things that they can apply next time (and not have to pay for the service again).
When I did support for a university we very specifically could turn down items (mostly laptops) that were too grody to work on. Most of the techs used their own keyboards and mice regardless but still... some people are pretty abusive to their hardware (gunk, stains, very clear food spills, etc).
Though I guess the SOP wasn't to say "ew get that out of here" but rather "here's some wet wipes can you please wipe it down we make everyone do this" which wasn't even remotely true.
We send cards and/or gifts on Christmas for every client. I and my partner write all the cards. We always thank the client for being with us another year and we ensure them we will do everything possible for the next year to be even better.
We haven't lost a client in the past two years. We have about 30.
"Comic Sans is licensed by Microsoft and can't be used on the web"
"When we build websites, we first write it in another language and then pass it through a program that translates it so that browsers understand it. Adding Comic Sans would require us to make changes deep in the 'translator' program that is supplied by a third party."
"Comic Sans is cancer, see these links. Designers all over the world hate it. If I had a site with Comic Sans on it in my resume, I would seem very unprofessional to a lot of potential clients."
I usually explain them the problem I'm facing in non-technical terms.
Of course, and I bill my time spent doing this.
Don't roll your eyes. You might live in a JS filter bubble but there are a lot of impoverished developers working in software engineering ghettos.
To me it really is as simple as don't be a dick.
I also offer something that I find most web people don't: I offer them good customer service. I answer my emails within 24 hours and I pick up my phone usually when they call or I get back to them asap. I try to give them a reasonable price and I expect payment upon delivery of my invoice.
I have just a few clients, but I've never had issues. And most of the time that is what my clients have confirmed that I have offered that no one else offers: customer service. It's just being extremely supportive. They want to know that someone is there when there is a problem. There is nothing worse than the feeling of running a business.. and knowing that you are screwed or worse -- you have to pay someone you don't know a fortune in an emergency situation.
Somehow, at least for (native?) mobile, the spec to implementation transformation still seems
magical to many of our clients. I personally think it's the rapid turn around. It seems there's an expectation still that the development will take longer and thus the reaction?
I also think it's the ability to understand that the business and the technical elements may not always work in lockstep, and being able to translate the needs of one to the other.
Basic version control on product data without shelling out for a massive overkill PDM/ERP/CAD integration would make me pant with hot joy.
1. Make it clear that solving their problem is paramount. Not your policies, not getting off the phone ASAP. Sometimes it's something you can help them with directly with your product, sometimes you can't, but just treating them like a person you want to help instead of someone to hang up on is apparently unusual. (This is also a good fit for a lot of the techie folks on HN.)
2. Send a handwritten note. My handwriting is terrible, practically illegible, but people like that I took the time to write to them with pen & paper. Ironically, I didn't do this for a long time, because I thought it would look cheesy, but I gave it a shot and realized I like the little bit of gratitude it brings into my day-- that's really why I do it.
Create presentations that gather audiences' attention while not taking over from the speaker.
Desire to break into business analysis and have performed the work but not enough to make it official.
Past life created billing reports and client bills for a law firm. That took their THREE day billing process to less than one day on a sneakernet Access DBMS I designed.
Have also created feasible project and organizational budgets for humanitarian nonprofits.
Created an ad-hoc computer class for uneducated adults. Was told, "I've learned more with you in 15 minutes than a whole week at the community college." I purchased those computers for $4.00.
This happens ~4 times/year for major releases.
I'm a sort of internal consultant in my company who often interfaces with external customers. I've repeatedly heard that no one else provides as thorough yet easily understood documentation. They value the results, but value truly understanding them and being able to follow how I got them almost as much.
Most of the time they can't believe it either. It's fun.
People went crazy about the handwritten note and got thank you notes for the note! I think it was so different that it was a cool surprise.
Effective knowledge transfer is another aspect. Not just coding up a solution but teaching others how to solve specific problems by themselves is highly valuable.
Here are my top 2:
I have a simple motto: I aim to save my clients money. This can work in lots of different ways, shaving a day off development here or there, coming up with cheaper solutions, even outsourcing little tasks to UpWork or automating them via an existing web service.
#2: At the end of each week, I like to send a quick summary email. I got that tip from another freelancer. Even though clients have access to online project management, it gives them additional reassurance and they go into the weekend with a sense that you're doing good work on their behalf.
The longer a claims file, the more I get excited because the chance of a VA error is already very high - in a 4,000 pg file I can guarantee at least one big one
Maybe I am overly used to this; but customers are astonished seeing that kind of stuff...
Sounds like I'm bragging - maybe I am.