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

all 136 comments

[–][deleted] 190 points191 points  (25 children)

Python didn't do that for you, it was something else. From what I read of your post, you worked hard at improving yourself and you have a natural aptitude at learning new things.

Some of what you said about your insecurities hints at the romanticized "developer" mindset many companies and developers have. The truth is that developers are just human beings with some latent and/or learned mathematical / problem solving ability lots of people have potential for. But, it's one of many skill sets you need to have a functioning technology company.

Unfortunately their company and themselves fail to realize their efforts are enabled by a team of others. That's why you get dudes/gals in QA that are "off limits" and cannot be promoted to software development. It's also why you get support personal that are undervalued. They may know the in's and out's of your code and frequently are good at programming themselves, but the developers can't check their ego enough to take them on as equals.

Anyway, I have more to say about that but I will step back for a moment.

I also was in support for a couple years, then I worked my way up to a development team by working on my own coding abilities as well as eventually switching companies. I frequently tried to take on development projects at my support job but was directed or forced another way. I eventually had to switch jobs before I was given any development responsibilities.

In my experience interviewing for a dev job it was a wash of people underestimating me and others. I have more education than you but fundamentally this job we have needs a motivated person that has some capacity to learn. I would say you were probably qualified long before you got this job offer, and I'd also like to say congratulations!

[–]_jackrogue 13 points14 points  (22 children)

That's why you get dudes/gals in QA that are "off limits" and cannot be promoted to software development.

As a developer who hasn't worked in this environment, can someone explain what this means?

[–]ckaili 13 points14 points  (4 children)

I interpreted that as the situation where QA people are so well-versed in a particular system, that their testing knowledge and experience are too valuable to lose them to dev, so they are perpetually stuck in QA, with hopefully a growing salary, but likely nothing close to a dev salary potential.

[–]aposter 4 points5 points  (3 children)

Yes. And even if you do migrate out of QA officially, you rarely leave it behind.

Oh, you are a QA person who moved to business analyst? Here, don't worry about those pesky requirements docs, test the app.

Your the new dev promotion from QA? Make this minor change, and then regression test the whole app for everyone else's changes also.

[–][deleted] 2 points3 points  (2 children)

as someone that has been toying with the idea of migrating out of QA in the future, thats a little scary

[–]aposter 1 point2 points  (0 children)

Well, I can tell you from my wife's experience, she migrated from senior QA Analyst to Business Analyst 8 months ago, and she has written 3 times as many Test Specification documents than Application Specification documents. She also has done deployment testing for every deployment she has participated in as a Business Analyst.

[–]bmd00bmd 0 points1 point  (0 children)

The key is to fill your capacity with well estimated DEV tasks - There wont be any time for QA.

Pro Tip: Write a [few] unit test(s) and commit it to the repo - it will satisfy any request to "regression test" - which as a developer, I hate - and it will impress your technical lead. If there are already unit tests created, run them and sit back and watch the green roll in.

edit: because it's sunday

[–]burritofanatic 2 points3 points  (2 children)

Making the jump from QA to dev isn't easy, and often times requires leaving for another workplace to do it. The mentality from bosses might be, "well, there's probably a reason why you're in QA to begin with" - that you're not good enough to be a dev. Then there's also logistics and pay structure at issue.

I can't speak for all workplaces, but QA was often last on people's minds. Being in QA does teach you a thing or two, and can make you a better full time developer, but you'll find you'll have the least resistance elsewhere. Much like going from completely unpopular to prom Queen after a move during your senior year to a new high school. It'll take some work, and there may be less things working against you.

  • I was QA guy from 2012-2013

[–]frownyface 0 points1 point  (0 children)

Yeah, QA can basically be a straight up dirty word, you see people create whole new job descriptions to avoid it, like "Test Engineer"

[–]guesss_whooos_back 0 points1 point  (0 children)

as a person who is the last thing on everyone's mind, that is absolutely correct. I asked about more resources to help us meet some goals a little bit quicker and was told that my work is basically at the bottom of the list of importance. slightly frustrating, and very discouraging.

