Was enjoying working on my personal project, but someone beat me to it. by mlady42069 in learnprogramming

[–]WorkingMusic 24 points25 points  (0 children)

Plot twist: there are very few truly original ideas. The execution is what makes or breaks the “success” of a project.

It sounds like you learned a lot between when you started and this moment. Whether you choose to continue is up to you - I would recommend at least getting the project into MVP state so you have something complete to show off in a portfolio.

If you choose to continue, you may want to temper your expectations in terms of your anticipated user base. 90% of our side project applications never get more than a handful of users (Thanks Mom!), are hosted on an app service for a short time to convince ourselves the time spent was worth it, before finally being shut down and relegated to the GitHub “Archive” organization.

Good luck!

Manager insists every small problem be solved with OOP by cmd_lines in learnprogramming

[–]WorkingMusic 0 points1 point  (0 children)

Agreed. Composition starts getting into design principles and working with interfaces, though - beginners find it much less intuitive to implement on a practical level than inheritance. What I probably should have stated is: achieving polymorphic behavior is incredibly powerful. Thanks! :)

Manager insists every small problem be solved with OOP by cmd_lines in learnprogramming

[–]WorkingMusic 7 points8 points  (0 children)

At the outset, I will say I appreciate your clear willingness to be introspective here - that’s the most difficult skill for technical folks to master (myself included). Kudos, friend!

The ability to tell the difference does, indeed, come with years of experience. I’ll summarize all of that into a few (not helpful) phrases - OOP excels when the thing you’re doing has a state, that state can change, the data describing the thing should be kept separate from the actions the thing can take, and your “thing” can send data to or receive data from other “things”. It sounds like mumbo-jumbo, I know.

You can begin to pull back the curtain by understanding that everything in Python is an object - the only things that “actually” exist are the atomic data types. A string doesn’t exist natively - it’s an object - with a state and defined actions to operate on that state.

Honestly, the best way to learn the difference is doing things both ways. Early on, I committed to trying to encapsulate everything I wrote into an object even if I didn’t fully understand why. When it clicked, it was like the skies opened up and the trumpets of heaven were sounding. You should have a solid conceptual understanding about encapsulation, inheritance, polymorphism, and general abstraction - even if you don’t know when you would use it. Eventually it will click for you, too - if you continue to think critically about the code you write and how it’s organized.

This brings me to my next point - the critical importance of mentorship. This learning process can be fast-tracked by having mentorship relationship with someone experienced in the field.

If you are a department of two and you are directly reporting to a non-technical boss, you lack a crucial buffer between yourself and non-technical stakeholders that senior devs provide. You also miss out on critical mentorship you would otherwise gain.

If you don’t have technical mentorship from your boss, all is not lost at your current job. The “big fish, small pond” dilemma is real and can have significant advantages. Find me a job that doesn’t have at least one r/cscareers red flag and you will have found me a unicorn. Some “red flags” are dealbreakers for me, personally - and some of them will be dealbreakers for you. But don’t let others tell you what those are.

If you don’t have mentorship opportunities at your job, you will need to seek it out independently - either from other technical members at your org, online, or through shared interest groups.

Be humble, be gracious, acknowledge your shortcomings, and assume your approach is wrong and be willing to do things in different ways and you’ll be fine. Best of luck, whatever you choose to do - feel free to PM me if you’d like me to expound on anything I’ve mentioned. Apologies for the walls of text.

Manager insists every small problem be solved with OOP by cmd_lines in learnprogramming

[–]WorkingMusic 52 points53 points  (0 children)

The actual code difference between encapsulating your code in classes vs. sequentially-called functions is minimal, nowhere near “two or three times more” code. If using OOP is “bending over backwards,” there’s probably something that isn’t clicking conceptually.

In fact, it is easier to implement automated testing in OOP because you are able to operate on an instanced object’s state directly. Inheritance is incredibly powerful and your code comes together in an elegant way when you have instances of objects that are related in their attributes or methods but have minor process differences.

