56 karma · joined April 19, 2017
What is considered "menial" depends on the context of the problem needing to be solved and a mix of your personal experience.
The increase of hardware performance also helped allow software abstractions to the ridiculous levels you see. That's what also makes it possible for computers to solve a greater array of business problems.
Engineers making tools that are used for making other tools, that are tools for other tools for other tools that eventually helped make someone's wedding photography site on Wix.
To answer the first question, I see myself with a decent paying job that has 401(k) and benefits in 5 years. Sounds average, like a typical college student's goal, but I still feel like a college student in some ways. I graduated at age 25 and 9 years later I am not able to make a living for myself.
I have been burnt out from companies paying so far below the local market rate, going through several periods of time with no work only to get another offer form a company that doesn't pay well, doesn't provide insurance, don't withhold taxes for their workers. And then getting laid off again. I'm spinning my wheels here. I cannot save money with that kind of thing going on indefinitely.
In 5 years I also do not want to be living with my mom. I want to have my own home, being able to set my own rules instead of running errands every day for family. And in 5 years I do not want to use her money to go to a coffee shop almost daily because that is the only way I can get internet access (and thus the only way I can send lots of resumes for a job).
The former doesn't necessarily guarantee the latter. I'm gonna answer with the path less traveled in this thread with regards to your question. When you mention competitiveness, do you actually mean in terms of the job market? If so, unfortunately most people that are your first eyes to your resume when you hit that submit button are not as technically inclined as a programmer. Which is why it's often better to directly reach out to a team lead of the programmer department. Fundamental concepts don't work with 3rd party recruiters either, as most of them are not very language agnostic when it comes to matching you with job opportunities. The exception is with the largest of companies. They'll value fundamental skills more highly because they can absorb the risk of hiring someone to ramp them up with their work environment. Most medium to smaller companies can't afford much ramp up time. From my experience they want you to hit the ground running (seems to be a popular phrase with them) in whatever web framework they use.
So for your benefit, you will look more appealing to hire by applying to larger companies. Smaller companies tend to interview more in concrete framework trivia while the large ones tend to test you on algorithms and other language agnostic concepts.
I guess I'm expecting more momentum to be built from my professional experience. Being in touch with a circle of people that talk shop, and bounce job opportunities back and forth. Right now keeping in touch with people in the industry doesn't feel as organic. Meetups help but it's still a bit forced from my view.
I believe that benefits occur more organically simply by making friends. But as I said, my friends are not very familiar with the software industry, nor know anyone who hires in that industry, so they can't really help me out in the professional world.
I worked at a web agency before so I know how that is. If software is just a means to an end, what are they exactly selling if not software? Websites as a service, perhaps, but that still doesn't support the business model that focuses on hourly billing, that puts a perverse incentive for developers to produce less satisfactory results.
It probably is stated because people are very quick to correct other people when they are wrong, I guess.
I hope that I would at least stand out from most JS developers with stuff like this. I don't really have an interest in making a Twitter clone with a Bootstrap UI. I'm hoping someone takes a chance at my skills with my not so typical JS projects.
I think this is very real. So how do you correct this problem and sell the perception that you are able to do well?
Interview prep, like Pramp? I did get some feedback from TripleByte at least.
For instance, my title for a web marketing agency was 'associate software engineer'. It was the typical job of setting up CMS sites, customizing plugins for them, or occasionally making a very static site from scratch.
I gradually got into doing more complex work like writing apps on MVC frameworks. But I think there may be indeed another career ladder I need to jump on if I want to actually do the "engineering" part correctly.
No algorithmic problems, though, you're right about that. The closest thing I can think of relating to time complexity for web dev are when N+1 queries are used unnecessarily. I fix those, and change them into single queries.
For what it's worth, though, Amazon did reach out to me and I did two rounds of interviews with them. I bombed the tech on the second one.
Senior level web? Heh, even in web don't even think I'm that far. I have zero professional experience with anything but PHP which is going out of demand in newer positions.
On the JavaScript side I have done two React projects, all the companies I worked for had old-school JS though. Bunch of vanilla JS with jQUery strewn in, hundreds of files, no usage of Node nor modules.
Most of the non-generic feedback I got on tech skills followed the same theme- I have breadth in knowledge, but not depth. I'm not as "T-shaped" as I thought I was.
For me I think the best strategy to take in being more employable (and hence having an easier time advancing to a more ideal position) is to start building up desirable experience in the next job I take.
It's been a while since I have been gainfully employed (my ex-boss gives me freelance work at least) so right now in downtime I apply for jobs and set up interviews. I've been fortunate enough to get detailed feedback from a few places.
In particular with TripleByte. They've been very helpful in finding holes in my interviewing style, and knowledge base. Even though they couldn't find a targeted job match for me they run down in detail what I did wrong and what I could do to improve. And I do feel like it's hitting home.
I feel like I've "Peter Principal" myself to a junior role. Most of the companies I've been with are on the smallish side, with small tech departments. A marketing agency that outsources to India, shows little care on the craft, no basis on testing, integration, or automation.
Another one, a magazine company where I was the one man band when it comes to programming. Nobody else knew how to code. I had to deal with putting out fires working with a legacy code base and had to cowboy-code my way out of problems.
These experiences have made somewhat of a self-starter, but I need more structure. I need to know how to apply TDD principles, figure out the best way to solve an algorithm, or depending on the company, pair program with someone.
It's like competitive games. I can't get really good unless I can practice alongside someone that can consistently kick my ass. Eventually I may be able to kick theirs more consistently. Craft my own problem solving approach that I can call my own, use it as a selling point.
Granted, I'm only just about one decade into my career, so I'm not that late in the game.
The "one year of experience" phenomena is too real. I'd like to read some articles not just that show examples of it, but also teach effective methods to correct it. I don't find a lot on dealing with the latter.