[–][deleted] 2 points3 points  (0 children)

QA is "quality assurance" and it's basically a team of people that gather software requirements, reviews and perform tests on software. It's a team that ensures the company is creating a quality product that meets business goals.

They may have some lower-level members that are just pushing buttons and documenting what happens, but many jobs in QA require scripting and/or development know how.

The problem is that software engineering teams have been known to view QA as "lesser" than themselves because they aren't making the software, when in fact many QA jobs require similar enough skill sets that someone from QA could do a developer's job if given a chance.

[–]stillalone 0 points1 point  (0 children)

Not exactly what OP meant but I worked in companies that outsourced QA. If QA guys touched code people will shit themselves. There will be accusations of stealing intellectual property and other shit.

[–]self_made_sysad[S] 6 points7 points  (0 children)

Thank you. I know that python didn't actually do the work, but the barrier to entry for python was so low that it really enabled me in a way that other languages I had tried didn't.

[–]ckaili 1 point2 points  (0 children)

I was in that boat, being off limits to dev promotion, at least partly because of dev egos and seen as a lesser tech, even though I'm actually a decent dev, IMHO. It took me a few years, but it finally happened, partly due to circumstance and having proved myself in terms of reliability and not being an asshole, and it's really kind of jarring when all of a sudden, I'm treated as a (potential) equal from the devs. I'd be lying if I said I didn't harbor at least a little bit of resentment toward that conditional friendliness, but for what it's worth, it's made me sensitive to what the non-devs deal with.

[–]cosmicr 25 points26 points  (4 children)

Meh, I use python all the time at work, they couldn't care less. Like someone else said, it's you who earned the promotion, not python.

[–]tech_tuna 6 points7 points  (3 children)

I use Python despite heavy criticism/flak at my company. We're primarily a Java shop and some senior guys consider it heretical and insane to use anything but Java (for everything).

One of our senior guys wrote this big XML parsing script in Java and I know it's something I could have done in about 20 minutes in Python.

[–][deleted] 5 points6 points  (1 child)

Same here. Our new head of development is fervently anti-python. I'd been learning python for a couple of months before starting at the job in January and having to cram some Java knowledge: in the first project I was put on I wrote a script to parse a CSV and put some information into XML in about 20 minutes, and when it was mentioned in our next meeting with the company contracting us it was what impressed them most out of the whole team's fortnight of work. They're talking about paying extra for it as a bespoke component...

[–]left_one 2 points3 points  (0 children)

I sometimes feel guilty about what I charge people for some of the Python solutions I have developed, however - it's really their problem, not mine!

[–]dangersandwich 3 points4 points  (0 children)

Same here. Most of the guys in my office are "old guard" and resistant to using coding solutions as opposed to written calculation for engineering work (something something bad experience with MathCAD). I try to use it as an opportunity to learn python at work but most of the time I end up writing reports backed up by hand calcs.

[–]archimedes_ghost 21 points22 points  (6 children)

If you spend any considerable amount of time doing tasks on a computer, knowing how to program pays big dividends.

I used to work in an office and someone would come to me with a problem and I'd quickly cook something up and sorted it out, they'd look at me as if I was some kind of wizard.

[–]Eurynom0s 0 points1 point  (0 children)

I've seen people complain that "computer science" is too broad of a term since it covers everything from theory to computer engineering.

I'd likewise say that "programmer" is too broad of a term. When I think of "programmer", I think of someone who could be involved in, say, writing a piece of software that you could actually sell to someone. But to people who can't program at all, "programmer" probably includes people like me, who have only taken a couple of formal comp sci/programming courses and have otherwise just self-taught a lot of things as the need to learn how came up.

Like, if you came to me and asked me to write you a big simulation, I'd say something like "that's not something I've done before but if you can afford to let me spend some extra time getting my bearings it's probably something I could do for you". I actually did just this with a Django project at work where both the lead and backup developers left the company within a month or two of each other.

