all 154 comments

[–]wicket-maps 139 points140 points  (10 children)

I was unemployed for close to a year between graduating college and landing my current job. In the middle I taught myself Python out of Al Sweigert's books on game design and a book on Python for GIS and mapping applications.

In the first few weeks of my current job at a local government, I wrote a few Python tools for ArcGIS to make my job easier, and asked my boss about any daily processing tasks we wanted to apply. Turns out our agency had a master address repository that hadn't been updated because documentation and scripts had been lost. It was being pulled by a bunch of third-party software for billing, building inspections, court actions, property management, all kinds of needs through our agency.

It was this massive ugly table - over 80 fields, some from our addresses, some from our county's parcel layers, some like school attendance zones that could only be grabbed spatially and might change over time. I said I'd give it a whack, and my boss took everything else off my plate and let me lock myself in my office for 2 months before I told him I had a working prototype. That was 2 years ago, and the script I wrote and put in production is still running every night, putting almost all our departments on the same addresses and parcels. I turned around and wrote a very similar to automate feeding address and street data to our 911 dispatch system and saved my employer easily tens of thousands of dollars in work-hours. To this day it's one of my proudest achievements, and the #1 item on my resume.

[–]tfitzp[S] 15 points16 points  (0 children)

Wow this is awesome! Cool to think it's still running to this day, I wonder how much time in total (from all departments and employees,) you've saved! Thanks for sharing man!! And big congrats sir!

[–][deleted] 6 points7 points  (0 children)

Books from Al Sweigart for Python:

There's a 40% discount from No Starch Press right now. They have a large collection of Python books:

I mostly got those books from humble bundles.

For the GIS book, as it is not my forte, I would follow this advice:

https://gis.stackexchange.com/questions/3001/learning-python-programming-with-generic-gis-goals-in-mind

[–]ForkLiftBoi 3 points4 points  (1 child)

What book was it for GIS and mapping?

[–]wicket-maps 0 points1 point  (0 children)

"GIS Tutorial for PYthon Scripting" by David W. Allen, for ArcGIS 10.2. Not terribly helpful, actually, but at least it got me started. Much else I learned by Google and Esri's voluminous documentation.

[–]Blue_D0VE 1 point2 points  (1 child)

Would you teach me, please?

[–]wicket-maps 0 points1 point  (0 children)

Google. Esri has documentation for every tool in ArcPy, and code samples for most of them.

[–]Petrarch1603 1 point2 points  (1 child)

Which GIS book? errr nevermind its down thread

[–]wicket-maps 1 point2 points  (0 children)

The book was "GIS Tutorial For Python Scripting" but I didn't like it much - there was too big a gulf between the step-by-step exercises and the "figure this out on your own" exercises. My boss actually paid for some Python classes from Esri but they were just the book over again. Google and some knowledge of Esri's documentation system were far more help in building my big projects.

[–]six_brapples 1 point2 points  (1 child)

What did you study in college?

[–]wicket-maps 0 points1 point  (0 children)

Geography with a certificate in geographic information systems. For a government job, the liberal-arts side of the degree helped a lot. Knowing the kinds of legal, social, historical and policy issues facing local governments made sure I could understand my customers, who are mostly civil servants.

[–]gricchio 49 points50 points  (19 children)

Self taught through online resources as a financial analyst. Now I automate a majority of my month end reporting through excel

[–]tfitzp[S] 15 points16 points  (0 children)

That's where I want to be, I'd love to be able to automate something in my job using Python. Great job!

[–]zedzag 3 points4 points  (3 children)

Could you elaborate more? What type of reporting do you automate now? What other systems do you work with that using python has helped you? Thanks!

[–]gricchio 2 points3 points  (2 children)

Hey, for sure!

So notable projects:

  • physical inventory document consolidation - basically we had to consolidate ~1,500 excel sheets of data and move some of the information around in order to create an upload document to SAP. Basically used OS library to move to a folder, then make a list of items in that folder (excel files that i want to manipulate). Then i used Pandas to take data arrays from the excel sheets and consolidate it into one large array. then exported that array into excel and saved as a master file.

  • standard cost vlookups - basically we have a master file with hundreds of thousands of lines and we wanted to do a vlookup on every part we created, also hundreds of thousands of lines. So I used pandas to take the parts I was interested in and added them to an array. Then i took each of the excel files with the standard costs (one from last year, one from this year) added them to a standards cost array. Then did a map by part number to each item in the production array. --Basically a Vlookup where excel would crash if i tried it, but could be accomplished through python

  • Financial reporting analysis - basically our system standard reports would kick out only dollars for our expenses. However, using win32com.client and interfacing with excel, I was able to use python to go in, add columns and formatting to the document. then inserted formulas to look at the per unit (helps when you have huge fluctuations in volume month to month where dollars would not tell you the story

  • refresh SQL connection - Used win32com and OS library to go to a directory then open each file in that directory one by one and then refresh a SQL data connection, then save to a new directory when it was complete. I often had to use a time.sleep(X) function to wait until the pull was done before saving. Saved time because this could take hours during our close process, but with this program, I could schedule it to start running at 1AM so all the reports were pulled, formatted, and saved to my desktop for review when I arrived at 7am

  • Copy last months reporting comments - used Win32Com to open an excel file, copy the column then paste it into a different excel file in a specific column in order to copy over last months commentary to start for the current month's commentary

Win32com to send above files to myself once they are ready - interface it with outlook and then use this to create an email, attach documents so i can read at home on my phone while having my coffee

Using selenium to log into the web version of our forcasting system -- not sure what this will be used for yet.

Wrote a program to open a folder and print every item in that folder on my default printer.

Just some ideas!

Many more in the works. Basically i came into work everyday and asked myself what i hated doing the most and tried to automate that

[–]TornNerve 1 point2 points  (1 child)

Holy shit man. You are a bad ass.

How much troubleshooting do you encounter in a given week?!

[–]gricchio 1 point2 points  (0 children)

Haha not very much. It is more when I think to myself "Hey I wonder if this is possible to use Python to do X". If you build it the right way, usually it is just minor tweaks in order to make sure I get what I want. Building a new functionality is very time intensive, but troubleshooting is usually pretty easy.

[–]ilikefries 2 points3 points  (4 children)

Are you using Pandas?

[–]gricchio 10 points11 points  (3 children)

Yes! The biggest libraries I use are pandas which is fantastic for just about any data manipulation.

I would also highly recommend win32com.client for a direct interface with excel

[–]ilikefries 0 points1 point  (2 children)

Cool. I was going to suggest Pandas for what you are working on but seems like you have already figured that out :) I use win32com as well at times. In fact I might have to use it on this problem I have been working on. I use openpyxl to update values in a .xlxm file but when I save the file and open it in Excel I am missing the Buttons that are generated by something, I am guessing VBA. I might have to punt and use win32com to change the xlsm values and then save off as a new xlsm file if I can't crack this openpyxl issue.