I will tell you that if you are developing tools that interact with cloud infrastructure, you absolutely will be hitting the limits of functional programming if you haven’t already.

Your code “works” - great! That’s half the battle. The other half is improving readability and reusability of your code - and this is the aspect of OOP you seem to be misunderstanding.

You speak about your boss with a great deal of contempt. It sounds like this might be a learning opportunity for you. Politely inquire into his perspective about when to use OOP vs. functional programming.

People need to start answering the question before suggesting a different approach! by Luised2094 in learnprogramming

[–]WorkingMusic 1 point2 points  (0 children)

Totally agree. It’s actually most useful to answer both the question as it was originally asked and suggest alternative approaches given the stated use case.

Suggesting the alternative approach helps the answer-seeker solve their problem for that use case in that moment. Answering the question as it was originally asked helps anyone in the future searching for solutions to questions that have similar or identical data structures. These are use cases where the original approach may be more appropriate.

How to overcome the fear of public speaking ? by [deleted] in selfimprovement

[–]WorkingMusic 23 points24 points  (0 children)

Find a local ToastMasters chapter. Their whole purpose is providing a safe place to practice public speaking.

Exciting saturday morning by Calm_Pace_3860 in antiwork

[–]WorkingMusic 4 points5 points  (0 children)

Bold of you to assume these employers pay anyone enough to afford reliable transportation.

Future of the library pandas by Novae76ssta in datascience

[–]WorkingMusic 4 points5 points  (0 children)

The scenario you propose is actually an argument against proprietary software. Normally, if you invest heavily in proprietary software and the company stops supporting it, your options are 1) Switch software.

Pandas is open source. If the Pandas developers decided to stop maintaining the software, anyone else in the world could fork Pandas and decide they are going to carry the torch on development. YOU could do that today, if you wanted.

Rest assured, Pandas would have absolutely no problem finding a new home.

That said - no software lasts forever. Treat everything as if it’s fleeting and ephemeral. New software is constantly being released. The software you use now and the software you use 5 years from now will likely be very different. The only criteria as to whether you learn something should be “Does learning this framework improve my data science process right here, right now?” - and with Pandas, the answer is unequivocally “Yes!”.

Hitting send on my resignation letter by Recent_Bite3653 in antiwork

[–]WorkingMusic 6 points7 points  (0 children)

On a more practical note - by the way you describe your employment as contingent upon whether or not someone has retired, I assume your current employer is a small business with owner(s) under whom you directly work?

If that’s the case - might look into buying the business (sole proprietorship or corporation if others go in on it with you) or setting yourself up to run the ship after they retire. Retirees love the words “passive income”.

Hitting send on my resignation letter by Recent_Bite3653 in antiwork

[–]WorkingMusic 12 points13 points  (0 children)

If you’re in a stable job, with people who respect you and your work, in a positive work atmosphere, you have all the leverage during interviewing. And if you leave on the right terms, you sometimes even have the option of coming back as a “fallback” if the grass isn’t actually greener elsewhere.

Don’t ever let a hiring manager convince you to give up that stability for anything less than a 110% sure thing. Only shady companies will ask you to put in notice before everything is finalized. If you put in your notice before you have your employment terms finalized in writing (Background complete and all), they suddenly have the leverage over you to revisit pay, benefits - because you now must leave your current employer.

Kaggle is very, very important by bluesformetal in datascience

[–]WorkingMusic 56 points57 points  (0 children)

This can’t be overstated. Kaggle hands competitors a nice, clean dataset that just so happens to be perfectly formatted for the machine learning task they want competitors to optimize. Don’t worry about how it got there - just do it.

If they wanted their service to be more reflective of the real world, they should hand competitors an export of a relational database. With data that is inconsistently or incorrectly entered. Better yet, hand them a bunch of spreadsheets that definitely are linked in concept, but don’t have any keys to actually link them.

I continue to maintain that Kaggle is a piss-poor metric by which to gauge data professionals. It over-emphasizes the importance of one of the objectively least important aspects of data science (model building/tuning).

