The Joys Of Programming

Has anyone here burned out on programming? Did you make a move to management?

As I said in the work thread I had some major work drama that caused me to start looking for work. For the last couple of years I've been working as an architect / lead with a little project management thrown in. I haven't been as in the weeds for a while.

Anyway, I tried to study up on some things for possible job interviews and I really struggled. I'm not sure if this is anxiety or if it's related to memory issues I've talked about in this thread. Either way, though, I found it really hard going, even though I've actually been doing quite well in my role for the last couple of years.

It's making me wonder if I would find a transition back to an individual contributor too difficult. Or maybe if I'm burned out on day to day programming and my brain is literally telling me, "No thanks, don't want to do that anymore".

It's a little scary to me since I have other contributing health issues and I don't know if this is normal or something specific to me. So I'm wondering if anyone else here has either burned out on programming or made the move to management specifically because they felt like their time programming was done.

I went the other way. Over the course of 10 years went from individual contributor to management/directorship level. My last management assignment had me running a team of 20 programmers.

That burnt me out on management and I went back to being an individual contributor.

Over the next 10 years I resisted all efforts to place me in a management or even team lead position. I did mentor, but made it clear that I would not take any responsibility for any of my mentee's daily activities.

It really frustrated my boss - he was desperate for quality team leads and I obviously qualified - but as I was able to do work no one else in his team could do and was a prolific producer there wasn't anything he could do.

IMAGE(https://i.redd.it/yucb4u2b9um41.jpg)

Deep Learning - when what they did can't explain what it did either.

Speaking of AI, codingame released a new contest for quarantined programmers:

https://www.codingame.com/contests/o...

It's a conversion of a board game called Captain Sonar where you move a submarine around a grid and try to locate the enemy by sonar results and fire torpedoes at it. They way you get obfuscated hints about where the enemy is and what they are doing is really interesting, but makes it pretty difficult to use normal game solving techniques like Monte Carlo Tree Search.

I switched to a different game calld Xmas Rush, which is an implementation of the board game Labyrinth, which has a grid of pipe tiles that can be slid in cardinal directions to re-align the board and allow new paths. There is no hidden information, but goals are generated randomly. Much easier to simulate and score.

I could use some advice.

It's likely that I'll be transitioning from a W-2 employee to a 1099 contractor a few months from now (background details are below).

I've never been self-employed or a contractor before.

Does anyone have any recommended resources for getting up to speed?

Right now I'm reading J.K. Lasser's Guide to Self-Employment and next on my wishlist is Working for Yourself: Law & Taxes for Independent Contractors, Freelancers & Gig Workers of All Types 11th Ed by NOLO Press.

And something I'm particularly curious about is whether I should consider professional liability insurance, e.g., in case I get sued because some silly bug caused big issues.

Any insight would be much appreciated.

Thanks!

------------ Background ------------

My wife and I plan to move to a different state for family reasons.

IMO, It's extremely likely that my current employer will want to keep me: it's a small company, I've been there 15 years, I'm the go-to guy for a lot of stuff, and a co-worker made a similar move a few years ago and is still remote contracting (but also part-time).

I suppose it's possible that they'll offer to keep me as a W-2, but I'd like to know my stuff if the conversation immediately goes to being a contractor.

I have not informed my employer of our plans yet, but I figure a two-month notice would be good.

To go from W2 to contracting and break even they would need to probably give you at least a 50% raise (depending on how much they subsidize insurance). This will not happen at most companies. Your best option is to try to stay on as a regular employee.

Yeah, when I changed from W2 to 1099 contractor, part of the negotiation was figuring out the monetary value of the benefits I'd be forgoing, along with the extra taxes I'd be responsible paying for, and adding that to my previous base salary. It wasn't a 50% increase, but it was still hefty.

I was also recently given a promotion, but this time around, they weren't willing to give a raise that includes those extra costs. I'm definitely keeping my eye open for more opportunities now.

Rule of thumb is that W2 employees cost a company 50%-100% more than salary for overhead and benefits. As a contractor, you'll be paying that yourself, so switching to 1099 with the exact same salary is going lead to you getting less money after you pay for all that. Ideally, you'd try to calculate your actual expenses.

Budget for your self-employment taxes.

Worth getting an accountant, or at least an Enrolled Agent to do tax prep.

You won't technically be a freelancer because you'll only have the one client, so you can ignore the client-acquisition part of freelancing. Until you leave your current client for whatever reason.

Thanks for the insight, everyone; I really appreciate it.

After doing more reading and thinking, I decided that I'd rather not add more complexity to my life right now, so no contracting for me.

My time is probably better spent freshening my personal portfolio in case my employer and I decide to simply part ways and wish each other well.

I am interested in learning Python with no experience in programming. There is an endless amount of information on the web and sites to learn programming (Codecademy, Dataquest, etc). I have considered joining one of these sites to learn but reviews on them vary from great to don't bother. I have also considered buying a book to learn the basics and then move on from there. Any advise for someone looking to learn Python.

blackanchor wrote:

I am interested in learning Python with no experience in programming. There is an endless amount of information on the web and sites to learn programming (Codecademy, Dataquest, etc). I have considered joining one of these sites to learn but reviews on them vary from great to don't bother. I have also considered buying a book to learn the basics and then move on from there. Any advise for someone looking to learn Python.

What are you trying to get out of learning Python? Like what use case?
Depending on that, there are some specific places to look.
Otherwise, python.org has some good generic tutorials.

lunchbox12682 wrote:
blackanchor wrote:

I am interested in learning Python with no experience in programming. There is an endless amount of information on the web and sites to learn programming (Codecademy, Dataquest, etc). I have considered joining one of these sites to learn but reviews on them vary from great to don't bother. I have also considered buying a book to learn the basics and then move on from there. Any advise for someone looking to learn Python.

What are you trying to get out of learning Python? Like what use case?
Depending on that, there are some specific places to look.
Otherwise, python.org has some good generic tutorials.

I am looking to learn a new skill that might possibly lead to a career change. I am interested in data analysis and thought Python would be a good first step.

Stackoverflow did produce a list of the books they think work well

"Think Python" from O'Reilly Publishing, buy the book or get the free pdf
https://greenteapress.com/wp/think-p...

Dive Into Python 3
https://www.amazon.co.uk/dp/14302241...

Invent Your Own Computer games With Python, buy the book or get the free pdf
http://inventwithpython.com/invent4t...

Can't give you a personal recommendation as I could already program in several languages when I learnt so I just picked it up as I went along (so to speak). That said I've usually found the introductory O'Reilly books to be reliable, sometimes they are best-in-class, often there are better choices but I've yet to read one that I found to be actively bad or useless. So I've never found them to be a waste of money even if I've later found out there was a more canonical choice.

blackanchor wrote:
lunchbox12682 wrote:
blackanchor wrote:

I am interested in learning Python with no experience in programming. There is an endless amount of information on the web and sites to learn programming (Codecademy, Dataquest, etc). I have considered joining one of these sites to learn but reviews on them vary from great to don't bother. I have also considered buying a book to learn the basics and then move on from there. Any advise for someone looking to learn Python.

What are you trying to get out of learning Python? Like what use case?
Depending on that, there are some specific places to look.
Otherwise, python.org has some good generic tutorials.

I am looking to learn a new skill that might possibly lead to a career change. I am interested in data analysis and thought Python would be a good first step.

DanB gave some good links.
The Data Analysis is good to know as there are a bunch of tools and tutorials that focus on that.
There are numerous Data Analysis with Python books on Amazon as well.
Have fun and good luck.

blackanchor wrote:

I am interested in data analysis and thought Python would be a good first step.

Python and (to a lesser degree) R are the go-to choices for programming based data analysis today. In Academia there is a good chance Julia is going to come along and supplant Python but that's a long, long way off (thankfully Julia isn't so far from python that the change will be hard when it comes).