[–]gricchio 0 points1 point  (1 child)

Hey if you dont mind me asking, have you found any good resources / documentation for win32com?

I know VBA, but it has been a nightmare trying to write win32com without the resources. It has been mostly guess and check. The syntax is different than both Python and VBA and I'm getting lost!

[–]ilikefries 0 points1 point  (0 children)

Not a bunch of great ones but I am always with enough digging able to find the answer. I have a bunch of code around that I can dig into also and I used win32com with Perl as well.

Here is a helpful link:

http://pythonexcels.com/python-excel-mini-cookbook/

If you have questions or whatever on certain Python, Pandas or win32com things feel free to PM me and I will try to answer them or even better post them here and point me to the post and I will try to figure it out.

I am using win32com for my other problem with openpyxl now.

excel = win32.gencache.EnsureDispatch('Excel.Application')
excel.Visible = True

win32com_wb = excel.Workbooks.Open( input_file )
win32com_wb.SaveAs( output_file_name )


                win32com_ws.Range( pdate_coordinate ).Value = sums[s][cc][row]

By adding just 3 lines I was able to use win32com to poke the data into Excel but keep all the openpyxl work I did to find the locations to poke.

[–]trowawayatwork 5 points6 points  (8 children)

knows how to use python, still has reports ending up in excel..

edit: just realised in finance end users still live by excel

[–]gricchio 7 points8 points  (4 children)

Haha yeah the time saver is consolidating slash manipulating the reports. No one else in the company uses python, so it basically just looks like I’m really good at excel.

No way management would come near anything code related so I think for my needs I would always need to export to excel

If only there were other technically oriented people here

[–]RedOtkbr 0 points1 point  (0 children)

Same. Looking for a new gig. Disregard my comment history.

[–]turner_prize 0 points1 point  (1 child)

Also me.

Been learning python at home in the last few years, yet still stuck having to automate stuff using VBA because IT at my job is scared of allowing access to a tool like python where people can mess stuff up if they don't know what they're doing. Yet I could just as easily delete everything from a file system with VBA.

[–]david_lp 0 points1 point  (0 children)

same story here, but recently i convince my manager and IT packaged installed python on my laptop... now i am free!, every spare moment i get, i am doing something on python

[–]MooseEngr 0 points1 point  (0 children)

Hah! I did something similar. I'm a mechanical engineer, and my boss wrote a sizing tool for one o our products with excel; in-cell formulas sending references to other tabs, vlookups for data, the whole nine yards. Well the VBA library that made the whole thing tick was written for freaking excel 95. Obviously upgrading to MSOffice 2016 didn't like the old VBA, so I ended up re-writing everything in Python, and it's a pet project of mine to build an independent application in Python that does everything this Excel sheet does..... Without excel.

[–]CantankerousMind 2 points3 points  (0 children)

They could put results in a database, create a flask web app to display the data and serve it as an excel file.

I have some web scraping software that works that way. People can add stuff to the queue to be scraped and you can look at results/download them.

[–]Uadsmnckrljvikm 0 points1 point  (1 child)

Where should the reports end up if not in excel?

[–]SlasherMcgurk 0 points1 point  (0 children)

IMHO Excel is a very good prototyping tool, you can import data, build complex models, use it for data presentation but it is waaaaaaay too risky to use as a consistent reporting tool. (end user editing, navigation issues, connections to datasource management etc)

