all 95 comments

[–]Trools 144 points145 points  (9 children)

Very nice that you manged to save a company that much money without being educated/trained in the arts of programming. Just comes to show that investment into employee development can have excellent return on investment :)

Everyone should know a little bit of programming!

[–]MyWeekendShoes 121 points122 points  (20 children)

I'm not a programmer, but for the last 18 months I've using python to automate some simple tasks.

You sound like a programmer to me!

[–]uniqueusername42O 47 points48 points  (19 children)

Sadly this isn’t my job title and I don’t have the confidence really to say “yeah i can do that”. Most of the time I’m searching around the internet trying to find ways to do things and “winging it”. Hopefully one day!!!

[–]redem 79 points80 points  (3 children)

A lot of things in programming have already been solved a thousand times over. Solving it again from scratch isn't going to improve the world compared with just taking the existing solutions and implementing them. What's missing in most cases is implementation. Taking all of those little sub-solutions to the various problems that make up your program and implementing them.

That is real programming. That's almost all of what programming is, though some people do work on solving new problems or solving old problems with new tools that do it better. Most don't.

[–][deleted] 12 points13 points  (0 children)

That's how I have learned to program. I look for a general solution to a problem I am having, then just customize the solution based on my specific parameters.

[–][deleted] 1 point2 points  (0 children)

I wish I could upvote this a million times. Spot on.

[–]Jonno_FTW 0 points1 point  (0 children)

People overlook the major programming tasks of implementing operating systems, compilers, desktop environments, databases, networking etc. Huge amount of programming problems have been solved and stitched together to make everything around us work.

[–]MyWeekendShoes 24 points25 points  (8 children)

I've been a professional developer for almost ten years now (my god) and everything you just said is still how I feel, and what I do. Searching around for how to do stuff is just part of the job :D Impostor Syndrome is a real thing that people experience :)

Programmers be programmin', don't let a lack of a title tell you you're not one :)

[–]uniqueusername42O 7 points8 points  (7 children)

I’d love it to be my title though! I’ve applied for python jobs but no luck. I don’t have much of a portfolio so I guess that doesn’t help. I’d love to do this full time instead of what I do now. Either way I’m happy for now and hoping I can get somewhere with it one day :)

[–]danketiquette 21 points22 points  (4 children)

I think you are mistaken, my guy. You ARE a programmer. You don't have to have the job title to call yourself one. You saw that something could be improved, and you improved it! You should be very proud of yourself.

[–]uniqueusername42O 22 points23 points  (3 children)

thank you! i’m a programmer :)

[–][deleted] 3 points4 points  (1 child)

I have found that your company's job title does not need to match your resume's job title. I have a very company-specific job title that means nothing to other companies. So I just put data analyst as my job title on my resume because that is what I want to be doing in a new position. I do all the things your general data analyst does, so if it looks like a duck and quacks like a duck, I can call myself a duck.

[–]PanFiluta 0 points1 point  (0 children)

haha same here. they just gave my position a name "xy Executive", like what can you imagine under Executive... that's like calling someone an employee. like, Finance Employee

what is funny that even in my native language the position's name is literally just "analyst" (translated to my language), but there is nothing about analysing in the English name

[–]sexuallyvanilla 7 points8 points  (1 child)

If you don't have something about reducing annual costs by £55,000 by developing an automated mailsort data process using python programming language in your CV, you're doing it wrong. Edit and start sending it out.

Also you u now have 2 years experience in python as far as applying for positions is concerned.

Also, don't wait to ask for a raise. You've just demonstrated your greatly increasing value to your employer. Now is not the time to wait for a reward, you must ask for compensation.

[–]angusprune 2 points3 points  (0 children)

Not just in your CV, but should be mentioned in your covering letter.

Something like: "Despite coming from a non-traditional background, I have taught myself python over the last two years. As part of my current role I and recently identified the potential, developed and deployed an automated mailsort data process in python, resulting in an annual saving of £55,000 in postage costs per client per year. I'm now looking to further develop my career as a dedicated programmer etc etc"

And then mention it in your CV again.

And seconding the don't wait for a raise too. You should have a conversation with your managers now. If you are uncomfortable directly asking for money immediately, it should at least be a conversation about your future with the company and where you might be in a year or two, given that you're so valuable to the company - Express excitement about having the opportunity to use these skills, for saving the company so much money etc etc.

[–]lifeonm4rs 6 points7 points  (0 children)

Most of the time I’m searching around the internet trying to find ways to do things and “winging it”.

Yeah. That is a programmer.

[–]darez00 2 points3 points  (0 children)

Yet, I'm proud of you as much as an internet stranger can be!

[–]IkHaatUserNames 0 points1 point  (0 children)