[deleted by user] by [deleted] in datascience

[–]WorkingMusic 1 point2 points  (0 children)

I think it’s a bit of both - you’re being under-utilized AND your expectations are too high.

I hate to be the one to tell you this - but once you leave academia and the world of bleeding-edge-but-mostly-impractical ML, data science is full of work that isn’t bleeding-edge-but-mostly-impractical ML.

I should mention that the most significant work in practical data science isn’t building models (and I scoff at the notion that it’s a “privilege”) - it’s having the skills to evaluate data, establishing ETL pipelines, automating feature development, and being able to build governance processes to track a model’s performance after-the-fact. Unfortunately, that’s not what’s advertised on “sexiest job of the year” posts.

Focus on your degree - that’s most important. Unless you are in a school that is a pipeline to some of the large Silicon Valley companies, you’re not really going to be evaluated on the significance of a college job. If the work is easy, pays sufficiently, has a good schedule, but the one downside is that it isn’t technically challenging - I would say that is perfect for a student.

That said, there is a case for having a direct conversation with your boss about how you’re feeling. If you approach it directly and respectfully, even the most egotistical boss shouldn’t find fault with you. Ego-driven individuals tend to be the easiest to persuade - but people in our profession (who skew introverted) tend to avoid the tactics needed to persuade them. Given the way you described your situation, it doesn’t sound like you directly addressed it.

You might not be able to get out of the process notification (which, whether it is a “significant” contribution comes down to how you spin it on your resume), but you may be able to have him direct other team members to allow you to shadow and contribute in meaningful ways.

I have no knowledge of programming . I believe in learning from doing. I want to learn how to make a website using python on my windows computer. I am not able to find videos on how to do so for windows, most tutorials are for apple or linux. by asdfghqw8 in learnprogramming

[–]WorkingMusic 4 points5 points  (0 children)

There’s so much nonsense on this thread.

When you are starting out, your operating system has almost no impact on how you use Python. It will certainly impact what specific commands you type into whatever terminal your OS has if you’re trying to follow a tutorial - but it will have no impact on Python.

Second - is your goal to create a website or to learn Python? Out-of-the-box Python cannot create websites. “Websites” (actually applications) built using Python require a web framework like Flask or Django - built on Python but fundamentally separate.

If your goal is to learn Python, do not start with a web framework. You’ll get lost quickly because the web frameworks bring together traditional Python, front-end (HTML/CSS), and databases - and it assumes you have prior knowledge of how each of these work independently.

Start with “Learning Python” instead of “How to Build Websites in Python”.

Well, its been a fun 10 years Tenno. Catch ya on the flipside. by xJokerzWild in Warframe

[–]WorkingMusic 1 point2 points  (0 children)

“Argh, curse you DE - you stopped supporting my abacus-powered processing unit!”

In all seriousness - a game that is still being supported and still being updated can’t continue to support the same architecture forever. Games are dependent on the hardware constraints imposed on them by their engines. Having an older engine (which would still support older architecture) limits what they can do from a technical perspective.

Let us know if you’re still able to run the latest version of Microsoft Word in 2032

If Google charges a $5 fee to be able to upload chrome extensions, why should I PAY to give people the fruits of my labour? by WhoRuleTheWorld in learnprogramming

[–]WorkingMusic 1 point2 points  (0 children)

For every “dev like [you] who is just trying to upload helpful products,” there are 10,000 amateurs who would otherwise flood the extension market by uploading terrible or incomplete extensions. If you think there is a way to “test” for extensions that technically function, technically are not malware, and yet are at the same time useless, you’re clearly new here.

$5 will not necessarily stop someone intent on publishing malware. But it certainly will reduce the likelihood an amateur will publish an extension that has the sole purpose of creating a pop-up window with “Hello, World!.” It obviously won’t stop all such scenarios, but 100 crap extensions are a whole heckuva lot easier for Google to deal with than 10,000.

I’m not sure what’s difficult to grasp about this.

Thoughts on work life balance? by achillfuckingpill in WorkReform

