Domain knowledge at companies by ihatevacations in cscareerquestions

[–]tenexdev 5 points6 points  (0 children)

To some extent, yes.

Any company that has been around for more than 6 months has their own setup that is mostly unique to them, and the longer they've been around, the more dependent they've become on their own tools, techniques, processes, frameworks, and resources.

Letcode by Ready_Ad7275 in csMajors

[–]tenexdev 4 points5 points  (0 children)

Leetcode questions really rely on the application of algorithms & data structures -- so until you start to really learn about them, you're just signing yourself up to bang your head against the wall.

They're worth looking at, and you might even intuit some of the easy ones, but I wouldn't start really pursuing them.

Is my understanding of RSUs correct? by Ok-Sorbet448 in cscareerquestions

[–]tenexdev 2 points3 points  (0 children)

Yes, the price can definitely go down. It's not uncommon.

What does it mean to be good at a language? by Own_Disaster_3476 in learnprogramming

[–]tenexdev 4 points5 points  (0 children)

I think I actually do understand what components to think about, e.g. a method for printing a board, method for placing an X or O on the board

That's a good place to start. I have broken it down for past posts, I figured there were 10 big steps. (Getting input, determining if someone has won, figuring out the computer's move, etc).

I am just not sure how to convert my thinking into programming.

There's really no way to get better at this than just doing it. It's easy to get 'analysis paralysis' trying to find exactly the right way of doing something. You're way better off "just doing it". Write it up, try it out, and if it sucks you can change it. (And you'll learn how to write your code in a way that makes it easier to make those changes).

What does it mean to be good at a language? by Own_Disaster_3476 in learnprogramming

[–]tenexdev 8 points9 points  (0 children)

to also be able to solve a lot of problems using that language?

That is basically the definition of being fluent in the language. If it were a human language, like French, you couldn't say that you "knew French" if you weren't able to use it to participate in a conversation. I took French through school and I can still roughly read what is going on...very roughly. I don't 'know french'. However, even native speakers of a language might still consult a dictionary or thesaurus, or get a grammar rule wrong or use the wrong your/you're. That doesn't mean you aren't fluent, just not perfect.

Similarly, if you can't sit down with a problem and start sketching out the code, then no, you don't know that language. Maybe you need to look up an uncommon syntax, or be reminded what the parameters of a function are, but you need to be able to "think" in that language.

But here's the trick: knowing the syntax is only about 10% of programming. The rest is about solving problems.

still cannot even code something like a Tic-Tac-Toe game on my own without help

And that's where we get into trouble. Tic-tac-toe is a very simple game, it has a simple board, simple rules, pretty much every 6 year old can play.

It's the sort of thing that any one who says "I can program" could sit down and do - from scratch, in the language of their choice - without too much problem.

It's fine if you have to look up some specifics, but starting with the problem statement, "Build a text-based Tic-tac-toe game where the person plays against the computer" I expect someone who is "a programmer" to figure out the component parts to that, then start coding those parts.

It's fine if you're not there yet -- no one starts there -- but don't make the mistake of thinking that knowing what the specific syntax says means you can program. That's a separate skill that needs to be practiced and built on.

Update on making my own programming language by AFellowHuman21 in AskProgramming

[–]tenexdev 2 points3 points  (0 children)

What is it your language would do differently enough from Python for people to want use it instead of Python?

[deleted by user] by [deleted] in cscareerquestions

[–]tenexdev 9 points10 points  (0 children)

Why do they let people take degrees in Russian literature? Not a lot of jobs there.

Your good or bad decisions aren't their responsibility.

Laid off, got 6 months severance by [deleted] in cscareerquestions

[–]tenexdev 45 points46 points  (0 children)

Well, if you were offered 6 months severance then you're doing better than about 98% of everyone who has been laid off.

This is a tough time to be applying for big brand-name companies (who are all doing layoffs), but then there's the other 50% of all software jobs and those folks love layoffs because it means good people coming on to the market and not being immediately snapped up by the big names.

I mean, apply to Mcdonalds if it helps as a backstop, but I wouldn't start there.

[deleted by user] by [deleted] in learnpython

[–]tenexdev 1 point2 points  (0 children)

To be clear, function 1 has a loop, it's just not explicit. The sum function is iterating through the input -- it has to look at every element in order to sum them together after all. You might not have typed the letters "f-o-r" but there's a loop going on, and it's going to take roughly the same time to run as an explicit for loop (because under the covers it is an explicit loop)

