tl;dr I need to make a programming portfolio but I’m struggling with justifying it to my brain

Hey, so… there’s a thing that’s been bothering me for a long time. I’ve never been able to “fit in” at most jobs. I don’t really have “a thing I’d enjoy working in” which, in my case, is a problem because I just can’t give up more than a half of my time to something I don’t care about, it really messes with my brain and I can’t stay in that situation for long.

Programming caught my attention because it relies on stuff I’m quite good at. Solving problems, some creativity, more detailed work too. I have a few online courses done so I’m not totally clueless etc. I have an idea of how searching for a job looks now and other basics.

Now, for the main course: I’m trying so hard to find a field to stay in but for some reason it’s weirdly difficult. I think it’s because I’m not sure what this or that position really looks in day to day life. I was interested in C# and backend the most but I’m not sure anymore. Is it only working on web pages all day long? I can see it’s usually commerce and I don’t like that too much. I’m open to other languages too, that’s not a problem.

On top of that everyone says “do a portfolio” and they’re right because that’s probably the only way to showcase the skills a person has but that’s where things start to get tricky. My mind just refuses to do a project for the sake of doing it, straight up “nope” and it just doesn’t want to cooperate. I tried to look into open source projects to help someone else but they’re too advanced, I’m in that weird void between courses and real life applications. I tried to ask people in beginner groups if they’d like to make something together but no one answered, nobody I know needs an app for anything too so it’s no use.

I think it’s more neurodivergency related thing than strictly tech. Trouble with decision making, motivation, many people don’t understand that.