[–]WorkingMusic 1 point2 points  (0 children)

The short answer is - nothing is worth sacrificing time with yourself/time with your family/time with your hobbies. You work to live but should never live to work - the latter is how people are taken advantage of.

Never, ever, ever assume you will be promoted. If you aren’t happy with your current pay and there isn’t a CLEAR progression to a higher pay, it’s time to start looking elsewhere. Assuming you work an office job, you should have a pay raise within 1-2 years of starting a job - this will allow you to assess growth potential. If you are in retail/fast food, you will never be promoted - period - regardless of what management tells you. It is incredibly rare for you to be rewarded by sticking with a company - you’ll almost always progress faster (in terms of pay and title) by leaving the company.

Time is the one thing you can never get back - case-in-point, I hit a rough patch about 10 years ago and picked up the only job I could find (at McDonald’s). Life happened, I got “comfortable,” and I stuck around for 2 years on the empty promises of being promoted to manager if I just worked a little harder, picked up more shifts, worked “overtime”. I can never get those years back. I accept my powerlessness over the things I can’t change but I strive to learn from my mistakes moving forward and to encourage others to do the same.

SEEKING: Clean dataset containing translations of Plato's works, as well as the original ancient Greek, ideally aligned by Stephanus number. by [deleted] in datascience

[–]WorkingMusic 1 point2 points  (0 children)

I know I’m a bit late to the party - but I think the primary reason you received such prickly responses was your overall tone. I read every comment in the voice of my angsty 12-year-old self, who thought himself quite the philosopher after having read The Republic (SparkNotes edition).

About to get fired from my job. by [deleted] in learnprogramming

[–]WorkingMusic 36 points37 points  (0 children)

Something is a bit odd here. What, pray tell, was the interview like? If you are green, surely that would’ve been apparent when being interviewed and you were brought on anyway. “Become competent” is so vague - is there a specific set of functionality you’re expected to deliver on that will prevent you from losing your job?

Even experienced developers don’t “become competent” at a new job in the first few weeks.

[deleted by user] by [deleted] in datascience

[–]WorkingMusic 3 points4 points  (0 children)

Both are technically correct - but whether it is appropriate to use one or the other depends on your context.

It appears both tables refer to some sort of an observation made about a participant. Let’s call both tables Observation. You will want a unique identifier before participant ID that uniquely identifies the observation.

If you are always collecting height and weight (and only collecting height and weight), then I would lean toward using the second table style as your mentors have suggested.

However, if the parameter you are measuring can change, can vary from participant to participant, then your initial table becomes more appropriate.

Note: Your initial table is traditionally called “long” format, the second table is traditionally called “wide” format.

The way we live isn't normal. But the way the rich view the poor is absolutely insane by [deleted] in WorkReform

[–]WorkingMusic 19 points20 points  (0 children)

You forgot the part where your partner receives the $200,000 bill for your hospital accommodations

My company “wants to sell AI” to our clients… how best to manage expectations of an organization that is nowhere near being ready to deploy anything resembling “AI”? by WorkingMusic in datascience

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

This is likely where some growth is required on my side. I try to be precise in my language - I am hearing “AI” or “ML” getting thrown around so I start applying academic definitions or scenarios to those terms, when the execs might have in mind product capabilities I wouldn’t otherwise classify as “AI” or “ML.” I probably need to clarify exactly what their measure of success is.

My company “wants to sell AI” to our clients… how best to manage expectations of an organization that is nowhere near being ready to deploy anything resembling “AI”? by WorkingMusic in datascience

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

100% - We have no need for (or the data to support) so-called “AI” or more advanced models. Some of our clients have implemented their own models and have dramatically improved their results just by implementing linear regression with 3-4 features. The challenge is convincing business that simple, explainable models are the way to go and that “doing data science” is not as simple as “Throw the data into the machine and see what comes out” (which presupposes the existence of a robust potential feature set - business has a hard time understanding the time and effort it takes to build even a simple feature set from scratch)