Help me learn new thingies!!!!!



  • After about 3 years of working in the Software industry I thought I'd had enough, and wanted to see how life would be without having to deal with assholes and half-assed Specs on a daily basis, and quit a month or so back, and probably taking a break for ~6 months. Now that there is nothing to do, there is so much room to explore and learn new things. I finally zeroed in on giving a shot at writing, learning to play the guitar(at least try to), and check out new/old programming languages/frameworks that I did not know.

    As far as writing and learning to play an instrument goes, I've resorted to structured and consistent practice.

    The last item on the list is where there seems to be a lot of confusion. Based on the skills that I'd acquired over my years of experience (~ 3 years - VB.NET, WPF, MSSQL and Oracle and a good deal of Tableau), I made a list of things that I would like to invest my time learning,

    Somewhat familiar with : Machine learning, R, Python, C#, MSSQL, JavaScript, Java
    Have no clue : ASP.NET MVC, .NET Core, Azure, AWS, Django

    The reasoning behind these specific technologies are mostly because I WANNA KNOW EVERYTHING!!!!!. I understand this is not possible given a finite amount of time and I decided to split them into four categories

    1.Machine learning using R and Python (Assuming it would only be a natural progression from working on Data visualization to something like Machine learning/Analytics). Also I have good Tableau skills to complement this.

    2. Java or C#. I know a bit of java and a bit of C# and would like to deepen my knowledge in either of these. I am torn here because the .NET Ecosystem (without .NET Core) feels more organized according to me(WPF for Desktop, ASP.NET for MVC, and so on) but every startup has the "Microsoft is evil" thing going on and also I am skeptic investing my skills in something that is predominantly windows based. I don't particularly like Java and I might like it if i really give it a shot and the only reason I would prefer this is a lot of startups use Java and not C#. However with Java I don't know what the fuck is going on at most times with so many frameworks. Spring, Hibernate, struts omg wtfzzzzzz.

    3. I think both Azure and AWS is cool. I do not have a framework of reference to favor either one. If I had the time I would probably learn both.

    4. Android - I think it is cool being able to make your own app.

    5. Web development - Same as #4

    Now on to the how,

    1. I have a pluralsight subscription for 3 months ( Visual studio dev essentials FTW!!) and their courses are top notch, However it just feels like watching videos and actually not internalizing anything new that you learn.

    2. Documentation - The only downside with documentation is there is always a risk of learning much more than you actually need.

    3. Building stuff that you want to learn a new language/Framework : I don't understand this at all. How do i build an android app without knowing anything?? where do I even start ?? How will i be sure am not picking up any bad practices learning things on my own??

    And now time is being spent on deciding what to learn and how to learn than the actual learning. This is enormously frustrating. I do not want to waste 6 months trying different methodologies of learning by going too far down the wrong road. I assume everyone here has had twice or thrice more professional experience than I do and must have gone through something like this in your life. There is not a single question per se but any pointers on how to go about it or what I'm completely off about would be hugely helpful.

    Thanks.


  • FoxDev

    @stillwater I can only really speak about .NET as that's where the vast majority of my experience lies, but I'd say ASP.NET MVC is worth learning if you want to get into web dev. Also, thanks to Xamarin (free with VS Community, which is also free!), you can use C# to build apps for iOS, Android, and Windows Store simultaneously, from a single codebase. As for startups thinking "MS is evil", who said you have to look at startups? It may be different where you are, but here in the UK, there's loads of .NET jobs all over the place and industry.



  • I switch between Java and C# all the time, and going back to Java always depresses me. I've started switching all Java stuff over to Kotlin, as it seems to address some of Java's problems. It's built in to IntelliJ IDEA.

    Although you didn't ask for it, I would recommend https://www.justinguitar.com for the guitar. He has nice clear videos and instructions, and demonstrates some popular songs using any new chords you learn. I also started to learn a few months' ago but sadly overestimated how much time and energy I would be able to devote to it :(



  • @stillwater said in Help me learn new thingies!!!!!:

    wanted to see how life would be without having to deal with assholes and half-assed Specs on a daily basis,

    @stillwater said in Help me learn new thingies!!!!!:

    There is not a single question per se but any pointers on how to go about it or what I'm completely off about would be hugely helpful.

    Why do you believe switching from (whatever you did before) to C# or Android development would solve the problems you listed in your first paragraph?

    Genuinely curious.

    You may be right that C# development houses in general are less awful than, say, those using Node.JS, but it's not something I'd take on faith. The entire industry is garbage.



  • @stillwater said in Help me learn new thingies!!!!!:

    here has had twice or thrice more professional experience than I do and must have gone through something like this in your life

    @stillwater said in Help me learn new thingies!!!!!:

    how life would be without having to deal with assholes and half-assed Specs on a daily basis

    Your issues with programming are social, not tech based.

    Yes, I jumped from one technology to another.

    I learned that the technology doesn't matter (only as long as you're not completely burying yourself into a very tight niche), the people matter.

    Find people you like working with and it really won't matter what you are doing.



  • @coldandtired

    @coldandtired said in Help me learn new thingies!!!!!:

    I've started switching all Java stuff over to Kotlin, as it seems to address some of Java's problems. It's built in to IntelliJ IDEA.

    I've actually been wanting to look at kotlin for a while. Looks interesting.

    @coldandtired said in Help me learn new thingies!!!!!:

    Although you didn't ask for it, I would recommend https://www.justinguitar.com for the guitar. He has nice clear videos and instructions, and demonstrates some popular songs using any new chords you learn. I also started to learn a few months' ago but sadly overestimated how much time and energy I would be able to devote to it

    I've been using Justinguitar as well. They have top notch material. This is my third time at trying to learn the guitar. You should give it another go. :)



  • @blakeyrat

    Okay this is going to be long.

    I worked in Bangalore, India.

    The industry is broadly split into huge corporate companies and startups. And the good ones in each category make up a very small percentage( let's say 20%) of the total. The remaining is split into probably 60% cc and 20% startups.

    The 60% cc hire a lot of engineers right out of college(who are usually coerced into a CS degree by the Family for a number of reasons) and mostly use a .NET/ Java stack. These engineers usually dont give a shit about code quality, testing, etc., They code, get some work done, get paid, go home, rinse and repeat. This is no exagerration involved here at all. The situation is so so bad. To give you a few examples from ~2 years of working in .NET Shops

    1. I have never seen anyone use MSDN. People genuinely do not know what it is. It's usually Google -> Stack overflow -> Copy/paste -> Debug -> Google ->Stack overflow -> Copy/paste...

    2. People do not know how to write Unit tests. No, seriously.

    3. I was asked by the Team lead to not use LINQ, Lambda expressions and what not because it looked strange and others would not be able to understand it and was asked to code "normally". Imagine doing C# with basic fucking constucts all day all year long.

    But there is a lot of demand for .NET/ Java devs and there are hundreds of thousands in supply and because of the reasons originally mentioned, the quality of code/people is very very bad.

    On the other hand, Shops that use Android or Angular or Django or relatively less mainstream shit, tend to attract the cooler crowd so to speak. This usually involves people who are self taught, have a github profile, know how to read documentation, write good code and so on. I assume this is the normal demographic in the US or UK and the cool kids do shit like Haskell or Julia or whatever. But startups here usually don't have a fucking clue what they're doing. Everyone joins a startup, gets paid shitloads (4-5x more than if they did not join a startup), works crazy hours, zero work-life balance.

    The Tech stack has been purely influenced because of social reasons. If i was living in the US, I would without a wink, go for something like a | C#, MSSQL, .NET, IIS | stack. But if i end up working on something like that here, the likelihood of me working with people who are extremely incompetent.

    Goes without saying, all of this is irrelevant if I could work in 20% of the companies that have good reputation. In the end, The more niche the work is and the more obscure the Tech stack is, the higher likelihood of doing something enjoyable,working with people who know what they're talking about and vice versa.



  • @xaade

    @xaade said in Help me learn new thingies!!!!!:

    Your issues with programming are social, not tech based.

    I agree.

    @xaade said in Help me learn new thingies!!!!!:

    Find people you like working with and it really won't matter what you are doing.

    Solid advice. Taken. :)



  • @stillwater said in Help me learn new thingies!!!!!:

    But there is a lot of demand for .NET/ Java devs and there are hundreds of thousands in supply and because of the reasons originally mentioned, the quality of code/people is very very bad.

    Ok, makes sense so far. I will say that's pretty India-centric, though-- I wager most countries are not like that at all. India was just an early leader in using their relatively low cost-of-living to create a large outsourcing business culture, and coders who are outsourced (who don't see the big picture of what they're actually doing or interact with the people using their code) are garbage. (Harsh maybe. Ok, no: they're garbage.)

    @stillwater said in Help me learn new thingies!!!!!:

    I assume this is the normal demographic in the US or UK and the cool kids do shit like Haskell or Julia or whatever. But startups here usually don't have a fucking clue what they're doing. Everyone joins a startup, gets paid shitloads (4-5x more than if they did not join a startup), works crazy hours, zero work-life balance.

    Don't confuse the term "startup" with "Silicon Valley startup". Those people in Silicon Valley are fucking insane, whether in an old company or in a startup. Those are the assholes with zero work-life balance building hipster bullshit.

    The two startups I've worked at in the Seattle area have both had mature development practices and a perfectly normal work-life balance. (Meaning: if someone worked over 40 hours a week, they considered it a problem to be fixed. Doesn't mean it never happens, but it does mean it's considered abnormal.) One of those startups was 100% HIPAA-compliant, something I wager virtually no Silicon Valley companies can manage seeing as they're run and staffed by myopic attention deficit disorder sociopaths. Kind of off-topic, here...

    @stillwater said in Help me learn new thingies!!!!!:

    If i was living in the US, I would without a wink, go for something like a | C#, MSSQL, .NET, IIS | stack. But if i end up working on something like that here, the likelihood of me working with people who are extremely incompetent.

    You have 6 months of time and presumably enough savings to last through it. Why not try your hand at starting your own business? Then you can use whatever technology you want. If you don't succeed, well, you were using the 6 months as a learning exercise and you'll learn a lot about either your area's business environment or your own work ethic.

    @stillwater said in Help me learn new thingies!!!!!:

    Goes without saying, all of this is irrelevant if I could work in 20% of the companies that have good reputation.

    Do you have anybody in your personal network who works for one of those companies? Can you convince them to get you an interview, or even do some contract work for their company? If you know what you want, don't feel bad about pursuing it.

    That said, this industry is still garbage all-around.



  • This post is deleted!


  • @blakeyrat

    @blakeyrat said in Help me learn new thingies!!!!!:

    You have 6 months of time and presumably enough savings to last through it. Why not try your hand at starting your own business? Then you can use whatever technology you want. If you don't succeed, well, you were using the 6 months as a learning exercise and you'll learn a lot about either your area's business environment or your own work ethic.

    I would not even know where to begin. The most I have toyed with this idea is try to make an app and try to monetise it via the app store.

    @blakeyrat said in Help me learn new thingies!!!!!:

    Do you have anybody in your personal network who works for one of those companies? Can you convince them to get you an interview, or even do some contract work for their company?

    Unfortunately I don't. The ones I know work in one of those silicon valley ish start up places - Lots of money, hipster bullshit but zero work life balance. Definitely would not want that. Contract work for companies is something I have never done, sounds like something that doesn't have any downsides to it.



  • @stillwater said in Help me learn new thingies!!!!!:

    struts

    pls no.

    Honestly though, my problem with it is probably that I've only used it in legacy projects, where it was used in the worst way possible. Same with Spring, but I don't have anything against Spring.

    @stillwater said in Help me learn new thingies!!!!!:

    I was asked by the Team lead to not use LINQ, Lambda expressions and what not because it looked strange and others would not be able to understand it and was asked to code "normally". Imagine doing C# with basic fucking constucts all day all year long.

    I fucking hate this guy because he's the reason I don't have fucking any good code to work with from them. How would you like to use an untyped Map?


  • Impossible Mission - B

    @stillwater said in Help me learn new thingies!!!!!:

    sounds like something that doesn't have any downsides to it.

    *snicker*



  • @jazzyjosh said in Help me learn new thingies!!!!!:

    pls no.
    Honestly though, my problem with it is probably that I've only used it in legacy projects, where it was used in the worst way possible. Same with Spring, but I don't have anything against Spring.

    I' ve been working on legacy projects almost all my professional life. I'd rather not add spring, struts or whatever the fuck is out there in the wild on top of this. Super skeptic.



  • @blakeyrat said in Help me learn new thingies!!!!!:

    if someone worked over 40 hours a week

    I never understood the crazy work-life unbalance out there.

    It's been shown over and over that the work degrades after 40 hours, and it becomes a huge liability for jobs like development.


  • BINNED

    @xaade said in Help me learn new thingies!!!!!:

    I never understood the crazy work-life unbalance out there.
    It's been shown over and over that the work degrades after 40 hours, and it becomes a huge liability for jobs like development.

    I'm not sure most C-level execs know or care about that.


  • Impossible Mission - B

    @xaade At my last job, there were times when we needed to work extra to put out fires because something screwed up badly for a client. It happened maybe once a quarter or so, probably less, and we were all OK with that.

    If it had ever become a regular, expected thing, I'd have left a whole lot sooner than I did, and I wouldn't have been the only one.



  • @antiquarian

    They do when they're convinced that it affects bottom line, which it does.

    Lower maintenance costs, lower service calls, etc.



  • @xaade said in Help me learn new thingies!!!!!:

    I never understood the crazy work-life unbalance out there.
    It's been shown over and over that the work degrades after 40 hours, and it becomes a huge liability for jobs like development.

    On the other hand, Japan keeps somehow increasing production despite having horrible work-life balance and a decreasing population.

    So there is something to it.



  • @stillwater said in Help me learn new thingies!!!!!:

    Building stuff that you want to learn a new language/Framework : I don't understand this at all. How do i build an android app without knowing anything?? where do I even start ?? How will i be sure am not picking up any bad practices learning things on my own??

    This.

    You take a book or course that guides you through making an app (eg. Big Nerd Ranch) and follow it along.

    Then you make a simple app entirely on your own. I like to make a calculator or todo list, something like that.

    Then you make an app that really scratches an itch you have. You must have something you wish you had an app for, or just a pet peeve with an existing app you like, that you think you can do better (you won't). You'll make all sorts of awful mistakes along the way. That's ok.

    Then, you can go on reading advanced articles and learn the best practices and all the rest.



  • @stillwater said in Help me learn new thingies!!!!!:

    1. Java or C#. I know a bit of java and a bit of C# and would like to deepen my knowledge in either of these. I am torn here because the .NET Ecosystem (without .NET Core) feels more organized according to me(WPF for Desktop, ASP.NET for MVC, and so on) but every startup has the "Microsoft is evil" thing going on and also I am skeptic investing my skills in something that is predominantly windows based. I don't particularly like Java and I might like it if i really give it a shot and the only reason I would prefer this is a lot of startups use Java and not C#. However with Java I don't know what the fuck is going on at most times with so many frameworks. Spring, Hibernate, struts omg wtfzzzzzz.

    Obligatory .NET is dead, pledge your allegiance to the JAVA world.


  • FoxDev

    @cartman82 said in Help me learn new thingies!!!!!:

    Obligatory .NET is dead, pledge your allegiance to the JAVA world.

    Obligatory counter, yadda yadda yadda, same old song and dance



  • @blakeyrat said in Help me learn new thingies!!!!!:

    @xaade said in Help me learn new thingies!!!!!:

    I never understood the crazy work-life unbalance out there.
    It's been shown over and over that the work degrades after 40 hours, and it becomes a huge liability for jobs like development.

    On the other hand, Japan keeps somehow increasing production despite having horrible work-life balance and a decreasing population.

    So there is something to it.

    Besides, production != profits.

    Increasing production, but you have to retrain a new staff after the last one seppuku'd off a building...

    East asians have a very collective mentality, which results in high competition for very little reward. Maybe it works over there, but not elsewhere.



  • @xaade Pfft. You can't seppuku off a building, you have to use a blade. Otherwise it's just a plain ol' suicide.



  • @blakeyrat said in Help me learn new thingies!!!!!:

    @xaade Pfft. You can't seppuku off a building, you have to use a blade. Otherwise it's just a plain ol' suicide.

    Wife's Chinese.

    She left for America. She also stayed in Norway with the social dem stuff.

    She said that she prefers America, and said that "when you don't know anything else, you think that's the best it can be."



  • @xaade said in Help me learn new thingies!!!!!:

    She said that she prefers America, and said that "when you don't know anything else, you think that's the best it can be."

    What is "that" in this sentence? Suicide?

    Good to know living in the US is marginally better than killing yourself.



  • @blakeyrat said in Help me learn new thingies!!!!!:

    @xaade said in Help me learn new thingies!!!!!:

    She said that she prefers America, and said that "when you don't know anything else, you think that's the best it can be."

    What is "that" in this sentence? Suicide?

    Good to know living in the US is marginally better than killing yourself.

    Sorry, quoted the wrong post.

    I'm referring to the highly competitive bad work-life balance workplaces.



  • But she said the same thing about Norway's social systems.



  • @cartman82 said in Help me learn new thingies!!!!!:

    Obligatory .NET is dead, pledge your allegiance to the JAVA world.

    @raceprouk said in Help me learn new thingies!!!!!:

    @cartman82 said in Help me learn new thingies!!!!!:

    Obligatory .NET is dead, pledge your allegiance to the JAVA world.

    Obligatory counter, yadda yadda yadda, same old song and dance

    Why do we not have a language flamewars thread around here ?


  • 🚽 Regular

    @blakeyrat said in Help me learn new thingies!!!!!:

    @xaade Pfft. You can't seppuku off a building, you have to use a blade. Otherwise it's just a plain ol' suicide.

    What if you jump off a building on top of a blade?


  • kills Dumbledore

    @stillwater said in Help me learn new thingies!!!!!:

    Why do we not have a language flamewars thread around here ?

    Because every thread that gets over 100 posts has about even odds of devolving into a language flamewar or Git vs other source control flamewar anyway


  • kills Dumbledore

    @zecc said in Help me learn new thingies!!!!!:

    What if you jump off a building on top of a blade?

    Wouldn't the building crush the blade?


  • FoxDev

    @jaloopa said in Help me learn new thingies!!!!!:

    @zecc said in Help me learn new thingies!!!!!:

    What if you jump off a building on top of a blade?

    Wouldn't the building crush the blade?

    Not if the blade is adamantium



  • @jaloopa said in Help me learn new thingies!!!!!:

    Because every thread that gets over 100 posts has about even odds of devolving into a language flamewar or Git vs other source control flamewar anyway

    Why would there be a Git vs other source control flamewar in the first place when everybody knows Git sucks and should be nuked from orbit ?


  • kills Dumbledore

    @raceprouk said in Help me learn new thingies!!!!!:

    Not if the blade is adamantium

    What if the building is dark matter?


  • FoxDev

    @jaloopa said in Help me learn new thingies!!!!!:

    @raceprouk said in Help me learn new thingies!!!!!:

    Not if the blade is adamantium

    What if the building is dark matter?

    Why would a building be made from Kirby's enemies? That's sick. You should be ashamed of yourself.
    trololololol


Log in to reply