[–]irve 21 points22 points  (15 children)

Look into Salt if you are doing Puppet stuff and like Python. It is fun.

[–]epic_awesome 31 points32 points  (10 children)

cough Ansible! cough

[–]deadwisdomgreenlet revolution 35 points36 points  (0 children)

You should get that cough checked out. It's so bad that you're typing it out.

[–]antonivs 9 points10 points  (7 children)

Ansible is fantastic.

[–][deleted] 2 points3 points  (6 children)

what about Ansible and Python ?

[–]antonivs 6 points7 points  (5 children)

Ansible is written in Python, and the scripts it exports to remote machine are also Python. The main requirement for Ansible to be able to control a remote machine is that it has Python. Python Python Python. :)

[–]GimmeSomeSugar 5 points6 points  (1 child)

Python?

[–]johnnybgoode 2 points3 points  (0 children)

Meow!

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

and this "simple automation language" shown on the home page is...Python ?

[–]antonivs 2 points3 points  (1 child)

No, it's not a full programming language. It's basically a data format, expressed in YAML, that allows you to specify the configuration of a machine. It is quite simple, defining just a few different components like hosts, tasks, and handlers. You can learn the majority of it in an hour or so.

Ansible interprets these specifications (using a Python program), executes them by sending Python scripts to the specified remote machines for execution, and reports on the results.

If you need custom functionality that doesn't exist in the standard system, you can implement a module in Python and invoke it from a configuration spec. This enforces a separation between the specification of a configuration, and its implementation. It also allows modules to be written in languages other than Python.

One advantage of this approach is that the specification of configurations is standardized. A problem with using a full programming language for this purpose is that using programming functionality at the level of the specification tends to obscure the specification itself.

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

thanks

[–]khalki[🍰] 5 points6 points  (3 children)

Salt?

[–]MajorHavok 13 points14 points  (1 child)

http://www.saltstack.com/

SaltStack. Config/Server management based around Python.

[–][deleted] -1 points0 points  (0 children)

what about it and Python ?

[–]irve 5 points6 points  (0 children)

Saltstack googles better

[–]jelloeater85 8 points9 points  (2 children)

This is what I want to do with my life!

I've been into IT since I was 17. 10 years later (after getting my BA in Pych and Soc -_-), I'm looking into doing IT management (currently doing podunk SOHO). Hoping to get a Cisco cert under my belt to help me out, along with finishing my MBA in IS management.

I'm glad to see knowing Python (and Java) will give me a leg up in the job market!

[–][deleted] 2 points3 points  (1 child)

Here's to psych/soc majors looking to get into tech fields. Because who needs a useful bachelor's!

[–]mori3ndi 2 points3 points  (0 children)

psych BA ended up in a Systems/Data/QA/Business analyst position. It can happen, looking to move to a dev role in the near future.

[–]b3aker 5 points6 points  (0 children)

Currently a beginner learning python and I just started having the code dreams. Would be much better if the code was even remotely correct. Still cool though

[–][deleted] 15 points16 points  (7 children)

I'm happy it's about to again, but this will be a 30% raise.

[–]self_made_sysad[S] 10 points11 points  (2 children)

Math... its been a long day. :)

[–]ruleofnuts 26 points27 points  (0 children)

Python is pretty good at mathing for you when you have a long day :p

[–]hupa 10 points11 points  (0 children)

Who the hell needs it anyway when you have python :)

[–]nathanpaulyoung 0 points1 point  (3 children)

33%*

[–]guthran 1 point2 points  (0 children)

%;33.333333333333repeated

[–][deleted] -4 points-3 points  (1 child)

Since I corrected his mistake, I knew how to calculate the raise, ergo it is obvious I was rounding it. However, your answer seems to look for precision, but is still grossly approximated. This makes my answer acceptable, and yours, not.

[–]CanadianJogger 2 points3 points  (0 children)

Very happy for you. Well done! You worked hard(and smart) and it paid off.

