As the title say I am looking for some advice.

I’m almost 6 months into my first role and it really isn’t what I expected.

I’m late thirties and always had an interest in tech, but personal circumstances and a late start in life left me unsure if I was good enough.

I did too many boot camps and in all them they discussed how in your first role you would get lots of support to help develop your skills.

I work for a small company < 10. I don’t feel I get the support I expected.

A lot of time the spec is kept in the lead engineers (owners) head and when given a task I get no timeframe, the task is given verbally with 100 words when I need 1000 words. It’s confusing to understand their vision so I’ll do something and either be told great or no that’s completely wrong.

If wrong I’m not called out and they will spend a little more time going over what they want.

The boss is always so busy that sometimes you feel like a burden asking for pointers.

The tech stack is great but as a mature company they have refined the process over numerous projects and the newest will start as a copy of the last one, keeping all the shared hooks and stuff, so naturally it’s second nature to them and I feel stupid.

I guess my question is is this normal and how do I write an email expressing these concerns and to gauge how I am doing?

As an aside, there is no remote work and no headphones in the office, even though nobody really talks about work that often. So when is a good time to start looking for your second role.

I feel like I flip between I am a god and can code anything and omg I know nothing show me the nearest bridge.

Thanks.

  • August27th@lemmy.ca
    link
    fedilink
    arrow-up
    0
    ·
    1 year ago

    Before you take the advice of anyone here, try to find out how long they have been in the business, because I think that’s going to change the kind of feedback you get. I’ve been doing this for over 20 years, and I’ve worked in all kinds of places, from small business, to large, to government, as an employee and consultant. Not bragging, just providing a reference point.

    Your concerns and situation are ones I have experienced myself. You are not alone. I’ll give you advice I wish I could have given myself decades ago.

    unsure if I was good enough

    Every programmer starting out has this feeling generally. Please don’t take this as dismissive. I actually take this as an indicator of someone who will succeed at becoming a good programmer. The brazen ones who do not introspect and understand their inabilities are doomed to flounder perhaps forever.

    I feel like I flip between I am a god and can code anything and omg I know nothing show me the nearest bridge.

    In my experience this feeling can last for decades, probably forever, but as you gain more experience and hours of working on code, the bridge diminishes. If this doesn’t make you feel better, you’ll just have to take my word for it… it does get better and you will be happier over time. As you get more experience, you will be able to better estimate things, so you can know when something is way too big to go alone, or without more resources/support, or without more budget, and how to say so/no in those cases.

    It took me a while to realize, that if something doesn’t work out the way you planned it, it’s not all on you, the business and how it functions (or not) has more to do with it than anything. Small businesses are, frankly, generally more stupid. It can be the blind leading the blind, so what hell were you gonna do anyway. They didn’t want to pay for a super team with mentors, so they get what they get, and that’s not on you. I’ve found that most of the time in business, failure happens and shit just moves on, because there are other fish to fry and fires to deal with. What you think matters, as an introspective person, hardly crosses the mind of business folk.

    boot camps [said, in] your first role you would get lots of support

    You have to keep in mind the source of these boot camps and what they are for. They are funded by silicon valley so that they can get as many (hopefully talented) bodies in the door as possible, to keep costs down. More supply, lower costs. As such, they are aimed at people who will work for those companies, and those companies are desperate (depending on the market I suppose), so they will definitely have support in order to retain folks.

    I work for a small company < 10. I don’t feel I get the support I expected.

    Speaking from experience, being a developer at a small company is generally fucking garbage, for some of the reasons you and I have touched on. They have anti developer and anti productivity practices, and they don’t care to improve. They generally don’t know what they don’t know. Depending on the place though, this can be an advantage: they don’t know enough to know that “you suck” (you don’t suck, by the way). They can also be desperate to hang on to anyone dumb enough to keep working for them (no offense. You are not a dummy, circumstances are just not in your favor yet).

    the spec is kept in the […] (owners) head

    Aha, yeah there’s your problem. The owner is a developer running this shit show, and I guarantee they’ve never run their development the way the software development industry would. They should know better than to run things this way; if you can’t have the fundamentals of your business shared with the team that are trying to make it a success, how could you ever hope to make it work? Some places hobble on in spite of this, but they will only have the fraction of the success they could have had if only they’d had a person with genuine vision (or smarts enough to hire that person) at the helm.

    [when given a task I get no timeframe]. [the task is given verbally]. [confusing to understand their vision].

    If you had worked at a big silicon valley place first, you’d have first hand experience with agile/scrum, and how it works to solve all of these common issues. This is not a criticism of you, I’m saying working at a place that has agile/scrum should be your next pursuit.

    In A/S, tasks are written down in tickets, estimated, and prioritized. Effort and vision are made clear before the work starts, written on the ticket so everyone is clear on it and about the deliverables. If it’s too much effort, the ticket can be split into manageable chunks. It vastly reduces the people problems that come with managing development work by turning it into a process that can be refined according to how the team works, instead of a negotiation with a lead maniac.

    By not doing/knowing about this kind of practice, your business is at risk from competitors who implement this correctly, are therefore more efficient, and will naturally out compete you. Not your problem though.

    If wrong I’m not called out and they will spend a little more time going over what they want.

    Good. As much as I am shitting on them, they are at least reasonable seeming.

    The boss is always so busy that sometimes you feel like a burden asking for pointers.

    That’s on them, and that’s business life. Honestly, IMO they need to get some of their shit together, but that’s not your place to advise or worry about. Also, they probably knew they were getting a greener guy, so they’d be expecting questions. There’s a balance between knowing when to ask, and just trying stuff, and newer people should bias towards asking, IMO. Your leader may feel differently, it seems like they’re reasonable enough you could just ask.

    the newest will start as a copy of the last one

    Having done this myself before, this is the path to hell, in my opinion. It can work, but it’s a shortcut and in my experience it’s a maintenance nightmare. This is not the practice of a company with vision, it’s a company that’s just chugging along for now. If you had the vision to be acquired one day, you wouldn’t do this. There should really be a core code base that all instances share, so even old implementations can benefit in the future, if need be. I’m sure this opinion will be controversial. Again, not your place to worry or talk with them about it.

    [Existing code is] second nature to [my colleagues] and I feel stupid

    20+ years in and it’s still like this for me when starting at a new place. The difference is experience lets you know not to worry. Practically nobody is a genius, and the geniuses are writing white papers, not code. My advice to you is to just delve into the code base and read as much as possible and follow along with how it works. If you want to get a leg up (which I would advise for a green person) do some of this in your spare time, as much as you can afford. Otherwise you will get experience with the code eventually through your day to day work regardless. Don’t get too invested in them though, you should move on as soon as possible (for a bunch of reasons).

    is this normal

    Feeling stupid in this situation is normal, you are just green and will be fine. The small business that operates like this is all too common, and you are not in the place to do anything about it, and I would not advise getting involved with trying to fix it. If you were an investor, then I would try to fix it. You should worry about you, not them. Use them as a stepping stone to your next opportunity.

    to gauge how I am doing

    Ask for a performance review. They may be too small to know how to do this properly, if at all, however. You know them, you will have to be the judge on if they will take kindly to that request. Any place that isn’t garbage should be happy to do that for you however. Agile/scrum would have metrics you could just look at to know how you are doing, any time, just saying.

    there is no remote work and no headphones in the office

    Here we are back to the dumb shit. They are leaving money and productivity on the table, and that is not the mark of a good business. Unhappy workers are not the mark of a good business. They might be smart coding wise, but they are not smart business wise, which is a real problem when the whole point is to make money. Imo you should get out ASAP, but that might involve sticking it out for at least another 6 months, so you have at least a year for the resume.

    when is a good time to start looking for your second role

    Always be looking. If I could go back in time and give myself one piece of career advice it would be this: always be looking, interview often, even if it’s just to say no, and never stay in one place more than a year or two. If I had done this, I would have been happier so much sooner, and would be making at least twice the money by now.

    Do not be loyal to these folks, small businesses will cut you at the drop of a hat like any other business. For them it comes down to business no matter what.

    In my opinion, for your career, you need to get on a real development team that does agile/scrum as soon as possible. Agile/scrum not a panacea, nor the end all be all, but it should give you a good reference for how well/things should function on a good development team.

    You seem to have a good head on your shoulders, you are worried about the right things, and are asking the right questions. Good luck out there.