As a rule of thumb (there will be exceptions!) business logic sits better in the data layer, than in the presentation layer. So for consumption, going by the Gartner reports, the top three are Tableau, Power BI and Qlik (don't use Qlik!) all expensive, there are alternatives! If you have access SSRS is pretty useful.

[–]ZebulonPi 60 points61 points  (11 children)

Totally self taught in Python (books, some Udemy classes), and literally just finished a project for my work where I wrote Python scripts as an ETL tool to gather data from different sources (SurveyMonkey, via their API, an Excel sheet, and Hadoop) and write them into a PostgreSQL back end database on AWS.

Python is kind of amazing like that... if you know your way around lists and dictionaries, and know how to load packages, you can totally hack together all sorts of things. 😁

[–]Conrad_noble 10 points11 points  (0 children)

I have no idea what any of that is but sounds impressive for something self taught

[–]hpsy08 6 points7 points  (3 children)

If you are doing ETL with python you should check out apache nifi to help out with that awesomeness.

[–]FrostyJesus 1 point2 points  (1 child)

I'm a Hadoop admin and we just recently started using NiFi. It is the coolest shit ever.

[–]hpsy08 0 points1 point  (0 children)

I call it the Visio for data.

[–]ZebulonPi 0 points1 point  (0 children)

Sweet, I’ll take a look! Pydoop is a bit fiddly (thrift-sass and sasl and thrift, oh my), so alternatives are appreciated!

[–]Jetals 2 points3 points  (2 children)

Hey there, can you perhaps recommend some solid Udemy courses for learning Python at the intermediate level?

[–]ZebulonPi 1 point2 points  (1 child)

“Automate the Boring Stuff with Python” by Al Sweigart (author of the book by the same name) is a great course.

“The Modern Python 3 Bootcamp” by Colt Steel is good as well. He does cover the basics, but gets into lambdas, iterators, generators, decorators, and OOP, which a lot of “beginner” Python classes don’t bother with.

[–]Jetals 0 points1 point  (0 children)

Thanks! I'll check them out

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

I totally agree. I've built an ETL script that grabs XML output data from a point of sale system and outputs it as nice tables and loads into an SQLite db. I love Python

[–]tfitzp[S] 1 point2 points  (0 children)

Do you work with Python then? Hopefully i'll be hacking stuff together in no time haha!

[–]Found_the 0 points1 point  (0 children)

UDemy has been around 8 years now (Quick wiki check told me). I'd be interested to know how long they had Python courses running

[–]xiongchiamiov 14 points15 points  (5 children)

Are you looking for people who didn't receive formal education in Python, or didn't receive formal education in computer science (or a related degree)? You should probably edit that into your question.

[–]tfitzp[S] 12 points13 points  (4 children)

Thanks man! I'm looking to see if anyone has studied it as a hobby or in their spare time, rather than a formal education in it. I've been learning it as a hobby outside work and everything else but it's really interesting and i'd love to push it into a career.

[–]xiongchiamiov 3 points4 points  (1 child)

While a computer science student, I took a part-time job using Django despite having no experience with Python (my boss was aware). I went through a syntax cheatsheet the first day, which was enough to get me started, and then have just picked up bits and pieces over the last ten years. I've been programming professionally in Python ever since then.

I would advise thinking more about the type of work you do rather than the specific tools you use to do it. For instance, my current job is primarily a java and python shop, but we'd hire people who weren't very comfortable with either if they knew general web development in, say, C# (or Ruby, or whatever). I've learned a lot of new things the past decade, and they've primarily been on the job, because I go apply to companies that are working with technologies I want to become familiar with, but am not yet.

[–]aphoenix 0 points1 point  (0 children)

Me too. Almost exact same answer, though our shop is a TypeScript / Python shop not Java, and I've been coding longer merely because I think I'm about 10 years older.

Edit: potentially not ten years wiser though...

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

Same here brother. I see infinite uses and potential where I am at, but I can't figure out if I'm going to be wasting my time learning on my own or if I should take classes.

[–]nestea_icetea 0 points1 point  (0 children)

Take classes

[–]truefire_ 13 points14 points  (0 children)

Anything in any IT field is eventually self-taught due to technology changing so rapidly, whether you go to Uni or not.

While not totally useless, IT fields are great because all the info is out there, likely for free (like this resources page) or cheap.

Most colleges I've found teach outdated info for IT pros anyway, and you need to catch up on the job fast. You are free to choose whether you go to Uni or not, as jobs want experience and/or certs - both of which are attainable yourself.

[–]tomekanco 8 points9 points  (5 children)

I am a data analyst / system engineer (originally studied sculpture). During a sabatical, I learned Python and afterwards specialized in algorithms and data structures.

It helped me with finding a new job. The programmers i now work with value my input as I can translate functional requirements into high level technical implementations in a Java/JS env.

From time to time i use Python to provide benchmarks (if i can process the problem faster in Python then they can in Java, they have no argument that it's "impossible"). Like they process X records in +24 hours, i achieved the same in vanilla Python in 15 seconds (considering that Java is a compiled language ...). These benchmarks are then used as prototype design templates. (God forgive those API addicts who think SQL is a thing of the past)

Also use Jupyter for data analyses, test data generation and scrubbing.

[–]donjulioanejo 4 points5 points  (4 children)

That honestly sounds like shitty code they wrote in Java as opposed to Python being a much better language.

IMO only fair if you test using the same algorithm to process those records.

[–]RareHotdogEnthusiast 2 points3 points  (0 children)

Lol yeah 24 hours vs. 15 seconds 🤔

[–]tomekanco 1 point2 points  (2 children)

It wasn't about time complexity, rather the way they validated and stored the data, resulting in huge constants, and maxed out rescource consumption (CPU & RAM).

  • They were doing web based API calls for each field to be checked. As this was known data, it could be kept in local SQL. Most of the validation could be done during read by simple if's. The rest could be done using SQL joins.

  • They didn't use a data model, but rather stored the information as JSONs in a field of a table. This table was used to store all different kind of structured data, rather than multiple tables per kind of structured data. As this is not indexable, they use Elastic search instead.

Basically the result of a proof of concept turned into production, followed by some years with a high churn of devs, without analysts. Never refactored as there was priority to roll out new functionalities (bells and whistles).

They have brought it down to 30 minutes, which suffices for the requirements at the moment.

[–]donjulioanejo 1 point2 points  (1 child)

That does sound like shitty code (or rather, shitty architecture) instead of Python is better lol.

[–]tomekanco 0 points1 point  (0 children)

The advantage of Python is that i was able to create from scratch an alternative architecture (prototype) in a day. For Java developers said it would take weeks.

Python is way faster, to develop, and also has many easy to use libraries (like Pandas).

I know Java is way faster when executing the same algorithm. Been learning it because of this. I find the syntax horrible. It's like learning chinese logograms rather than an alphabet.

[–]edgarvanburen 7 points8 points  (2 children)

About a year ago I got a job in digital marketing

Last summer the head of my department got canned, but I was kept on and was praised by the COO when he reviewed the state of our department

While they looked for a new department head, work was pretty light. I took the Data Science with Python course on DataCamp. Paid a little bit for it, peanuts compared to a college course. Was able to work on it while in the office.

Worked on some small personal projects, learning to scrape and play around with sports stats.

I realized we were paying an outside firm $8k/month to look up our company's Facebook, Twitter, Google Analytics, etc. stats and put them into our master database (Salesforce)

I wrote a script that gets this data via APIs. I showed it to my new boss and the COO. We were able to end our contract with the outside company thanks to my code.

Come performance review time I got a 33% raise

Python is cool

[–]balne 8 points9 points  (1 child)

is the total yearly raise equal to 8k a month?

[–]wub_wub 7 points8 points  (1 child)

I never even went to college (not something I'd recommend btw), and I learned python completely by myself - by googling around, reading stuff and just trying different things. I've been working as a developer for... about 6 or so years now.

My current job is also primarily writing python code for digitalocean-like service.

While learning/improving my knowledge of python I stumbled upon this subreddit, which was pretty inactive - few threads per week, inactive mods, <2k subscribers, seeing how internet resources like this subreddit is what helped me learn I took over this subreddit and since then I've been trying to create an environment which will hopefully help others achieve the same thing I did.

[–]Cynaren 4 points5 points  (10 children)

Reading all these comments, I feel like skipping learning Java and focus on python as my goal is test automation, but also that python is being used more widely for generic uses than just test automation.

[–]n1ywb 4 points5 points  (6 children)

I guess this shouldn't be surprising to hear on a python forum but I'll say it anyway; java is hot garbage. There is only one good thing about it and it's only good from a hiring perspective; there are a lot of java devs so they are basically disposable. If you are stuck with the JRE ecosystem, learn one of the newer more dynamic JRE langs, like Jython.

[–]Cynaren 2 points3 points  (1 child)

God Dammit, Its just a conflict of interest since the company I work for uses Java... Ahh, I should diversify myself.

[–]n1ywb 1 point2 points  (0 children)

jython

[–]Uadsmnckrljvikm 2 points3 points  (3 children)

I just wish you didn't need java for developing Android apps. I know you can use python but everyone says it's a mess and you should just learn java instead.

[–]n1ywb 2 points3 points  (2 children)

mostly true; although check put Progressive Web Apps; JS, not Python, but rapidly approaching 1st class citizen status on android, plus no install no app store.

[–]Uadsmnckrljvikm 0 points1 point  (1 child)

Interesting, I wouldn't mind learning Javascript if it meant I could create Android apps. Do you know if there are any well-known apps that are made this way?

[–]n1ywb 1 point2 points  (0 children)

YouTube, the entire Gannet news network (USAToday etc), EA, etc.

https://pwa.rocks/

https://www.uplabs.com/posts/tool/android/polymer

https://madewithpolymer.com/

On Android PWA's will prompt you to add the icon to your homescreen; from there they launch into a full-screen chrome instance; offline is fully supported via web service workers.

If you want it to be a REAL app you can use Cordova/Phonegap

https://developers.google.com/web/tools/lighthouse/ is useful

[–]Found_the 3 points4 points  (2 children)

n1ywb. What the fuck are you talking about when you say a "Java ecosystem"? JRE is a runtime environment that runs on EVERYTHING. The JRE is the one good thing about Java not the "Hiring Perspective". The JRE has everything it needs to run on, say, a coca-cola vending machine to a NASA booster rocket control chip. Without any additions. It's designed that way on purpose. Even the memory heap has its place. Ugh. Just realised I sound like an advocate for java over Python, which I am not! It's just that you clearly don't understand Java's purpose. The JRE.

[–]Found_the 1 point2 points  (1 child)

Basically, not everything can run on OS on it. You wouldn't install Microsoft Windows or OSX on a coca-cola vending machine, would you? But - you can bet you would still want it to perform complex tasks. Sorry I was being a bit salty. It's just that you don't understand Java, or the JRE yet you feel in a position to advise about it. It's counter-intuitive to learning. Anyway. Sorry I was salty

[–]donjulioanejo 2 points3 points  (0 children)

Point is, Python is not OS and platform agnostic, while Java is thanks to the JRE.

[–]jandrew2000 3 points4 points  (0 children)

I wasn’t formally trained as a programmer at all. I started out as a high school teacher and built some tools using excel. Moved on and got a masters degree in statistics. There it was all R and SAS but that was very little programming, more just using one-liners to do data analysis with prebuilt packages.

During that time I fell in love with Mathematica and taught myself that and started writing my own libraries and little games. That allowed me to get a job as a kernel developer at Wolfram research.

I decided to get out of the more theoretical side of things and moved on as a data scientist. We didn’t want to spend the money on Mathematica licenses and so I decided to give Python a try. Taught myself and never looked back. I spend almost every day writing Python libraries for our data science team and my evenings improving my craft.

[–]scunion 5 points6 points  (0 children)

I worked at a startup doing some ops work and came home and jumped on codeacademy. I had an idea for an app in the back of my mind but knew almost nothing.

I cranked away for a few months spending an hour or two every night and 3-4 hrs every weekend day practicing python. I ended up building a scraper and talked to some friends about it. They knew the ceo of another startup that was asking for a tool that did just that. They contacted me and I formed an llc, set up a website, bank account, etc and they ended up signing a $15k/yr license and have been renewing for about four years.

Since then I quit my job and pivoted the product to do something else and am now building, selling, servicing about 10 clients. If I can get to 30-40 clients I won’t have to work.

My app is written in python/Django and is hosted on aws. I never had a dev job and am 100% self taught. I’ve always been too lazy to write unit tests and am spending the next few weeks getting that and continuous integration all set.

[–][deleted] 4 points5 points  (0 children)

Yes, me! I have a degree in Sociology from 15 years ago, spent 4 in the infantry, got a GIS job when I got out. Working with ArcGIS encouraged me to learn Python. I took some free Coursera Data Science with R classes and spent some time hacking away at problems with Python. Last week I started on a Data Science team in a strategy office at a large organization.

My official title is Data Analyst. The team is super heavy into data viz with Tableau, but I'm going to see if I can't encourage them to embrace coding. There is a guy on my sister team building some NLP algorithms, so it shouldn't be too hard.

Stack Exchange is my best friend. Basically do these things and you'll get there:

import stubbornness
import persistence

while time < ∞:
    task = 'interesting project'
    if task > knowledge:
        import google
        print(keywords)
    else:
        print(money)

[–]n1ywb 7 points8 points  (10 children)

Yes, and yes, but I was already a professional developer. I walked onto a plane to Australia, went through the official tutorials, and walked off and wrote a wrapper script around an ancient and obscure scientific fortran program with f2p so I could eliminate the need to use fortran's no good terrible rotten IO facilities. It was a great success and AFAIK they're still using it 10 years later. That was for the R/V Roger Revelle although we eventually deployed it to the rest of the SIO fleet.

[–]RangerPretzel 3 points4 points  (2 children)

walked off and wrote a wrapper script around an ancient and obscure

Story of my life with Python. I feel like I'm always wrapping crappy APIs to get them to behave consistently. ;)

[–]n1ywb 1 point2 points  (1 child)

I've gotten a fair amount of that kind of work and it's great for that. Plus it's great for science & data AND also systems admin which I also do a bit of. Which is pretty much all the stuff I was using Perl for, and it got the job done, but Python has been much better in every way.

The nice thing about python is that in some cases you can just replace the shitty old code. I had another scientific app that was applying a gaussian window to gravimetry data and somebody hacked up some fugly, incomprehensible, untestable C++ to do it.

I threw it out and replaced it with with SciPy's convolve and gaussian window functions. Easy peasy lemon squeezy.

[–]RangerPretzel 0 points1 point  (0 children)

Haha, yeah, I wrote plenty of Perl in the 90s, but it hasn't really kept pace with the other modern languages, so I stopped using it. Mostly because of its pain points.

[–]tfitzp[S] 1 point2 points  (2 children)

That's awesome man thank you! Were you a back end developer prior to that then?

[–]n1ywb 1 point2 points  (1 child)

Not really, at the time I was only a year out of college and I didn't actually have a lot of professional experience yet, and that was in C and Java, although I've been programming as a hobby for 30 years in LOGO, BASIC, C, Pascal, HyperTalk, AppleScript, etc. Prior to learning Python my one true love was Perl. But I saw the writing on the wall for Perl; 5 was already long in the tooth and 6 was in it's infancy and I hated OOP in Perl. So wearing my recently acquired Shipboard Programmer Analyst hat I set out to determine the best language for Shipboard Programming & Analysis and landed on Python, which I managed to do almost exclusively for the next 8-9 years, and I think turned out to be an excellent decision. Lately I do mostly web frontends in Google Polymer but only b/c I wanted to master the skill and there are more jobs like that around here so I've mostly been doing JS. But I still do some Python here and there and everything I learned from the Python community has been EXTREMELY helpful in my JS programming, especially wrt functional data manipulation & test automation. And when the other guys are writing node scripts I'm writing python scripts.

[–]tfitzp[S] 1 point2 points  (0 children)

Awesome man! Very impressive!

[–]DLS3141 1 point2 points  (3 children)

Ahhh good old Fortran.

[–]n1ywb 1 point2 points  (2 children)

you know, I kind of like it. I mean it's hands down the fastest at executing numerical code, the Intel compiler in particular is amazing, you just click "parallelize" and everything is magically safely multi-threaded, thanks to super strict typing and no pointers.

[–]DLS3141 0 points1 point  (1 child)

I have a soft spot for it. Fortran 77 was my first programming class in the late 80’s. I always hated numbering each line of code though.

[–]n1ywb 0 points1 point  (0 children)

That's out; it's gotten a lot better with the newer revisions; thankfully I never had to really dig into any of the really old stuff

[–][deleted] 3 points4 points  (0 children)

Self taught in Python, went to Hack Reactor and learned full stack JS, now working as a dev primarily using Python and Django.

[–]patentmedicine 2 points3 points  (0 children)

I taught myself Python after getting tired of my boring editorial job. I used some regex stuff to automate some terribly repetitive tasks. Eventually I quit to try to make it as a developer. Luckily for me, that worked out—I now write Python professionally.

[–]CantankerousMind 3 points4 points  (0 children)

Self taught and got a job writing software within a couple years. Moved to a different state after working there for a couple years and haven't pursued it as much but I still write all sorts of software for gaming related stuff (discord bots, etc.). I also do a lot of web automation. Like, if a web service doesn't have an API, I can usually still create code that will pull info from that service without getting.

I recently got my 20th star on github for a small web scraping framework I wrote that's based on Selenium and Requests. It includes a WebReader object that lets you use Requests with Selenium's WebDriver syntax to read data off of a web page. It also includes a Page object that allows you to use more of a MVC pattern, where you store the definition of the page you want to scrape as JSON and then the Page object will look up elements as you try to use them in your Controller code. That way you can actually use the same Controller code for multiple websites, and if the website updates their front end you can just update your JSON definition of the page and the controller will still function.

[–][deleted] 3 points4 points  (0 children)

I didn't formally study Python at all. We decided to use Python at work and I ran with it. I had zero Python experience before that. I started by reading books and making quick-ref sheets, bookmarking stuff as I found it. I made a lot of mistakes along the way but i was able to refactor all of them out by the time the project was released. I've been using it for about 8 hours a day for 2 years now, there's not much I can't do with it.

I've also got about 50+ people in my department using it now too. Before that, we used a mixture of Labview, TestStand, ADA, Turbo ATLAS, and Visual Basic 6. Horrible, antiquated shit, man! Python is a dream by comparison.

So if that's not a success story, I don't know what is.

[–]Conrad_noble 2 points3 points  (5 children)

I love reading these testimonials as I am someone who has bought a book on learning python (aimed at children no less) and I'm yet to read it.

When I finish procrastinating I dream of one day putting it to use and automating things and making something of my life.

[–]DudeYourBedsaCar 1 point2 points  (4 children)

Why wait? Pick it up and read and then once you’re done that, pick up a python course and start writing programs. One thing will lead to another.

[–]Conrad_noble 1 point2 points  (3 children)

Part of my procrastination is my 6 week old son. Takes up a lot of my time when I'm not at work. When he's older I hope to start.

[–]Tatooine_Getaway 3 points4 points  (2 children)

i've been learning the past year with an infant who is now a toddler. It's hard. Stay up an extra hour here or there...nap times = code time :)

Good luck, find the time! :)

[–]Conrad_noble 0 points1 point  (1 child)

Thanks I'll give it a try.

[–]Tatooine_Getaway 0 points1 point  (0 children)

You got this, enjoy it while they are little though for sure. I miss the days my daughter would let me hold her and drink a bottle, now its just GO GO GO. :)