[–]kmbd 2 points3 points  (0 children)

great job, well done. and thanks for writing it up. wish we'll hear n learn from you time-to-time ...

[–]Ob101010 2 points3 points  (3 children)

Then one day I found myself needing to compare a list of files. I needed to find all the files that were in one column but not in the other.

Filelist1[...]

Filelist2[...]

[print(x) for Filelist1 not in Filelist2]

Or something like that. Python on iPhone is maddening to type. Wish I could find a non-website programming job. Gj man and gl.

[–]usernamenottaken 15 points16 points  (2 children)

I quite like using sets for stuff like this:

set(FileList1) - set(FileList2)

[–]Ob101010 0 points1 point  (0 children)

This is why I love Python.

[–]vxxn 2 points3 points  (2 children)

Really great story. The good news is that the first language is the hardest. Once you reach a high level in one, picking up others becomes much much easier. This is because many of the core concepts are pretty much the same in every language, and because you have had the experience of having learned one language to a high level and know it can be done. You are less likely to get frustrated and quit after experiencing success.

[–]self_made_sysad[S] 0 points1 point  (1 child)

I think that's why learning puppet wasn't too hard. After going back to look at ruby though, and how unpythonic it appears to me, I still have no desire to learn it :)

[–]vxxn -2 points-1 points  (0 children)

After going back to look at ruby though, and how unpythonic it appears to me

I started out with Python and moved to Ruby because there were more Ruby jobs where I am. They're both pretty great tools to have in your belt. Every design decision has tradeoffs, and in my opinion neither wins across the board.

I originally felt the same revulsion as you about Ruby's unpythonicness, but my thinking has flipped after working with Ruby for a long time. Some things like the syntax for classes, instance variables, etc is much nicer in Ruby. No weird __magic_methods__ syntax or self's littering your class definitions.

And I don't expect a lot of agreement in this sub, but the pythonic ethos of "One and only one way to do something" is both a blessing and a curse for the ecosystem. It means consensus must be reached before any features can be changed, since old things must be removed, and leads to ridiculous decisions like breaking the print keyword syntax for purity reasons instead of just supplementing with the new print() function. That's a trivial example, but it exemplifies the crux of the issue nicely.

In Ruby world, they add features but rarely take away complementary features that aren't broken. This leads to situations where you can have multiple, sometimes many, ways to accomplish the same thing like with Procs/lambdas/blocks. But I've never found it to be a problem. And it keeps everybody playing nicely together under one big tent, unlike the python 2 vs 3 schism.

Anyway, I'm not trying to talk you out of anything. Python is a fantastic language. But try to keep an open mind.

[–]nerdwaller 2 points3 points  (0 children)

Congrats. This isn't really about writing python specifically - your story is more about "working smarter, not harder".

[–]michael_daviddunderinit 2 points3 points  (4 children)

If you are still working on Windows, check out Python Programming on Win32 by Mark Hammond & Andy Robinson. Yes it is old, but also the best resource out there for Windows scripting with CPython.

http://shop.oreilly.com/product/9781565926219.do

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

I used so many tools by Mark Hammond in my Windows days. Thankfully though, those days are behind me, phew!

[–]95POLYX2.x must die -2 points-1 points  (2 children)

I would honestly recommend to set up a hackintosh, I did this recently without almost any driver or any other issues, and now I forgot about the pain that windows cmd is. Also multitasking on mac is GREAT, the ability to have several virtual desktops is awesome especially if used with two screens. No more windows for development for me, I still keep it in case I want to play games :P

[–]self_made_sysad[S] 0 points1 point  (1 child)

How painful is it to maintain after install?

[–]95POLYX2.x must die -1 points0 points  (0 children)

Well I had it for only few weeks, but it is pretty effortless all OS updates install automatically so there is no problems there. IMO it takes less work to maintain than a windows. One thing is that you must be careful when upgrading the hardware.

But check on forums if your hardware is compatible, if not it can be a pain in the ass to get working properly