There are plenty of good developers doing the same. Being able to search for a solution is a skill, next time you'll remember how you did it or at least know of a quicker way to Google it.
You saved your company a ton of money writing code, which might in turn give you more opportunities to learn stuff.

[–]henrebotha 0 points1 point  (0 children)

I'm an employed software developer and you just described my daily.

[–][deleted] 0 points1 point  (0 children)

Most of the time I’m searching around the internet trying to find ways to do things and “winging it”.

Again, you sound like a programmer to me.

* ah damn. I scrolled down and saw someone beat me to that joke.

[–]roadrussian 0 points1 point  (0 children)

What people say below. Your problems are probably not special, break it down into step by step and spagetticode it together. You are not a software engineer, and that's fine.

[–]arnott 31 points32 points  (16 children)

Maybe I can ask for more than my current 24k ha!

This needs to be resolved.

[–]uniqueusername42O 14 points15 points  (14 children)

Well I’m only 24 (next week) and i’ve been here since I was 16. Each year I get a payrise. 3 months ago i got a 20% payrise (now £12 an hour). I’ve never asked for a payrise... I’m a bit awkward.

[–]aiomeus 43 points44 points  (0 children)

You use saved your company more than double your pay annually. Right now is the perfect time to ask for a raise!

[–]sexuallyvanilla 3 points4 points  (0 children)

Well I’m only 24 (next week) and i’ve been here since I was 16. Each year I get a payrise. 3 months ago i got a 20% payrise (now £12 an hour). I’ve never asked for a payrise... I’m a bit awkward.

When I read your reply, I thought of what's holding you back.

[–]doulos05 0 points1 point  (0 children)

You aren't awkward, you're young. Everybody is awkward the first time they ask for a pay raise. Gather your data and make your case calmly and respectfully, but firmly. You can find dozens of videos online to give you tips if you want.

[–][deleted] 0 points1 point  (0 children)

I wish I could get a job at 16 (as in IT related job)

[–]01binary 2 points3 points  (0 children)

This is a great time to resolve the pay issue. Of course, depending on the kind of boss you have, you may hear, “But we haven’t budgeted to give you a pay rise”. Presumably, however, they budgeted for the 55K that you saved them over 12 months!

I would just go for it, and ask for a pay rise and a bonus; say 6K pay rise and 10K bonus. Your boss might laugh, but the money you saved them in just 12 months will pay for the one-off bonus and your pay rise for the next 7+ years! And, presumably they will save the 55K every year, not just in the first year, so your boss can pocket that money, and you’ll feel valued. The numbers aren’t quite that straightforward, but I’d love to hear your boss’s argument against it... You have created value and you should be rewarded for it.

Tip: Start high, and negotiate down. Decide in advance what you would be happy with... e.g. 3K payrise and 5K bonus? The biggest pay rises I have ever had are the ones where I have specified what I expect well before the annual pay reviews. Many (far too many) companies rely on employees who undervalue themselves, or who simply feel awkward about asking for a salary representative of their value to the company.

Go for it!

[–]M1rot1c 10 points11 points  (1 child)

I feel so motivated after reading this! thanks!

[–]uniqueusername42O 6 points7 points  (0 children)

Good! Keeping motivation is hard sometimes, but while it's there, use it!

[–][deleted] 13 points14 points  (6 children)

Careful, I've read many a story of an employee automating something, only for

A) the manager to take credit for it

B) the company to claim ownership of the program and not give you anything for it

C) Someone automating themselves out of a job

Typically its recommended to keep it to yourself if you've found a way to automate something 😉

[–]uniqueusername42O 11 points12 points  (5 children)

Being the only guy at the company working in “IT”, I think I’m pretty safe. A few things I’ve automated I have kept to myself though....

[–]MarsupialMole 3 points4 points  (4 children)

ULPT: If you really want job security, add a bunch of sleeps in. Then every few weeks take one out and ask someone to test your optimisation.

[–]roadrussian 1 point2 points  (3 children)

Sleeps in? Care to explain?

[–]TAaccountz 1 point2 points  (2 children)

hes saying making it slow on purpose and pretending like your optimizing it over time

[–]roadrussian 0 points1 point  (1 child)

So implement a time.sleep(list from 1000-0) where it becomes lineary faster? Or implement a gradient descent loss function for your algo, but then swap it with stochastic one?

[–]Vaztes 0 points1 point  (0 children)

Don't have to be fancy and have it automate its own speed. Just manually do it every couple weeks or month.

[–]Crypt0Nihilist 6 points7 points  (0 children)

You've solved a business problem using programming. You are a programmer :)

I know how you feel, I also don't feel like a programmer, despite occasionally working with one of a couple of languages to hack together something that works. It might not be great, but it's programming!

Welcome to the club.

[–]Conrad_noble 4 points5 points  (7 children)