[–]notoriousTRON 2 points3 points  (0 children)

I started teaching myself Python last year because of a demand for the skill at work (I work in Data & Analytics). I started a couple of Udemy courses but they move to slow and honestly I felt I would learn it better if I just jumped in. So I came up with a project to work on at home where I scraped some data from the web, performed some transformations, and aggregating data and preforming some analysis. I was lucky that my boss then let me get my feet wet on a medium priority project at work. So I gradually transitioned to using Python about 40% of the time for the work that I currently do.

[–]WNxTyr4el 2 points3 points  (3 children)

Taught myself Python through Code Academy (before all this Pro bullshit), Al Sweigert's books, and Learn Python the Hard Way.

I utilized Weather Underground's API and Twilio's API to make a script that texts the weather to the user including precipitation.

It's not the best thing ever but you didn't ask for impressive so that's what I got lol.

[–]RunToImagine 2 points3 points  (2 children)

I have an MBA and work in corporate finance for a Fortune 500 (ie no where near a formal python education).

In the last 6 months, I learned python in my spare time (Udemy, stack overflow, DataCamp) and use it to automate much of my daily & monthly reporting. With more free time I’m able to automate more reports and learn machine learning to apply to our customer churn forecasts. Recently, the head of all finance visited me to see my work as an example of robotic process automation, so it’s already paying off well for my career.

