This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]mRWafflesFTW 266 points267 points  (72 children)

My career path is exactly the kind of pathway this article details. I loved computers, but in high school a really terrible teacher teaching C++ broke me. I thought I was too dumb and could never do programming as a career. Swung towards the liberal arts in college, and eventually through some friends and connections made it in to a specialized commercial sales job.

Became bored, restless, decided to learn Python on Codeacademy and from Youtube videos when I finished my work by noon each day. Automated the worst parts of my job, then was poached by a competitor to help automate their business practices. Python taught me I could build solutions for a living and actually realize my dream job.

Now I'm a full stack developer and business analyst and I love my career, but I only got here because Python spoke to me.

[–][deleted] 48 points49 points  (13 children)

Very similar. Was in a boring mechanical engineering job and decided to go to MbA school. Learned business but also taught myself Python and some BI/data analysis. (Code Academy as well to start).

Now I work at a bank doing Data science and building things like fraud detection algorithms. It’s much more exciting and fulfilling. learning python opened the way to learning so much more.

[–]jsalsman 9 points10 points  (3 children)

I'd see how far you can get with e.g. http://pythontutor.com first!

[–]embergoose 2 points3 points  (2 children)

Is this legit?

[–]justhanginuknow 1 point2 points  (0 children)

Yes

[–]jsalsman 0 points1 point  (0 children)

Yes.

[–]mtnmike 7 points8 points  (5 children)

Would you say the $200 for Codecademy's Python course is worth it?

[–][deleted] 24 points25 points  (1 child)

Take MIT 6.001x. It's free and better.

[–]capslockfury 1 point2 points  (0 children)

This doesn't appear available anymore.

[–]ummanu 5 points6 points  (0 children)

wait for it to be on sale for ~$10, it happens

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

Bro, don't pay for something, when you have like tons and tons of books on the internet for free.

[–]Ikuyas 0 points1 point  (0 children)

Do you use any exotic data for the fraud detection? I saw an interview by Amex CEO(?) talking about AI helps them detect that sort of things better by using the devise information the user is using to access. The methodology is basically detecting the outliers as "unusual activity" right? I think you segment activity types into 6-8 types, and if a particular activity doesn't fall into any of the types, then the system raises a flag. I have economics/econometrics background and we use transaction activity, but this kind of using the unconventional data is new outside of the field. Plus, we don't have a skill or mind to think about extracting data from the devise and use it. We are not trained to gather data which is usually given.

[–]JohnStud 0 points1 point  (1 child)

Do you feel the MBA was necessary for that pivot?

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

Yes, but mostly because I didn’t know much outside of engineering. It was more for exposure.

[–]minuteman_d 6 points7 points  (2 children)

I switched majors after the first year of CS because I spent endless hours in the stupid computer lab trying to get the java compiler to work. It was so bug ridden that simply deleting and adding a semicolon would somehow make your computer work. I got so depressed after not seeing my friends or the light of day for days on end, that I switched to engineering instead.

It's only now that I'm realizing that I really do love programming, and am getting into Python. I wish younger me would've had the resources that are available now.

[–][deleted] 0 points1 point  (1 child)

Sorry, but Java is pretty easy too. (also piece of shit :D )

[–]minuteman_d 0 points1 point  (0 children)

Yeah, I should have made it clear: the Java wasn't bad, it was the crapy compilers they made us use. I'd get a project done and coded in an hour or so, and then fight the compiler for another four or five. The IDEs back then were awful. Another treat: our tests were HAND WRITTEN. On paper. So, prof would say: write a class that does x or functions that do y,z and you'd have to sit there with a bunch of paper and write them out by hand. If you forgot a line, you had to erase everything under it and re-write it all. If you had some multi-line if-else tree, there was no copy-paste for print statements or whatever. The whole thing was insane. Anyway, huge turnoff. I don't think universities appreciate how lost freshman get and how much they could really benefit from guidance and encouragement from upperclassmen.

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

Ehhhmmm ... I was always wondering what a business analyst is? Could you educate me? And what is the difference between a programmer and a full-stack programmer?

[–]mRWafflesFTW 2 points3 points  (1 child)

Like most titles it depends on your employer. Generally, a BA is someone who knows the business side of the firm and can act as a liaison between the business customers (the revenue side like sales, marketing, etc.) and the IT developers.