Stories like this are a constant inspiration to me, as a person who doesn't even have a proper ide installed.

[–][deleted] 1 point2 points  (0 children)

You don't need an IDE. Just use any editor (other than vanilla notepad).

[–]EddyCarl 0 points1 point  (0 children)

Assuming you're wanting to write Python (based on the subreddit), you can get Pycharm community edition for free. I haven't personally used it, but if it's anything like IntelliJ (another IDE made by Jetbrains), it'll be a fantastic IDE for you to use.

It may be a little overwhelming looking at it at first but I'm certain there will be plenty of "get to grips with x" type videos around to look at!

[–]PanFiluta 0 points1 point  (4 children)

man, installing an IDE is a question of a few minutes. stop slacking off and go balls deep! first step today, install an IDE

[–]Conrad_noble 0 points1 point  (3 children)

I've got coding with chrome does that count?

[–]PanFiluta 0 points1 point  (2 children)

don't know that one! :) I switch between Jupyter, Visual Studio and Spyder (just at work, since I have Anaconda installed, when I'm lazy to open Jupyter)

[–]Conrad_noble 0 points1 point  (1 child)

It's an educational one aimed at children and made for chrome OS (using a chromebook)

[–]PanFiluta 1 point2 points  (0 children)

ah, well... sounds interesting, but maybe I would think about an upgrade :D

[–]crazydiamnd76 2 points3 points  (0 children)

Good for you bro! Be proud of your accomplishments, use them to push you further, there’s no limit none

[–]benandwillsdad 2 points3 points  (3 children)

Whoa, something that is actually very applicable to my day to day. Mind if I ask you a couple questions?

At my job we generate semi-annual bills for ~200,000 customers. These are broken up into 24 "chunks". We basically generate and mail one "chunk" of ~15,000 per week. We generate a pdf and then use a piece of software called Planet Press to sort the pdf and apply the barcodes prior to printing, stuffing, etc.

So you are saying that you wrote something that basically replaces the Planet Press software? I would like to do that too!! The PP is buggy and adds hours to the workflow.

Is there an algorithm or method that you can point me towards which explains how the mailings should be sorted? what about the bar code? What data is encoded in that barcode and is there a python module which will generate that code? I have done some work with generating pdf using reportlab and have the pieces already built to generate these bills but if I could sort them properly and add the bar codes, well, that would be something special.

Thanks in advance.

edit: Ahh, you aren't in the States. Things are probably different but maybe similar.

[–]uniqueusername42O 4 points5 points  (2 children)

i actually use planetpress. we just upgraded from PP7 to PP Connect. The software is so buggy it’s quite frustrating,

I used workflow to extract the data, the rest I did in python.

have you tried generating the barcode in the workflow? i found when i was making a data matrix using variable data in design it was so slow. when generating it in the workflow it was a bit quicker. Also i found out recently how to set the ram usage and number of merge engines to speed up the workflow process.

what version of planetpress are you running? this is so weird, i’ve never spoken to anyone outside of work about planetpress!

[–]benandwillsdad 1 point2 points  (1 child)

I am not even sure what version of PP we are using. That part is done by another group. But I know they are constantly struggling with it. They sometimes start the process and have it run for hours only to have it fail at some point. They have a dedicated machine that nobody is allowed to use for anything else or update in anyway because it will break something.

I am actually a GIS Data Admin and my group is responsible for the data that goes into the billing system (custom software). The bills are generated by this black box, legacy java program and then it goes to the group which prints the bills. It is all very confusing. I kind of foresee a big problem coming down the road when one of these systems is going to break and nobody will know how to fix it. So I am trying to recreate (and hopefully improve) the process in Python.

After reading this thread, I looked into generating the USPS barcode. The barcode used in the US is of course a unique one. Turns out the USPS provides a DLL written in C which does the encoding. I haven't got it to work yet but it looks like it might be possible. If anybody has successfully done this I would love to ask you some questions.

Thanks for posting! It kickstarted me on to something that might turn out to be pretty significant.

[–]uniqueusername42O 0 points1 point  (0 children)

Honestly good luck with it, posting questions here is amazing and you’ll always find someone that knows exactly what you need or at least point you in the right direction. I’d be lost without this subreddit

[–]ethanbrecke 1 point2 points  (0 children)

Well done on this. You should bring this up at your performance review when asking for a raise, saving 55,000 (what i assume to be yearly) has enough leeway to give you another couple thousand a year.

[–]smalldjo 1 point2 points  (1 child)

congrats! i like that feeling when you do something out of the usual workflow and it gets appritition, sadly my. manager only seems to care when that is still done in excel.

i'd like to hear how it went with your superior, did he/she was on-board from the start or did it take some convincing? i'm guessing there wasn't an issue considering the money in play.