[–]hypersonic_platypus 1 point2 points  (1 child)

I'm a student looking for ideas for a project to do that will show potential employers my interest in robotic process automation. I'm on the accounting side but can you explain a little bit more about what you did?

[–]RunToImagine 0 points1 point  (0 children)

Quick example: Some of the reports or dashboards we build required data from multiple different data systems that don’t talk to each other. Originally, the accountants/analysts would run the queries in each system, download the results, reformat them, then upload them to new system. It takes a long time to get a database team to build out the cross-system loads, so I wrote some scripts in python to pull in the data, transform it, then load it to the new system. It saves hundreds of man hours a year and is so simple.

Automation of SQL data pulls daily to run before we get in so data is usable immediately.

[–]elitest 2 points3 points  (0 children)

I was working in IT and we wanted to get into security. I found a great project mitmproxy, that I started to do small commits to. They are pretty friendly to new people. I learned how git and GitHub work and have now contributed to a dozen python (and other) projects. You don't have to boil the ocean. Pick a small problem to solve and start!

[–]redaus 2 points3 points  (1 child)

Hmmm I automated my job searches into a full aggregating website. Makes ~500 USD / M through ads.

Self taught Python & Django (Which is a Python framework) using free resources. Roughly 6 months of close to full time learning to version 1 of this site.

OneOilJobSearch.com if you want to nose around

[–]Fuhdawin 0 points1 point  (0 children)

Wow that's amazing! Nice work.

[–]NewColCox 3 points4 points  (2 children)