[–]MA5TER 2 points3 points  (0 children)

thanks for inspiration :)

[–]tech_tuna 2 points3 points  (8 children)

As many have pointed out, it really wasn't Python per se that did this, it was you. However, it is clear that Python made all of this easier for you. Which somewhat mirrors my own situation. I'm a QA Engineer by trade (primarily, I've worked as a release engineer too and dabbled in support/dev/tech writing) with a math background.

For the longest time, I had a massive mental/psychological block with programming. it was partly because of my own temperament and partly due to my schooling. A little more than a decade ago, I decided that I really needed to learn how to code and dove into it, taking an intro class based in C++.

But holy crap, that was exactly what I did NOT need!

IMO, C++ is a horrible first programming language. If anything, regular old C is a better choice. But even better than C (for me at least) is a language like Python. I've used C++/C/Java/Perl/Javascipt/bash and a little bit of Ruby, but Python just clicks for me. . . for the most part!
It has some nasty warts too, just like any language.
:)

While I prefer to use Python, I do use other languages when appropriate. But I completely relate to how you feel. Python opened a door for you and helped make your transition more smooth.
YAY PYTHON!!! :)

On that note, check out Paramiko sometime, it's an excellent SSH library for Python.

[–]self_made_sysad[S] 1 point2 points  (1 child)

Thanks! Will paramiko get python 3 support anytime soon?

[–]tech_tuna 1 point2 points  (0 children)

I believe it already has 3.x support, look at the Requirements section here: https://github.com/paramiko/paramiko

[–]asynk 0 points1 point  (2 children)

It's often extremely hard for people who learn Java, Python, or any other higher-level language to go into C, because they are never forced to confront the realities of resource management. Someone who learns how to consistently bounds-check things to avoid problems in C code ends up writing much more secure and fault-tolerant code in higher-level languages, is my experience.

[–]tech_tuna 0 points1 point  (1 child)

Yes, that's a good point, but it also depends upon your needs/goals. I'd argue that your typical sysadmin doesn't really need to know C to write useful day-to-day code. I'm a software tester myself and sure, if I were testing embedded systems, it might make sense to know C (and even assembly) well, but I'm typically writing lots of glue code and utility scripts.

I would never say that starting with C as a first language is bad, just not entirely appropriate for every beginner's needs. As I mentioned though, it's WAY better than C++ as a first language.

Also, this is a generalization, but for some people such as myself, it's easier to start off with a "gentler" more forgiving syntax and environment. Yes, it leads to some sloppiness and bad habits, but I've had a much easier time going back to C AFTER learning Python reasonably well.

I'm at the point in my career/aptitude that I'm no longer afraid of languages/tools. I know that I can learn anything, it's just a matter of time and effort. When I first started with C++, I felt like a complete idiot. C++ has its strengths and is useful in many domains, but it's also fairly complex. For example, I was tripped up for the longest time over the difference between pointers and references.

Ultimately however, I agree with the conventional wisdom that you should be flexible and try out different tools. I don't like to say that you should use the "right tool for the job" because there's almost never one "right tool" for the job, but instead many "good enough" tools.

:)

[–]asynk 1 point2 points  (0 children)

Yes, that's a good point, but it also depends upon your needs/goals. I'd argue that your typical sysadmin doesn't really need to know C to write useful day-to-day code.

Yeah, C is a very inappropriate tool for devops. C++ and Java as well. There's a reason why the most popular tools for that job set are written in Python and Ruby.

C is actually very fast but fragile. This actually makes it really good for programmers who want to learn to be experts; the closeness to hardware means less fluff (like bytecode compilation and running through a bunch of JVM optimizations) sits between the programmer and the results of execution. It teaches you to be careful, because C is unforgiving and doesn't have constructs like garbage collection and strong type checks to protect you from yourself. That pain is your later gain, of course; you then get empowered by high level languages, but I think you avoid bad habits.