I would start by Learning Python first before moving on to learning Data Analysis in Python. The data analysis eco-system in Python is made up for many interconnected and dense projects (NumPy, Pandas, matplotlib, SciPy and Scikit-learn). You could write an entire book on any one of those. And I personally wouldn't be happy to jump in to them without feeling like I was at least a little familiar with python first.

Which comes to my next advice if you're shopping for a book on Data Analysis in Python make sure it covers those projects I just mentioned: NumPy, Pandas, matplotlib, SciPy and Scikit-learn. If you're interested in neural networks in python you'd also want a book that covers pyTorch, but that might require a specific book to itself tbh.

Having said all that I note that O'Reilly produce "Python for Data Analysis" which covers everything I mentioned. Skimming the contents it looks like it might be decent.

Edit:
If you want to know what those projects do

  • NumPy: fast numerical computing, somewhat directed at doing linear algebra
  • Pandas: Data modelling and manipulation, kind of like having a fancy spreadsheet or database functionality in your code without the GUI
  • matplotlib: Draw nice charts and graphs
  • SciPy: addon to numpy and matplotlib, adding all sorts of scientific programming and stats calculations
  • scikit-learn: build statistical models, from linear regression all the way to complex learning systems
  • pyTorch: calculate very, very, very fast linear algebra on your graphics card. Highly optimised for building neural networks

I've heard good things about these two:

Learn Python the Hard Way
Automate the Boring Stuff with Python

There really won't be a way to find what works best without trying a few things. I tried picking up Python over the last ten years by finding spare time and doing a Coursera course (which was great) and buying books and following tutorials. But I have horrible self-discipline so I didn't stick to it enough.

Then I got a job using Python, with the full understanding that I was proficient but had lots to learn, and it's been great. I'm learning from teammates and by having dedicated time to try solving problems. I still could stand to focus more but that's another discussion.

DanB wrote:

Invent Your Own Computer games With Python, buy the book or get the free pdf
http://inventwithpython.com/invent4t...

I can attest that pygame is a fun way to learn python, but doesn't even really cut it for indie games. Now I get paid to sometimes frantically cobble together dangerously inappropriate Python queries to be run against Production ASAP. :/