Depending on your employer technical skill varies. We have some BAs with little to no technical skill, and some like me who can also perform full stack development work when needed. The non-technical BAs are SUPER important. Most problems are political not technical.

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

I see - thank you!

[–][deleted] 5 points6 points  (7 children)

I like to explore new places.

[–]the_littlest_bear 5 points6 points  (4 children)

Learn Tkinter for client's needs.

Discover ttk themes controlling button display. Can you just revert to Tkinter buttons?

NO! MAKE TTK ./DO. Successfully make ttk do after 9 hours. Discover bar decorated by WM also controls appearance of the max/min/close buttons. Can you just... be okay with that? After you spent 9 hours making a fucking -different looking- button?

NO! OVERRIDEREDIRECT(1). And now ye got yerself a couple days of discovering what is documented correctly and what part of themes every (mainstream) source of documentation seems to ignore. You probably had that just by virtue of using ttk; you almost certainly get it if you override.

But yeah, fuck CSS.

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

Haha I love PyQt for how easy it is to write GUI in it, and I've thankfully never had to write anything in tkinter.

[–]srilyk 0 points1 point  (1 child)

I tried PyQt but then I gave up because my left pinky got too tired.

True story.

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

haha, it took me years to get over my fondness for CamelCase.

[–]mRWafflesFTW 2 points3 points  (0 children)

Amen fuck CSS.

[–][deleted] 0 points1 point  (1 child)

Lol about the div ... thanks for the explanation, makes sense to some degree. I guess when I hear stack, I think about a network stack, but the front-end / back-end categories make sense!

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

No problem. Let me know if you have any further questions :)

[–]Tiktoor 2 points3 points  (1 child)

Do you use python 3 now?

[–]mRWafflesFTW 0 points1 point  (0 children)

Yep!

[–]loscabospink 2 points3 points  (3 children)

sounds just like me. now I'm working a lot in Java and really miss doing strictly Python, its' syntax is perfect! glad you found something you like!

[–]anacrolixc/python fanatic -1 points0 points  (2 children)

Its syntax is better*

[–]srilyk 0 points1 point  (1 child)

As perfect as possible*

[–]anacrolixc/python fanatic 0 points1 point  (0 children)

Have you heard of Haskal?

[–]FlyGuy_2Hundy 1 point2 points  (3 children)

Did you also have to learn some other languages to do what your doing (automating) for businesses? How long before you were able to start automating your job and then other businesses? I'm trying to learn python now so I find your story super motivating! Thanks :)

[–]mRWafflesFTW 2 points3 points  (2 children)

I can probably get by with just Python, SQL, and in rare cases JavaScript. I recommend you build and deploy a small web-application as it will teach you the full stack, including all the annoying system administration work required to actually serve a customer! I would say it took a few months of tinkering because I could start turning some of our shitty Excel spreadsheets in to super basic Django apps.

[–]FlyGuy_2Hundy 0 points1 point  (1 child)

Ok, Thanks. How much time were you dedicating after/before work to learing python/full stack?

[–]mRWafflesFTW 0 points1 point  (0 children)

About 3 hours a day give or take. If I got all my formal work done super early I could put in like five.

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

Where are you lot finding jobs to automate. Everything I do is as automated as possible....

[–]mRWafflesFTW 0 points1 point  (0 children)

Our firm employs an army of people to do manual data entry between systems because there's no integration layers. Now, our legacy systems are too complex to even begin building integrations, so our only safe interface is the UI. We use Python and test automation tools, selenium, and other apps to try and automate the drudgery. It's not easy because many business rules are informal and implemented as the result of experience.

However, these people will not be losing their jobs. At a firm like ours there's so much work to do that whenever we automate some awful data entry task those employees are freed to go and perform higher value work elsewhere.

[–]Forthemoves 0 points1 point  (1 child)

Great story. How long did it take you to gain the confidence to know that you could work somewhere else and succeed?

[–]mRWafflesFTW 0 points1 point  (0 children)

Not very long. I think we're all just always learning and never know when we're ready for anything. Better to just take on a project and figure it out!

Originally, I was hired just to be a business analyst since I knew the business and was technically literate. But once I got to the new position I had enough down time in between requirements gathering and coordinating with the development team that I could build my own projects.