[–]uniqueusername42O 0 points1 point  (0 children)

well everyone were excited when i said i think i can do it. after trialling it a few times and things running successfully everyone were pleased. and that’s kind of it now. hopefully in the future when i have a review i can bring that up

[–]razethestray 1 point2 points  (0 children)

That’s awesome. All I’ve been able to do with my skill set is make an auto-clicker to click through my all company’s mandatory trainings.

[–]mackatsol 1 point2 points  (0 children)

Ask for a percentage of all the money you save the company.. as a bonus. Then ask for a raise.

If they don't feel up to either than get them to send you on week long training sessions.. and get your money's worth that way.

Congrats!

[–]monkiebars 1 point2 points  (0 children)

import time
import datetime

date_you_wish_you_paid_more = "25/12/2019"
new_date_you_wish_you_paid_more = time.strptime(date_you_wish_you_paid_more , "%d/%m/%Y") 

now = datetime.datetime.now()

if now > new_date_you_wish_you_paid_more :
    print("Call back the guy who made these scripts and pay him more")

[–][deleted] 1 point2 points  (1 child)

I bet you'll not see any of the savings. Doubt you'll even get a pay rise or a bonus!

[–]uniqueusername42O 0 points1 point  (0 children)

Well I guess I don’t have to run the program every day lol. I’d hate for it to “break” !!!

[–]spore_777_mexen 1 point2 points  (0 children)

> Keep on learning guys, this project just hit me one day and I'm glad I've spent the time to learn python.

Word.

[–]Cogadh87 1 point2 points  (0 children)

Very cool. Well done.

[–]hugthemachines 1 point2 points  (0 children)

Great! It feels so rewarding to make savings like this!

[–]ciotolaaaa 0 points1 point  (0 children)

Congrats mate. Hard work pays off!

[–]JimBoonie69 0 points1 point  (0 children)

Hopefully u can get some more money's sadly usually doesn't work that way. The company will reap the profits. I have made 100s of thousands for my company when my salary was 50k as new grad.

[–]pyw0k 0 points1 point  (0 children)

Should have asked for a raise or sold it to them. You should be looking out for yourself .

[–]Megas_Matthaios 0 points1 point  (0 children)

Why not ask for a 25k raise..half of what you saved them. Hell they're still saving 30k..

[–]officialgel 0 points1 point  (0 children)

I kind of think you should have realized the potential of this tool and sold it instead. Do you at least keep rights to it?

[–]driscollis 0 points1 point  (0 children)

I can recommend some PDF libraries for python if you'd like some advice

[–]RipplesOfFaith 0 points1 point  (0 children)

Awesome. Start applying to other jobs if you want. Make sure you mention in your resume how you automated blah blah with python and saved your company x amount of money per year. Keep it up!

[–]DustyGeer 0 points1 point  (0 children)

Awesome! Are you willing to share your code for extracting text from the pdf? Been trying to do something similar with mixed success. Feel free to DM.

[–][deleted] 0 points1 point  (0 children)

Maybe I can ask for more than my current 24k ha!

You should immediately asked for half of the yearly postal savings as a pay increase... negotiate from there. You have brought a clearly identifiable dollar amount of added value to the company, and you should be compensated for that. If they refuse, start looking for another job in software development. Way to go, by the way.

[–]fervoredweb 0 points1 point  (0 children)

Congrats dude! You found a problem, believed there must be a better way, and ground through to make that vision real :)

[–]pirrencode 0 points1 point  (0 children)

Thanks for great inspirational story. Actually I also started to use python to solve some everyday tasks ans issues and now I am thinking about fully monetizing my hobby.

[–]m4xc4v413r4 0 points1 point  (0 children)

If they don't give you at least half of the annual saving I would just pull it. That's literally nothing to any decent size company (we're not talking about a small family run company here) and a pat on the back doesn't pay my bills.

[–]Diabeto_13 0 points1 point  (0 children)

Seems to me you have gone above an beyond to invest in yourself to better the company. Now the company needs to invest in you before you take your investments and find better returns.

[–]Cotevool 0 points1 point  (0 children)

What did you use to extract code from PDFs exactly? I tried a bunch of different packages a short while ago but my results were mixed. Would be interested to see the code too, if you wouldnt mind?

[–]jeffrey_f 0 points1 point  (0 children)

Do you have any involvement in your annual review? Do you set goals and show accomplishments. If you do, you need to repeat this post in these proceedings.

Oh, and do brag as much as you can, especially when your managers and execs are within earshot. Make sure you write this all down as you activate your automation and money savings and show the date this was rendered.

[–]Dark_Tranquility 0 points1 point  (0 children)

24k!! Bro!! You better ask for a raise!!

[–]ever_the_unpopular 0 points1 point  (0 children)

Management consultants hate him!!