3
ezbie
8y

!rant
Experienced devs please tell help me.

Learning software development has been a challenge. Many times it's frustrating.

I also learn languages and I find them to share one trait with software development, which is complexity.

At first I looked at languages the way I'm currently doing with software. I'd look in a new language and after decided it's cool to learn it, I would stare at it for a few weeks trying to realize what the heck I was going to do. I wouldn't even know how to get started.

Eventually this stage goes away and I think that is about to happen with me with software.

But then a new challenge would come, which is me not making progress as I wanted. That's sort of happening with me by learning software as well, bit in language I now know how to deal with it.
That's because I work full time with something that isn't in my interests and when I arrive home Im tired and want to relax. So I decided my language learning had to go slower as long as I have this job, meaning no hours spent in front of books or a pc studying - that's what I could do with English, I was a teenager and had 12 hours a day to do whatever I wanted.

So I usually spent 5 minutes here and there learning something in my target language when I can, no frustration needed, my only rule is: practice everyday, even if I don't learn anything new.

With software, that doesn't apply though.

So, what I mean by tracing a parallel between these to fields is that I have a strong conviction is that once you get the principles on how a certain kind of learning works, you can apply it everywhere in the field. But with software it's been harder.
Anyways, I see that are some principles that apply, cause trying to learn software is changinge and teaching a lot of things like:

*you have to read a lot (of documentation) . At first I thought all documentation was painful to read and understand, but I found out some software are well documented and one can use those only to get used with it.

*immersion / discipline are important. I'm not very disciplined, I'm better with immersion but both are important if you need to acquire complex subjects/skills

*how to deal with complexity. I installed Arch Linux a few days ago. Just to install it I ended up reading more than 20 pages of documentation (install guide, Wpa supplicant, systemd, networkd, xorg, etc etc). Gradually I'm realizing that when you have to install/tweak something in that distro you necessarily spend a bunch of time trying to understand how it works, otherwise you don't get too far like in Ubuntu or Debian.

*and lastly the one that bothers me. Constantly getting frustrated and feeling crap about my poor skills. No matter how much I progress, it still seems like I'm stuck.
(that's when I ask your help/opinion :) )

Comments
  • 2
    Everything you mentioned is true. Software development and learning languages can be and generally is really frustrating. It comes down to motivation and self discipline, how open you are to "wasting" time and how bad you want it. An example, I have a job interview soon where they use a lot of AngularJS, I have very little experience with it, so I will be spending the next 2 weeks learning all I can about angular.

    Continuing education is part of the field and expected. If you don't continuously learn and push yourself, you become stagnant and essentially irrelevant in the field. So really your concerns, fears, and frustrations are self perpetuating. Your success is dependent on your level of devotion, dedication, and drive.
  • 0
    @h3ll yeah, I get your point. Thing is, I don't feel motivated as before. My real drive was assembly, reverse engineeringvand this low level stuff.

    Realizing I was never to get a job with this sort of thing around here (also following professional developers orientation) I decided I'd learn C #.

    I spent 5 months learning it and crafted 2 (badly made, I confess) systems with it and didn't get paid. That not being frustrating enough I got a good job offer to work as a C# developer in which I'd work 6 days a week, but the at same time guys in the college decided we'd have classes on Saturday too so I ended up losing the job offer and no other C# opportunity popped up since then.

    So I decided to learn web, but I'm overall not excited about it, so I'm sort of in a limbo, trying to decide what I'm gonna do, cause I've been trying to learn and find a job in the area I love for almost 2 years already, but I'm in the temporary condition in which is sort of ran out of hope hehehe
  • 0
    @h3ll yeah man, you're being very helpful because all of the considerations are really hitting me. In the case of your first suggestion, where you say I should follow my real interests religiously - and that's what makes sense the most - I guess that's what I should be doing, it's like I never realized it, but now that you say, a person should be doing what's is more exciting for them, even if that meant you have no foreseeable future with that lol

    Might sound a mistake to say that, but I'm serious. If I had kept going on I'd probably be writing my own assembly programs by now.

    About your second consideration, that'd be a good idea if I lived in the US. Big companies aren't very present around here.

    Anyways, I'm gonna relax for a while, then I'll decide which language I'll pick, but definitely this web development thing is not catching me up. Also, for sure if you didn't say anything I would take a bit longer to realize it.

    Thanks :)
  • 0
    @mclovinit I'd never heard about that syndrome before. But I can certainly imagine how psycho one could be when they work with software development. I went mad my first time I developed a system. After I finished it I had no clue on how I started, and I sometimes I felt like that was eating me alive, that I'd not be able to get past it.

    Plus, there are the weird bugs and the cryptic documentation Microsoft writes.

    Anyways, I from a *meta* point of view a find all of it interesting. Maybe not when I'm caught up by frustration, but in hindsight it makes you grow intellectually, something that I realized quickly and probably why I wouldn't treat myself as an impostor.

    But just me though.

    Plus, your idea of crafting something for free for the sake of learning seems interesting, and I even tried to do it already but I found out that to apply this idea could lead to mountains of frustration (guy who you're doing this favor to being bossy upon you finishing quickly, for example)
Add Comment