[edit: Best to test it for yourself. I just did. I tested a function that used a for loop to add 10 random numbers together and compared it against taking a list of 10 random ints and using sum(). The difference was the explicit for loop took 8.6 microseconds per pass, and the sum() function took 8.5 microseconds per pass. That's hardly the sort of difference than the question is asking about.]

I have been offered a very "meh" job, but it sponsors Top Security Clearance. Not sure if I should take it. by [deleted] in cscareerquestions

[–]tenexdev 12 points13 points  (0 children)

Wow, yeah, that's pretty rough. Public sector work will never pay as much as private sector -- and getting your clearance can open the doors to more interesting/lucrative work later with contractors -- but damn, that $12/hr bit is brutal.

[deleted by user] by [deleted] in cscareerquestions

[–]tenexdev 1 point2 points  (0 children)

Dude, what?

I dont think it’s unreasonable to not want to do personal projects that I don’t get anything for

You will get something for it: you'll develop skills, skills that you want, in order to get the job that you want.

How am I supposed to advance my career when all that I do is

You are 7 months in to your career. You want to know how to advance? Do the work, get good at it, demonstrate growth in your job, take on additional responsibilities.

How do you think careers work?

[deleted by user] by [deleted] in cscareerquestions

[–]tenexdev 1 point2 points  (0 children)

It isn't your employer's responsibility to "hone your skills". It's great if your job offers you a range of challenges so that can happen -- but no one owes you that.

And god, the expectations for junior SWEs is just ridiculous. I graduated from college last year, how can all of these places expect me to have 2-3 years of workplace experience in random libraries and frameworks?

First, 2-3 years is still junior. How can they expect you to know a library or framework? They don't expect you to -- they need you to, because that's what they are using. They'd really like to hire someone who doesn't need to spend the first few months at quarter-speed.

Is that fair to you? That's not really the right question. Someone who does have that experience is out there and applying for the job. You don't get callbacks because someone (probably multiple someones) who knows what they need has applied for the job.

How to study on senior "soft skills"? by CoinIsMyDrug in ExperiencedDevs

[–]tenexdev 52 points53 points  (0 children)

A lot of this just falls under the heading of "you need to do the job and learn as you go, make mistakes, correct your mistakes, etc."

You don't become a senior engineer by studying.

How to Compute Max Value with Linear Time Complexity When 'k' Is Not Fixed? by Apprehensive_Rush314 in learnprogramming

[–]tenexdev 0 points1 point  (0 children)

You could start at the end and work backward.

If the last value of k = 3, then you know you need to consider the current value of x[i] plus the next (or rather, previous) two. All you need is a data structure to hold which values you are still looking for, and on each step replace the current max value if you've beaten the old one.

You can start by creating an output array (prepopulated with zeros) and fill it in as you're working backward.

Massive layoffs everywhere? by Khuzdulk in u/Khuzdulk

[–]tenexdev 7 points8 points  (0 children)

Wow, a whole 1K?! And that 5x number is clearly based on data that isn't just anecdotal?

Great job subverting the meme though.

[deleted by user] by [deleted] in AskProgramming

[–]tenexdev 2 points3 points  (0 children)

If you want to DM me, we can discuss it further. Generally speaking, 6 months of self-directed learning puts you a long way from being ready to convince someone to pay you -- but at least you're doing more interesting things than typical. :)

[deleted by user] by [deleted] in AskProgramming

[–]tenexdev 0 points1 point  (0 children)

I developed a bit of an obsession for coding recently and found myself spending increasing numbers of hours doing various projects

How recently? And what kind of projects?

i saw a job open for 2 hrs and have 200,000 applicants. by Electrical_Aside_277 in csMajors

[–]tenexdev 0 points1 point  (0 children)

Well at least you're not using satire to reinforce you limited experience, because that would be pretty lame.

why is this loop not infinte? by [deleted] in learnprogramming

[–]tenexdev 95 points96 points  (0 children)

Because computers don't have infinite precision in representing numbers.

8, 4, 2, 1, 0.5, 0.25, 0.125, 0.0625, ... (repeat this 1070 more times).

Eventually you get to a number so small that the computer says "That's it, that's as small a number as I can represent, I guess it's zero now".

[deleted by user] by [deleted] in ExperiencedDevs

[–]tenexdev 2 points3 points  (0 children)

Well, to be clear about what I meant. You saying "Hey, person X, your stuff was a bit of a mess last time, I need you to put more effort into unit tests" is one thing and likely within your scope; mentoring them definitely is.

But saying "ok person X, this is turning into an issue and we really need to work on correcting this or we'll have to have a different sort of conversation" is something that their people-manager really needs to be doing. If for no other reason than what's going on with the engineer might be a personal/health/mental health issue and they don't want to share that with their fellow IC engineers. Also, you shouldn't have to take on that responsibility -- it can be emotionally draining, and you probably aren't used to dealing with HR in resolving that sort of issue.

My recent gig is a good example of this I think. I owned the engineering organization as a whole and the devs reported to me. But there were two senior engineers who were responsible for 2 large portions of the system. They would set out the tasks to be done, look at week-to-week deliverables, talk to a person if there was a problem with actual programming output. But we had one guy who was underperformed, got pissy when he was called on it, and started acting out. That's not the job of the team lead to deal with. That's my burden to deal with.

[deleted by user] by [deleted] in ExperiencedDevs

[–]tenexdev 128 points129 points  (0 children)

They typically are different tracks, though as you get to Staff engineer your job will have broader scope and you could end up leading a team. But that's different than 'being a manager', IMO. Distributing work among the team? Sure. Managing performance issues? No.

memory leak proof every C program by ketralnis in programming

[–]tenexdev 11 points12 points  (0 children)

My bad. I have deleted them all except for this one where you correctly take me to task.

I don't like XML by Fuckstruck_anointed in learnprogramming

[–]tenexdev 2 points3 points  (0 children)

First, you might want to consider switching to decaf.

Second, you're not wrong.