• 4 Posts
  • 190 Comments
Joined 1 year ago
cake
Cake day: June 28th, 2023

help-circle

  • I have 15+ years of experience being a software engineer and now I’m making a mid-six-figure income by going into companies who staff their “engineering department” with people who have five years or less of experience and cannot write a line of code without internet access to save their lives. So by all means go ahead and continue down the road you are going. We thought that stack overflow would guarantee a stable business but now that “AI” has come into play, we can’t even keep up with demand. We’ll probably raise prices by 25% next quarter. By the time that AI can actually produce decent results, I can probably retire twice over.








  • That is called a double round robin. It considered to be more fair, but also takes twice as long. You should probably set the group size to the number of players you want in your tournament, that’s kind of the point of a round robin. If you want fewer round that you have players, a Swiss tournament is probably closer to what you are looking for.



  • Programming has very low hardware requirements, much lower than web browsing. Just don’t get sucket into the whole maelstrom of people trying to convince you that you need a bunch of complicated tools. If you are just stating out, Gedit or equivalent will work out just fine.

    In terms of operating systems, if given the choice professionals tend to congregate around Linux and MacOS as the development experience historicaly has been much better due to having access to a proper terminal. This is something you want to familiarize yourself with if you haven’t already. Other factors may apply, especially in professional environments, where clients / employers mandate the use of Windows or something else, but this probably does not apply to you.

    Universities usually have their curriculum, which is rather narrow in the beginning and widens in later terms, especially in masters classes. When it comes to teaching fundamentals, language and tools really does not matter much. It’s more about keeping things manageable for the teacher.


  • It’s a very good lesson- to the point where I wouldn’t be surprised if the teacher is deliberately putting an arbitrary restriction on the assignment.

    It’s not arbitrary. When you start out on a profession, the first thing a good instructor does is make you unlearn the things you already think you know before teaching you the things you need to know. Think of it this way: When you pick up a golf club and start hitting the ball, you’ll drive it left and right. First thing you’ll be taught is to only hit straight. Even if you think you should try to drive a curve ball, a good teacher will not allow you. Only when you have mastered the basics will he teach you to drive curved balls. So ignore your teachers advice at your own peril, but it will most likely set you up for an expert beginners career.

    As a closer, I can tell you this much: I received the same advice almost 20 years ago and now, after being a professional developer for two decades, I can not recall more than five times when a break statement actually made more sense than to rethink the algorithm.






  • I would actually entertain the argument of protecting themselves against free-riding if and only if they would publish a transparency report detailing how they reimburse open source projects for the “common infrastructure” like, say, Linux, that they use to build and run their commercial offering and how they arrive at the amount they consider fair for their use. So far, I have not been able to find anything remotely like that, so their while argument is marketing and gas lighting.


  • This. Unless you generator guarantuees reproducible code generation and your build environment does the same across developer machines and CI, you are opening yourself up for “works on my machine but fails on CI” issues that are hard to debug. Since most developers don’t pay attention to these things (they really should), I would always advise to check generated code into version control.