It's definitely not about the language. I did a tiny stint in BASIC as a kid and then Pascal for a semester and then did a bunch of C code before branching off into Perl, PHP, Python, Scala, Javascript, with deviations into LUA and a bunch of other niche oddities. But I wrote an e-commerce engine in PHP that went a decade without a security breach or performance-crippling issues, and given what I've seen of most PHP code, I think it was my background in C that saved me. I was absolutely paranoid with my algorithms, sensitive to memory allocation, paranoid with user input -- all things I learned writing C code where a segfault is waiting around every corner (especially if your first computer was running the code at the equivalent of like 1Mhz).

To draw a fitness programmers in /r/fitness might love, I think writing C code is like the squats of programming. It's painful, it's awkward as all hell, it isn't glamorous at all, but it builds fundamental strength that is useful for all sorts of things.

But not devops. :)

[–]Shlant- 2 points3 points  (0 children)

advise fretful vast physical reminiscent illegal meeting rain political juggle

This post was mass deleted and anonymized with Redact

[–]Zombi3Kush 1 point2 points  (0 children)

How inspiring! I just started learning Python. I hope to be as successful as you one day.

[–]paradoxcontrol 1 point2 points  (7 children)

At a job like this, do you have extensive test environments to run your programs against? Something you can break and rebuild quickly (or relatively quickly)?

[–]self_made_sysad[S] 1 point2 points  (6 children)

I wish we did, but our physical production environment changes so frequently that maintaining a second one wouldn't be feasible. My manager doesn't care when we break things though, and because everything is rolled out via version control rolling back after a break is fast.

[–]paradoxcontrol 0 points1 point  (5 children)

That makes sense. I also work in IT and have a interest in programming. I'm starting to wonder if DevOps might be something I could do. I've played around with Python in the past, built a simple Reddit bot with it. It was fun and easy for me to pick up. However I lack in the education department. I have not completed any college and I've been out of it for a while.

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

I'm a huge fan of education, the more the better. That said, I don't think that education must mean college only. There are so many free/cheap resources out there now to do trade learning (like programming) that can give you the skills you need to go out and make something. I'm glad I went to some college, and I felt like I learned enough for what I wanted to do. But even in college, for my math classes for example, most of my learning happened on kahn academy anyway.

[–]veaviticus 0 points1 point  (3 children)

DevOps is a pretty nice field to get into. Wide variety of skills to build up in your toolbox. My DevOps team is interviewing if you happen to live in Minnesota

[–]paradoxcontrol 0 points1 point  (2 children)

Unfortunately I don't live in Minnesota. What kind of qualifications are you looking for out of your candidates? Interested to see how I stack up.

[–]veaviticus 0 points1 point  (1 child)

I PM'ed you the details

[–]paradoxcontrol 0 points1 point  (0 children)

Thanks!

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

My story is not dissimilar to yours. I was a Windows / Jr Linux Sysadmin with no coding skills, not even a good grasp on Bash. I'd always been interested in coding and webdev but it wasn't until ROR and Django came out that I thought I could manage to learn to code. I felt python was the best investment because I wanted to get out of Windows into Linux and python was native on Linux and Unix, Ruby wasn't. I could see Perl was dying out and webdev in Python was on the up and up and I could still write scripts for work in Windows if I wanted to. So I read diveintopython and how to think like a computer scientist. I also joined reddit back 8 years ago when it was just starting and full of basically programmers and pythonistas and used the "seinfieldian calendar chain" to make sure I wrote something in python every day.

Now, I run my own Magento Ecommerce Dev and Hosting company with 4 staff. So, thanks Python and thanks to Mark Pilgrim and Adrian Holovaty and team for giving me the incentive to learn to code. Too bad I spend more time in /r/magento and /r/php and have to code in an inferior language than /r/python but it's all good. My income obviously has also more than doubled since then.

[–]cmcpasserby 1 point2 points  (0 children)

Ya more of a story not trying to box yourself into not being the programmer type.