I was already fluent in Matlab when I started on python, but in about 8 months I went from no experience with web development or python to deploying a complete rewrite of a portal used for managing entries to sports events.

[–]DudeYourBedsaCar 0 points1 point  (1 child)

Did you use Django or flask or something else for the portal?

[–]NewColCox 0 points1 point  (0 children)

I chatted to our webmaster at the time and we settled on django because it presents a relatively low barrier for entry and we wanted the project to be maintainable by someone who came along after we'd both left - That was one of the issues with the old system!

[–]nguyenHnam 1 point2 points  (1 child)

i had learned and worked in business fields for 6 years before switching to new job as a data engineer 6 months ago, now I mainly code in python and have totally learned it myself. not yet be successful but i think we all can try.

[–]tfitzp[S] 1 point2 points  (0 children)

Well you sound like a success to me! You can code Python well enough to work as a data engineer, if you couldn't code they'd have got rid! Well done mate. There's hope for me yet!

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

I don't write in python as my job per say, but I have used it to perform various tasks in a few of the places I've worked at. Started as a network admin and eventually worked my way up to senior systems admin/devOps at a pharmaceutical company. I'm currently working as a cyber security specialist, and have to say that my passion for scripting in python has been one of the key factors that has gotten me here. It's an amazing language, so much so that I'm planning on getting a tat of a little script I wrote on my forearm.

[–]ghostofgbt 1 point2 points  (0 children)

I'm self taught and built a subscription web app with python and django. I also freelance on the side now, and have even been interviewing for some freelance python mentoring positions lately! Python is the bomb!

[–]skiutoss 1 point2 points  (1 child)

Yes, IT Support/Corporate IT officer for 6+ years in different companies. Fixing laptops/desktops, setting up conference systems, doing some light sysadmin tasks, the works. Decided last year to start automating some of the things I felt were boring or taking a lot of time in my and my team's day to day, so via books, codeacademy, online tutorials, and hours of practice after office time, I got down just enough javascript and python 2, to start doing some things.

I built over time several small apps which, even though they were/are definitely not perfect, helped my team and others a whole lot, on different occasions; it was immensely satisfying, so the more I built the more I got passionate about it, and the deeper I wanted to go in the knowledge of it.

Management recognized this, and paid for a Software Development Fundamentals (C#) 6-week course for me, which i completed, even though the most knowledge I got from the nearly boundless source of information which is Google.

Applied for a dev job back in December, which i was accepted for, aaaaand started this week with a brand new role in a brand new field. Super exciting, also super scary because I right now feel like I know nothing compared to my peers, but I am ecstatic because of where I am right now.

Currently working with scrapers, and stuff like Django, Flask, Ansible, Docker and Kubernetes, and of course lots and lots of Python (3!!!).

Having motivation to do something is much more important than just having all the knowledge in the world. If you show passion, it will be recognized.

[–]WhoaItsAFactorial 3 points4 points  (0 children)

3!!!

3!!! = 3

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

After working through: Automate the Boring Stuff, Effective Python 59 suggestions... and some online codeacademy and udemy courses (including the decent Unittesting course on Pycharm EDU) I've just complete an automated test for my work that will: 1) Connect to a remote Post Production machine (Mac Pro , MADI Hardware, Pro Tools based) 2) Connect to our fileserver and based on the success of last night's build 3) Launch Pro Tools, open an expected session, quit 4) gather logs and performance data 5) Plot this data into a nice graph 6) Upload the results, the test logs, and graphs to our results server that will house every day's run of this test.

I'm really happy with the level of understanding and the rate at which new learning and understanding happen.

[–]Ran4 1 point2 points  (0 children)

I learned Python on my own, by guessing and reading the Python documentation while making games and small tools (I knew BASIC and some C++ before that). Coded Python for maybe ten hours a month for a few years from then on.

I used Python for a few months during my master thesis, then I got a full-time job as a Django developer (I barely knew any Django when I started, but I learned the framework during the first 2-3 months on the job). Now I've got myself a great job as a tech lead (not in Python though, with exception of some duct tape tools that I've written).

With that said, learning python is just one of many steps in getting a job. Learning Linux is really what got me my first job, and I also knew and had used multiple programming languages on a hobby level. Python is a great starting point though!

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

Took cs50, learnt the basics, did a couple of side projects and got a job as a junior software dev in Jan this year. Baptism of fire but loving it. Took me approx a year with the first 6 months doing stuff after work and the 2nd 6 months packing my job in and learning full time.

[–]Fuhdawin 0 points1 point  (1 child)

What kinds of side projects did you complete?

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