My reasoning behind all this is that if I find a project that’s needed by other people, I’d be able to complete it. I haven’t found anyone with a similar issue yet though.

  • chazzam@beehaw.org
    link
    fedilink
    English
    arrow-up
    4
    ·
    1 year ago

    I’ve never been diagnosed with anything, but I strongly suspect I’ve got ADHD, so perhaps at least a similar head space as where you’re coming from. My main drives have often been solving problems, troubleshooting, creativity, variability from day.

    There are options for programming that aren’t web pages. If you find a company that makes a software application rather than a website or a web service, there would be easier to find options there. Several things in private sector as well as in government if you’re close enough to a government site for that to be an option.

    How are you with hardware? You could do stuff a bit closer to hardware potentially, like firmware development. Also an option could be QA for a company that makes hardware. I spent almost 7 years in “Operations” at a company that made hardware and software. I helped write functional tests that tested new hardware as it came off the assembly line, I inspected returned hardware to identify the failure (or if it was user error). I was a little linux sysadmin and managed my own VLAN off the main corporate network. The task needed had TONS of variability, and lots of problem solving, which very much helped me last as long in that job as I did. I can do hyperfocus on things I enjoy, but stuff I don’t enjoy is incredibly difficult to even get started in. Doing the “same thing” day after day gets old and becomes difficult. But if I’m doing one thing half of one day and then switching after lunch to something else, then spending a couple days fiddling with a functional test, then finish off the week by troubleshooting returned equipment. That kept me occupied and engaged for years! I don’t know that I would do as well in pure QA, but a smaller company where it required wearing multiple “hats” in just the one position offered the variability that kept me engaged.

    I finally left there for better pay doing embedded firmware development for a primarily hardware company in the IT space. I enjoyed that a lot, but they didn’t quite come up to the amount I asked for, and had to leave to better support my family. So now I’m doing a bit of government contracting type stuff. But I wouldn’t have been able to get this particular position without all the prior software experience I had. They’re currently open for people with less experience now though, so it would be an easier time to get on board at many places.

    So you could also consider things that have the ability to be programmer adjacent. They have programming bits, but it might not be the sole focus of the position. IT, Sysadmin, Tech Support, QA, Engineering, just to name a few potential options.

    I can do short bursts of web backend stuff, but web service and DB stuff just wears me out faster than almost anything else I’ve tried so far. I’ve never made a “portfolio” myself, but I also have been avoiding the web sector of programming, which is where that seems more beneficial. So it might just be that you need to shift directions out of web services and web sites for a bit to see if you have any better luck?

    Hopefully this helps a bit with ideas at least!

    • chazzam@beehaw.org
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 year ago

      oh. I forgot to cover a bit more of the portfolio angle. The closest thing I’ve probably managed to a portfolio is just this one ancient project I worked up where I was reading lots of serialized publications on websites, but wanted to be able to read them on my kindle, offline, instead. So I worked up a python script that would download the serialization, either from the main table of contents, or by feeding it the first page and then having it track down the “next” and just scrape the contents. So I’ve this project that ballooned a bit, that is basically just a web scraper to epub python script.

      Then I’ve several times done Advent of Code as a problem solving thing, although I’ve never made it past about 10-15 days. I enjoy the challenge for a bit, but generally pick a language I’m not super comfortable in, and then learn more about that language while working through the problems. I greatly expanded my python library knowledge one year, and have worked on building up comfort in Haskell and Rust via those challenges.

      Those are really the closest things to a portfolio I can offer, since I put all of them on my github. So finding a set of puzzles you can program your way through in various languages, or some other problem that you have that you can use programming to solve might be ways to shortcut the logic on building up something public to display.

    • Cipher@beehaw.org
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      1 year ago

      I’ve been in QA for 12 years, and it can be great if you want to innovate (test automation) while also sometimes doing manual work (manual test) to punctuate hard thinking sessions.

      I’m not diagnosed as neurodivergent(and strongly suspect I may have ADHD) but do I have a lot of ND coworkers in dev and QA.

      This really comes down to choosing for what your ND needs. Spend some time getting to know your brain and it’s particular needs. Identify what you want vs what you need.

      Good luck on finding your way

      • Krzak@vlemmy.netOP
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Good point. So far i figured out that I need some predictability but with a heavy dose of new knowledge. Maybe not every single day but once or twice a week at least. I like optimising, sorting things but enjoy doing creative things too. As you can see, I don’t have a super strong preference, maybe other than working with a smaller team. AFAIK most “tech oriented” jobs in IT cover that so there’s a lot to choose from, and that may be a drawback sometimes.

        • Cipher@beehaw.org
          link
          fedilink
          English
          arrow-up
          0
          ·
          1 year ago

          Unfortunately, many of us have to jump into a given role and learn the hard way whether it fits us. As an example, I never intended to go into SQA, I just fell into the role. Turns out I love it.

          Stumbling into your career is inelegant, imprecise, and frustrating though.

          In spite of that sometimes experience is the best teacher whether we like it or not. Good luck out there

          • Leather Cub Andrew Aû@4bear.com
            link
            fedilink
            arrow-up
            3
            ·
            1 year ago

            @Cipher @Krzak
            I’m glad it worked out for you.

            I actually studied for Computer Engineering geared toward embedded electronic design… never got a role in it beyond a one year internship down the street from campus.

            After I graduated, recruiters just saw “computer” in my degree and assumed that I could do anything with computers… I knew bits and pieces of C++ coding, and picked up some things fast… but as time went on… I struggled more and more with anything involving software development and knew that it wasn’t for me. I tried taking online courses to get back into roles related to my studies… I did well on assessments, but struggled with interviews… while also dealing with recruiters who assumed that I had always been in the role I was trying to get into… the last time I ever entertained anything within tech was past year when I received the news that I was only qualified for an internship which I would have to compete with students while I have been out of school for 14 years… I realized that I needed to change my career path.

            I have admitted on many occasions that I prefer to be hands-on with my work… but last year I also admitted that I like working with my hands and not data. I stumbled into a hobby that I might consider for work… some people think that I should even sell such items… I am willing to give it a try when I am both comfortable enough with my skills and am in a position to actually do it.

    • Krzak@vlemmy.netOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Initially I was going towards software, turns out WPF beat me, in a group project I had a portion that involved it and I just couldn’t do it. Making the buttons and all that was okay, backend too, but making them cooperate? No way. Sadly the other members weren’t very helpful and there’s surprisingly few in depth resources about WPF so I dropped it.

      I don’t have any background in tech so everything I know, I learned by myself. I haven’t touched hardware yet, I know it’s in the program of “trade schools” which is an alternative to high school here so they’d have an advantage over me. There’s a limit to how much one person can learn simultaneously so I don’t know much about that for now. I’d like to reduce the even of “starting a million things and never finishing any of them” so I’m trying to limit myself a little.

      I noticed that testers are in demand but it turns out that almost all offers require a ISTQB certificate, which costs quite a lot of money so it’s not available for me now. I have a limited amount of information about the position itself, I’m not sure what a tester really does outside of “tests things”. For some reason many people, not just testers, have a hard time describing in detail what they do. It’s probably because they have many different tasks so I understand, but it makes it difficult for me to get an idea of what the job is like. It feels like trying to navigate an unknown place, through a fog so dense you can barely see the fingers of your outstretched hand. There’s probably a solution to this but I’m not aware of it. Maybe AMA posts or something, I have no idea.

      • chazzam@beehaw.org
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Ah sorry, I didn’t so much mean to push for switching entirely from developing software to designing hardware. I was trying to suggest aiming for developing software for low level hardware, like embedded development. If you’re comfortable with C#, it likely will be simpler to at least start reading C++. I went in the opposite direction there myself though.

        I started learning programming by playing around with TI-Basic on Texas Instruments graphing calculators. Then I learned Z80 Assembly to get around a common bug with hitting left and up at the same time in writing games on the calculators. Then I got a different calculator that had a Motorola 68000 or something CPU in it instead of a Z80, so I attempted to learn that assembly, but noped out of it and learned C instead. Then naturally progressed into C++ before I ever took a programming course, which ended up being on Visual Basic.

        It only took me a mere 9.5 years to graduate with my four year bachelors degree, so I started in tech support with no degree, then moved into Operations with no degree as an internal promotion. I’d been working in Operations helping with testing for years before I finally finished and got my degree, then just kept working there for several years more. So I think I get the self taught part pretty well at least. All of the things my degree tried to teach me, I had already learned either on my own directly, or by being pushed there for work.

        I’m unfamiliar with that ISTQB certification, but if it is that expensive, they very well may be willing to pay for you to take the certification if you ask about it. Especially if they’re having trouble finding people to hire.

        I guess just to try and describe my own experience with “testing”, although largely focused on testing hardware. The developer/engineer provided information on what the thing was supposed to do and how it should act. Sometimes they even had documentation instead of just a verbal discussion and a whiteboard. They would often provide a software tool or API to get into some portion of the hardware and allow access to various things to verify whether they were working. This often involved physically connecting various components to the device and trying to send data across. So there was a lot of send this thing, then try to read it back and see if it came through the same as a basic test that everything was connected. Then drivers/firmware would get installed/updated and we’d try some higher level functional usage of the device as best we were able. Depending on the purpose of the hardware, this wasn’t always possible to test in actuality, so a lot of the time this would be running more things in a loopback mode that the drivers supported, even by customers in the field. We used Linux, bash, perl, python, and various other things to try and automate as much of this procedure as possible for the hardware. By the time we were done automating, testing most of the hardware was as simple as install it in the test fixture and connect it according to a diagram, then turn on the test fixture. The fixture would identify what was installed, load the correct test, and report whether the results were nominal. If they were not, it would at least outline the step that failed so the test operator knew what to inspect if possible.

        As for more direct me testing, that would be the returned field failures. Much of our hardware ran in a regular PC, so there was a lot of regular PC troubleshooting steps to reproduce/verify a failure. Then I eventually learned soldering and was taught some PCB/hardware stuff to do deeper dives on the boards, but that was all taught/learned on the job.

        I basically got the operations position because I had shown I was good at troubleshooting and problem solving in general, and that I was capable of learning a system enough to be considered the local “expert” on it. Then I was taught or learned anything else I needed to know after I got the position.

        So, hopefully you haven’t given up too much yet, and perhaps you can try out applying for some positions where you don’t quite meet all the “requirements” for it. Then just describe situations that show your general capabilities, and that you can learn what they need after you get onboard. Hopefully your luck will turn soon and you can get on into something somewhere.

        • Krzak@vlemmy.netOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          My bad, ISTQB is the International Software Testing Qualifications Board, a software testing certification board, not a certificate. One of the certifications is Certified Tester Foundation Level. I’m reading about it now and it seems the syllabus got an update in May and there also are some older comments from around 2016 that the certificate matters little because it’s too easy to pass, I’m not sure how about the new one. The test costs more than 50% of a monthly minimal wage so I’ll definitely stay away from it.

          It may seem like I’m too dead set on the portfolio thing but in here, the junior market is really tough (as it probably is the case anywhere else) so I think I really have to come with something that works. The number of offers is limited so I want to use these rare opportunities as best as possible so my reasoning here is that I have to make something, even though I’m better at solving real life problems than making up stuff.

          On a more positive note, it seems that the worst of my low mood/burnout is over, I can dust one or two ideas I had put away and maybe, just maybe, I’ll get some progress in the upcoming days. Assuming I won’t get overwhelmed by all the information attacking me from all sides at once /hj