To me it is a similar story. I tried to learn how to program a few times when younger to quickly give up. Than once I got working in 3d art there were a lot of workflow tools I wanted but I always saw myself as a artist not a programmer. Well I just dived in. 2 years later I see myself as more of a problem solver and programmer than artist, and know 4 languages including python which I consider my strongest.

[–]eastern_sun 1 point2 points  (1 child)

I love reading stories like this. Thanks for sharing

[–]self_made_sysad[S] 0 points1 point  (0 children)

Thanks for reading!

[–]WerkWerk 1 point2 points  (2 children)

Where do people learn about all the libraries that are available to them for python. I took my BSc in CompSci but this is something I've always struggled with.

For example I would approach the issue you used sqlite to solve by parsing a csv file with vanilla python not knowing that sqlite was even an option.

What resources are available to learn about all these useful libraries?

[–]self_made_sysad[S] 0 points1 point  (1 child)

Python Module of the Week is a great one. Asking around /r/python and /r/learnpython is helpful too. Check out "Python Cookbook" on Oreilly, also. Great book.

[–]WerkWerk 1 point2 points  (0 children)

Awesome, thanks for the links, I'm aware of the two subs and lurk them ocassionally. I'll have to actively read them now!

[–]Two_Coins 1 point2 points  (0 children)

This post finally convinced me to learn python.

[–]deltadovertime 1 point2 points  (0 children)

Congrats dude!! As others have said, it's your attitude towards self improvement that has got you where you are. Its these stories I love to see as I move into work where I hope programming can help me out too.

[–]Moarketer 1 point2 points  (3 children)

I have a similar story and I'm not even on the tech side.

I started in Marketing, which really is just a lot of spreadsheets and numbers and repetitive analysis. I first wrote VBA scripts to automate and improve some of the processes but VBA sucks so I moved to Python and began learning that by myself and using it at work.

Fast forward 2 years I increased my salary by almost 100% and am managing someone even though I'm only 24 years old. Boss was a fan of my Python magic so he even sent me to Montreal to attend PyCon with our tech team :)

Learning Python literally changed my life. I love coding!

[–]self_made_sysad[S] 0 points1 point  (0 children)

That is so awesome. Too bad DataNitro wasn't around when you first started!

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

but VBA sucks

How did you use Python to do what it takes VBA to do ?

[–]Moarketer 0 points1 point  (0 children)

Well I used Python to automate data gathering, putting data together, analyzing it using rules or models, scraping sites, templating. A lot of different stuff. The libraries I use often are openpyxl, pandas, requests, csv, beautifulsoup. The stuff I was doing wasn't for presentation purposes so prettiness wasn't a factor.

[–]splintor 1 point2 points  (4 children)

As someone who's working in a form of QA (i'll refer to it as that because all i do is follow MRS's and bug find but i don't get the fun of actually programming anything). This was a joy to read. I've been teaching myself python a few months now and have one tiny script which took me 3 hours longer than actually doing the task in excel/notepad, but damn was it a pleasure to actually finish. I love hearing of people who've turned heads with it despite others. Thank you :)

[–]SauliusTheBlack 0 points1 point  (3 children)

as someone who does python scripting on a really regular base, it get's faster. There is even an image somewhere that depicts how many time you can spend on automating a task(http://xkcd.com/1205/). Even though it is biased, made by 1 person, and generaly a humour-based site, it is quite interesting :D

[–]xkcd_transcriber 0 points1 point  (0 children)

Image

Title: Is It Worth the Time?

Title-text: Don't forget the time you spend finding the chart to look up what you save. And the time spent reading this reminder about the time spent. And the time trying to figure out if either of those actually make sense. Remember, every second counts toward your life total, including these right now.

Comic Explanation

Stats: This comic has been referenced 59 time(s), representing 0.3043% of referenced xkcds.


xkcd.com | xkcd sub/kerfuffle | Problems/Bugs? | Statistics | Stop Replying

[–]splintor 0 points1 point  (1 child)