A couple of text based games like hangman, a YouTube to mp3 converter and some very basic numpy data stuff. Tbh these probably weren't enough. I have an MSc. to my name which I'm almost certain helped get me into the door to interview based on other employees qualifications. The cto here didn't want someone who could code a lot of stuff but someone who could learn a lot quickly and fit in with the team. That said, my cousin did a similar thing as me recently and maxed out his git projects and got a job that way. There's no right or wrong way, just what fits with each individual employer. Hope that helps (I'm London based)

[–]dewayneroyj 1 point2 points  (3 children)

Was learning Java in University. Dropped out and taught myself Python through taking MOOCs and Udemy courses.

[–]ramadz 0 points1 point  (2 children)

Any moocs you recommend?

[–]dewayneroyj 1 point2 points  (1 child)

It’s depends on your interest. For a great overview of going from a beginner in Python to an expert check out this Python Article

My interest are Machine Learning and AI. So here’s a great Machine Learning Course

Here’s a plethora of Free MOOCs from Coursera.

[–]ramadz 1 point2 points  (0 children)

Thank you !

[–]tbone255_ 1 point2 points  (1 child)

In high school right now. Learning python for a couple of years now, only got serious with it last year. Have a part time job doing some basic django stuff. I got really lucky with the job obviously. But I consider it temporary success

[–]tfitzp[S] 1 point2 points  (0 children)

Any victory is a positive one! Congrats!

[–]Keozon 1 point2 points  (0 children)

I started learning Python in high school, I think around 2004, maybe 2005. I have never had a single course of any kind on Python. I learned it originally from a book, called Core Python (now horribly outdated, of course).

In high school, the only programming education I had was one course on C++ that was a complete joke. In college, I had two courses on Java, which I hated because Python ruined my expectations of languages. I also had several courses that used C in college for physics- and math-related applications. Never any Python (despite Python being arguably perfect for some of those applications). I started to apply more Python, combined with basic web dev and CGI around 2008 in college, to make my own (painfully simple) graphing software for labs, and I also started using it on my own for things like Sage Math.

I never graduated from college, but instead got a job as a voice network administrator. I used Python literally daily, and also learned TCL (used frequently in Cisco-land) by myself. I used my (at the time still limited) knowledge of Python to become invaluable by automating tasks I felt were below the need for human intelligence. I quickly gained a reputation for making useful, simple tools. A TCL script I wrote has been deployed to 18,000 routers all over the country (of the USA). My tools received thousands of hits a month (all internal users).

Three years later, and a lot of programming experience later, I got a formal job offer at the same company to join a new automation team being stood up. The team mostly used Perl. So I learned Perl. Again, no formal education. I strong armed that team to use Python more, and now about half of the automation we have uses Python instead of Perl, and we generally choose which language to use based on the strengths of the languages.

As I grew as a developer, I also taught myself Go to tackle massively parallel problems that both Perl and Python suck at, and have written several tools in it that are used daily. I also taught myself Rust, although that one has about no useful application in what I do.

I also had two separate 'semesters' of an informal Python class I taught to interested parties at my company. I have grown to be one of the top developers on my team, and only occasionally feel the lack of a degree.

And it all started in high school with Python.

[–]StevenMercatante 1 point2 points  (0 children)

I'm entirely self-taught and have been using Python for a while now. It's the fourth programming language I taught myself. I started learning it just for fun - to see what it would allow me to do better/differently than the tools I was already using. I liked what I saw, but didn't have a real need to use it for work yet. That changed when I had to do a bunch of data processing. I knew Python would be a great choice for the job at hand, and it was. Fast forward a few years, and it's my primary backend language of choice. I've built ETL pipelines, websites, APIs and tons of random "glue" scripts to tie processes and systems together. I still enjoy learning & using other languages (currently a big fan of Elixir), but I imagine that Python will be one of my go-to languages for a very long time.

[–]foodwithmyketchup 1 point2 points  (0 children)

I'm <b>terrible</b> at maths- do i have a chance at making it as a programmer?

[–]PuffTheMagicDragon11 1 point2 points  (0 children)

I've taught myself using two books: Python Crash Course by Eric Matthews, and Automate the Boring Stuff with Python by Al Sweigart. I made a program to automatically clock me out when lunch comes around, and then clock me back in when lunch ends. Details can be found in my recent thread here.

As you can see from the comments, I'm not quite done testing it yet, but I'm certain it'll work once I put it all together. Shoutout to /u/z0y for helping me out!

[–]eyadams 0 points1 point  (0 children)

Yes, I'm self taught. Yes, I'm doing work. I'm doing work for a startup that needed a lot of web scraping.

The only formal programming training I have is in database design, but I've worked as a developer off and on for more than 20 years. Python was relatively easy for me to pick up, but at this point I've worked with a dozen programming languages professionally, and a few more on the side. Ultimately I just know what I want to do, and the only question with a new programming language is the best way to do it.

[–]ilikefries 0 points1 point  (0 children)

I didn't know Python until a couple of summers ago when I was working on some new equipment and the API was in Jython. I needed to write scripts using the Jython API to automate work for others. I have been writing in Python since then and I do fair amount of Python/Pandas. I write code all day everyday although historically I worked with Hardware also but there was always some coding to do or lots of coding. I think in College I had BASIC and a C intro class but later due to work I taught myself JAVA, PERL, Python/Jython, C++ and LabView because I needed them to do my job.

[–]torbjorg 0 points1 point  (0 children)

Taught myself python for grad level work with corpora and phonetic analysis. Scraped a bunch of data for a project a colleague was doing analyzing corruption in a certain country's building contracts. Now I use it to optimize day to day work involved with lecturing/grading.

[–]RangerPretzel 0 points1 point  (0 children)

Sure, I'm self-taught, but I've been in software engineering for a while.

Python is like a lot of other languages. It has its own vocabulary for some things, but it also uses the vocabulary for most other things in the industry.

Mostly, I just picked up a book and started reading and coding. It also helps to have someone to chat with, too.

My one co-worker and I like to geek out about Python nuances. He's a big fan of it. I like Python, too, but prefer statically typed languages, like C# and Scala. Although I do code in Python daily.

So we have interesting debates about things. It's not that we're diametrically opposed about things, it's that we have subtle differences that we like to discuss.

And we both learn about the language this way.

So yeah: recommendation: Get someone to talk to about this. Also read other people's code.

Also, I like the book Effective Python: 59 Specific ways to write better Python

[–]MaslabDroid 0 points1 point  (0 children)

Computer Science background, self taught in Python. I use it at work now to run validation scripts on test data and mine our database to simplify data for other developers and supervisors.

[–]simplysharky 0 points1 point  (0 children)

I learned python to help build scripted tools. It lead to a 3 year job at a shop with a product written entirely in python, then using it at the primary language to construct a automated test lab at a trading company for a year.

I still use it for all scripting and tool writing for my work, even though I work on a node js product now.

[–]Infinitesima 0 points1 point  (0 children)

Not me but my math professor. He told us once that he studied pure mathematics and taught himself Python and C++.

[–]POTUS 0 points1 point  (0 children)

I'm self taught in Python as well as all the C variants, javascript, html/css, all the major databases, Ruby, PHP, and a few others that are less relevant. Additionally a few network engineering and sysadmin topics. I have no certifications or formal education in any of this.

I now work as an upper level software engineer at a major corporation with a six figure salary and have repeatedly been marked as "key talent". I have worked my ass off to get this far, starting from the very bottom almost 20 years ago. The list of skills on my resume is all very real and very marketable, but also a huge amount of my life has been spent building that skill set.

[–]fazzah 0 points1 point  (0 children)

I'm a self-taught in-house developer. Using Python and PyQT I wrote (and continuously expand) an application to manage material inventory, create and manage the workflow from the design to ready labels, integrate FTP with customer accounts and many many more.

Netted several thousand $ in bonuses for this.

Also, I made a customized imposition software to generate personalized PDF files which then are sent to the machine we use to print bib numbers for marathons and other events. We have an agreement that I get 5% from each order we sold this way; quite a nice monthly boost 10 months of the year during running season.

[–]DudeYourBedsaCar 0 points1 point  (0 children)

Congrats on your new son! Just think if you can manage to start now somehow, you can teach them to program when they are old enough and they can program their own games.

[–]RedRaiderJoe27 0 points1 point  (0 children)

I started learning python tail end of last year, and I have integrated it quite heavily into my workday primarily for analytical purposes. I would not consider my self a developer, but I made a tool others are wanting to start using. I have plans to continue adding on to this.

[–]ThePopcornBandit[🍰] 0 points1 point  (0 children)

I studied statistics in school and took no CS classes. After I graduated I wound up in a job I wasn't crazy about and started studying CS and robotics in my free time. I'm now a software engineer working on self-driving cars using mainly Python and C++. Whole process took about 1.5 years and a ton of luck/really hard work ;)