For learning most languages I prefer a project based approach, and Python in particular lends itself to that.

If you get into the sci-fi number stuff, keep in mind as you're googling that sometimes the academics like to do their Python in a 'notebook' format like Mathematica, like a CLI/Script hybrid. You might prefer that route, or want to go in a professional direction that does. I find that when I'm googling stuff that's the more tedious distinction, compared to the 2.7 vs 3.* debate.

Also keep an eye on humble bundle as they do python related bundles once in a while.

lunchbox12682 wrote:

Also keep an eye on humble bundle as they do python related bundles once in a while.

There is actually a Learn Python bundle now. Nice coincidence.

The entire text of The Python Data Science Handbook is available on github: https://jakevdp.github.io/PythonData...

blackanchor wrote:

I am looking to learn a new skill that might possibly lead to a career change. I am interested in data analysis and thought Python would be a good first step.

You might try this Applied Data Science with Python Learning Path. It doesn't really deal with Python from the command line or really dig into types, but it does expose you to pandas and mplotlib. There's a separate one dedicated to Data Science that's less focused on code and more on the why of it all. The Data Science Methodology course in there uses a real medical case study. I've taken them both myself.

I work for a tiny computer science textbook publisher and can ship you a free blemished copy of our Python Programming book by John Zelle. It was the first Python book to get used in universities for introductory programming and still the most popular for that. Just PM me an address. I won't be able to ship until next week since I only go into the office once a week currently.

He's got a very good writing style that's easy to understand. A lot of people use it for self study.

Tuffalo has books?

blackanchor wrote:

I am interested in learning Python with no experience in programming. There is an endless amount of information on the web and sites to learn programming (Codecademy, Dataquest, etc). I have considered joining one of these sites to learn but reviews on them vary from great to don't bother. I have also considered buying a book to learn the basics and then move on from there. Any advise for someone looking to learn Python.

I had a ton of fun with the Rice University offerings, on Coursera, of "An Introduction to Interactive Programming in Python".... it's in three parts. I already knew Python, but that sharpened my skills a ton. Even the first classes tend to give you really good boilerplate code, where you write the actual functions, but there's a quality skeleton built for you ahead of time. I found the structures they used to be elegant examples of how to approach each new problem domain.

At the time I took it, it was completely free unless you wanted a certificate. It ran in six-week blocks, with everyone working all together, and I thought that worked extremely well. There were forums where people could chat about the assignments, and it was just an excellent experience.

But then Coursera decided it wouldn't be free anymore. Well, it's "free", but you can't get to most of the stuff that really made it good, like tests or interaction with other students. Back then, they were charging like $250 for the course. Now, they seem to have gone to an all-you-can-study for $50/mo, and they suggest working quickly to maximize your return. That implies that a lot of the great stuff about those early classes probably won't be there.... there won't be a large population of people working on the exact same problem that you are, for instance, because they won't be running on six-week schedule blocks anymore.

Thus, I think a fair bit will be lost from the freebie course I took, but the underlying material is very strong and a really excellent guide to Python. Assuming you take the six weeks to go through each course that I did, that'd be $75 each, which strikes me as entirely fair. (back then, I wanted to give them something, but there was no option to... if they'd had a donate function, I'd have absolutely chipped in $50 or $75 for each course. (The only option to pay was a very expensive certificate that required proof of ID and all kinds of BS I didn't want to deal with.)

I've only dabbled a little in other online courses, and these were miles ahead. But be warned: if you go very far down their 7-course track, you will run headfirst into some really gnarly math that you will need a strong background to deal with. The first three courses are not mathy at all, but as soon as you get to Algorithms, they slam you hard. If you don't have college-level math already, you will find the courses extremely difficult or impossible.

Also: make sure to save all your source code locally. You have a nice online environment to work in, very friendly and easy, but that means that all your code is in the cloud. Make sure you make local copies, as they delete everything shortly after you finish; nothing is saved. I have kicked myself repeatedly for not doing a local backup, as looking back over my old code would have been an excellent way to scrape off the rust from not writing any Python for awhile.

edit: I just realized that it says 'starts May 30', so they may still be doing the six-week scheduling. Maybe.

It could also be that it always "starts" the day you look.

Stele wrote:

Tuffalo has books? :drool:

He may be the world's first literate buffalo.

I did that coursera/Rice python too. Back in 2015 I think. You got to make like 5 simple games in their web environment. And then everyone was supposed to grade 5 other people's work each week after you submitted yours. So you got to see a lot of different ways that people code.

Was fun and definitely a good intro back then.

Malor wrote:
Stele wrote:

Tuffalo has books? :drool:

He may be the world's first literate buffalo.

I try!

I also did that RU Coursera Python course and still have links to my code. It was wonderful.

tuffalobuffalo wrote:
Malor wrote:
Stele wrote:

Tuffalo has books? :drool:

He may be the world's first literate buffalo.

I try! :)

Well, we know why the books are damaged.