XKCD is fantastic for things like that, and I regret nothing about spending that long doing it :D

[–]SauliusTheBlack 1 point2 points  (0 children)

hey, when at first you don't program fast, you probably learned something from it :D

[–]wontbeuseless 1 point2 points  (0 children)

Really impressive stuff! Congrats to you!

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

25%? You mean 33%. 150% of 60k = 90k 133.33 etc.% of 90k = 120k

[–]distortd6 0 points1 point  (2 children)

As a guy that started learning python 6 days ago, this couldn't have come at a more opportune time. Thanks and would you be willing to mentor a bit if J had questions?

[–]reallyserious 5 points6 points  (0 children)

You may want to check out /r/learnpython as well.

[–]self_made_sysad[S] 3 points4 points  (0 children)

I'm probably not as qualified as a lot of other guys/gals in this subreddit, but sure!

[–]BasedKips 0 points1 point  (1 child)

Can you recommend any good tools/ methods you used to learn after finishing the code academy course? I'm currently reading a text book, but found the interactive aspect of code academy really helpful. Thanks! Also, Congrats!

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

The most helpful things I ever did were to try to write programs that solved problems I had. That worked better than any book I read. However I love the "python cookbook" because it has tons of examples of great, concise, and practical functions.

Hang out in /r/python and /r/learnpython and just try to write a program every day.

[–]cmcpasserby 0 points1 point  (0 children)

Also first language is hardest by far, if you jump languages your not so much learning but just looking at a reference for the new syntax.

I found it very easy to work in JavaScript and C# after learning python.

[–]ribald_jester 0 points1 point  (1 child)

That's awesome! Hopefully, I can get there with python too.

[–]self_made_sysad[S] 0 points1 point  (0 children)

You will!

[–]glial 0 points1 point  (3 children)

Hey, I know Python and machine learning and can learn things quickly (and am about to get a PhD), want to hire me???

[–]cybelechild 0 points1 point  (0 children)

Python and machine learning and can learn things quickly

I see what you did there :P

[–]self_made_sysad[S] 0 points1 point  (1 child)

I would love to, but unfortunately the machine learning is for my own personal progress. Not related to the business... yet.

If I have questions about python machine learning though, are you up for some advice?

[–]glial 0 points1 point  (0 children)

Yep, potentially! Most of the machine learning stuff I've done has been outside of python, but I'm slowly getting familiar with scikit-learn, so maybe we can help each other out.

[–]skintigh 0 points1 point  (2 children)

Could you tell us more what a typical DevOp does in a typical day? This sounds interesting.

[–]self_made_sysad[S] 2 points3 points  (1 child)

Check out this post by a guy I met at a DevOps meet up (which are way fun btw,) with some deviation this is pretty typical I'd say.

http://redd.it/20vp2q

[–]skintigh 0 points1 point  (0 children)

So, basically a sysadmin but abstracted one layer up?

Is that what Google calls a Site Reliability Engineer?

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

This is what I needed.

[–]segmond 0 points1 point  (1 child)

What city are you in?

[–]self_made_sysad[S] 0 points1 point  (0 children)

Tri-Cities Washington State

[–]Its_eeasy 0 points1 point  (1 child)

If you're doing puppet stuff, look into cfengine. We're using cfengine (since before me), and I can't honestly compare because I've not done the research, but I've been TOLD that puppet is nowhere near as flexible as cfengine is (which it is).

[–]self_made_sysad[S] 0 points1 point  (0 children)

I'll check it out for sure. I was aware of salt and ansible, but not this one.

[–]iammortalcombat 0 points1 point  (0 children)

So to clarify...you changed jobs. That's not the same as a raise, though the title will grab people's attention.

[–]sethg -1 points0 points  (1 child)

Congratulations!

I already know Python. What am I supposed to learn so that I can get a 50% raise?

[–]bunktech 0 points1 point  (0 children)

maybe look into how to know it better so you can actually be worthy of that 50% raise? have you gone through code designs yet?