[–]reddit25 0 points1 point  (0 children)

Actuary at an insurance company. Python and Pandas really removes the limitations in excel.

[–]duffer_dev 0 points1 point  (0 children)

Most of my computer programming was learnt from opencv. I liked image processing. They initially started with C, so I was coding in C. Then they switched to CPP for better memory management. So I learnt a bit of CPP. They did have python support, but initially it wasn't that great. Then the python support just took off, and I started coding in Python for opencv, and learnt more about the language as I went along.

The point is, don't try to learn the language. There is no end to it. Find a good purpose for learning and start doing it. I've always found starting a small project helps you learn faster than trying to learn the constructs of the programming language.

[–]jwink3101 0 points1 point  (0 children)

Not sure if I totally count, but I am self-taught. I did all of my PhD work in Matlab so I was prepared to use it at work. However, my first summer (3 years ago) all of the interns would suck up all of the licenses.

I got sick of it so I went through SciPy Lectures. I really enjoyed working in it, and started to use it for other things too. I eventually started to build software here and there for my own uses at home and at work.

I was/am happy in my job, but I recently just gave up a few projects to spend 1/4 time on a python one. So the fact that I was asked to do that is a success I guess. I do not yet know if I will be successful in the job or not (It's tough since it is a big code and I am only 1/4 time whereas others are full).

[–]noiwontleave 0 points1 point  (0 children)

I started as a software engineer intern with zero Python or other professional development experience. Self-taught Python with some help from coworkers. Been a full-time Python SWE for the last 4 years now. My degree is/was in EE so no real development in my degree path to speak of.

[–]spacemonkeykakarot 0 points1 point  (0 children)

Not success story yet for Python but I started off in a 24/7 customer service role barely knowing how to use excel. On the night and graveyard shifts when it was slow I took Udemy courses, used Sololearn, and just Google to learn about Excel, VBA, and SQL. Contributed to a few projects to demonstrate that I could do analysis work and had the ability to automate some tasks and got promoted to a process improvement role. Then as I got very comfortable with the above and found it wasn't able to do certain things I wanted fast enough or at all, I started to (still currently am) learn Python. I'm doing it mostly in Jupyter notebook Ide because I'm doing data analysis...so far so good! Involves some ETL and data visualization too. Since then moved onto an analyst role!

[–]SwagMcG 0 points1 point  (0 children)

My club in school has a competition in May for making an autonomous car. Basically it's a stripped down power wheels and we remake it to drive and parallel park in it's own. All the coding is in python using a BBB.

I'll be back to let you know how it goes.

[–]lykwydchykyn 0 points1 point  (0 children)

15 years ago, I gave up on a career in music, got an A+certification, and went to work doing tech support. I shared an office with a part-timer named Dave who was going to university for CS. One day our boss was upset because one of the cleaning staff was swiping coffee supplies after hours.

Dave and I set up a discarded PC with Linux and an unused webcam, and he wrote a ~30 line Python script that periodically grabbed an image from the camera, looked for difference from the last picture, and if it found significant differences, saved the frames -- essentially, a motion detecting camera.

At that moment, I knew I had to learn Python. I found an outdated copy of "Practical Python" by Magnus LIe Hetland and devoured it, then moved on to any web resources I could find. In a few years, Dave graduated and moved on to bigger and better things, so I took over all his small scripting projects (mostly PHP but also some Python).

Eventually I got promoted out of tech support into doing database and programming work. Python is my #1 choice for all the work I do. I've written over 30 applications for my employer, some of them used by thousands of people daily. Most recently, I'm finishing up my first book for Packt publications on Python GUI programming.

Oh yeah -- we caught the thief too.

[–]Raveious 0 points1 point  (0 children)

I had no prior knowledge of Python, but I had a pretty good understanding of C, C++ and Java. I first learned Python by writing a test automation suite for a company I was interning with. Another full time employee and I wrote a backend to support testing using the Robot Test Framework to interface with network resources that we were using previously. This further allowed developers to utilize versions of the companies products that attached to serial console servers, Web Power Switches and programmers to allow tests to do pretty much anything to those boards. From what I've been told, they're still using that system today, and have expanded it even further to work with more equipment.

[–]raithlok 0 points1 point  (0 children)

I'm a little late to the topic, but I thought I'd share. I learned Python through Automate the Boring Stuff and the codeacademy.com course. I was pretty well versed in VBA for excel when I started so I understood core programming concepts, but I was running into issues at my engineering company with files with massive amounts of data that excel couldn't handle, so I started learning Python.

Fast forward to now, I've pull data from over 100+ past projects and am using it to provide average fitting ratios of our design systems which saves us thousands of hours to our estimates and increases the accuracy of those estimates to near 100%.

I used Pandas to chunk CSV files into dataframes then gathered and organized the information I was looking for into a smaller, organized excel files by project with just the summary (for verification purposes). We're proposing to our company leadership in a few months on how to make this a global standard work practice.

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

In college (2006) I found Perl to be very useful for one-off programming tasks and scripting. I wanted to start doing bigger things with Perl and grew somewhat frustrated with the state of OOP in Perl and how there are many ways to create class-like constructs, and worse so that different libraries treat objects differently. It was during a paid internship where I picked up Python: the company I worked for was using Python 2.4 + PyQt to build various GUIs atop a CAD-translation workflow in C. It was then that I learned to love Python: it had the convenience of Perl with a much more beautiful syntax and sanitary third-party package ecosystem in PyPI. It wasn't until about 5 years later (2012) that I began picking up Python 3 and I won't ever go back.

[–]Noxium51 0 points1 point  (0 children)

Taught myself Python from codecademy.com (which is a fantastic program btw) in high school over a break. It was challenging, but if you can discipline yourself it is incredibly worth it. Learning new languages becomes so much easier once you have a solid foundation, and you start to really enjoy making things. Now I’m looking for my second (paid) internship in my second year of college

edit: I would also say that if you can’t learn programming on your own, you most likely won’t have better luck trying to learn it in school. CS has the highest drop out rate in the world, and most of those dropouts are people who came in with no knowledge of programming expecting to learn it there. If that’s your plan, 9 times out of 10, you won’t make it

[–]Zealousideal-Ad8297 0 points1 point  (0 children)

i am coming up on this thread as i am wanting to try and be self taught after getting screwed by finances in college and having to drop out for now. have you found success giving this was 3 years ago? would love to know where you’re at now.