Almost every software engineer starts their full-time career journey here. The content here breaks down how you can start your career off with a splash and grow past this level as quickly as possible.
Hello, I'm doing a rewrite of my resume. I'm having trouble describing some parts I did for my job. Specifically, I was given a sink or swim I had described earlier which got me terminated. I had to develop a microservice and node API with unit tests without any guidance from senior developers. What is the best way to describe this experience in the best light?
For background, I’m self-taught and got my first software dev role less than 2 years ago. I want a new job because this job isn't providing me with the skills needed to keep up with the industry/job market, but in part because I don't have those in demand skills I'm struggling to get interviews. At my current job, I was able to negotiate a large pay rise and because of that, for the first time in my life I’m not anxious about finances, so I'm naturally pretty cautious about taking a pay cut.
I code a lot outside of work, so I have skills/knowledge of areas outside of what I do at work, however, it seems most recruiters only value commercial experience with a given tech stack or field.
Is it a smart move to sort of ‘take a step back’ in order to get different commercial experience? Or should I just keep grinding and looking for Jr. roles with comparable salaries?
Background : I recently started my first job as a new-grad at a Big-tech company (3-months in). I was assigned a project to work on led by a senior engineer but ended up working on it independently as he was busy with another feature ramp-up, so I ended up taking all the responsibility.
Question : I've completed the design and currently a couple of months into the implementation, so there are many things that were done well so far. There are a few areas I can improve in however, and would like some thoughts there :
Any thoughts on how I can address some of these issues ? :)
I am a self taught dev, and I keep getting this horrible imposter syndrome that I must know the fundamentals of operating systems, networking, or computer architecture even though it has nothing to do with my job. It almost seems that I am the type of person that needs school even though I failed out of it. How can I learn to cope with not needing to know everything? It seems like I want to learn everything but honestly it's not necessary.
Hi all. I got laid off in April from Amazon. I have been looking for a job since then but I am a junior engineer and I haven't been able to get an offer. Someone at Taro suggested that I fill the gap by claiming that I was working on my own startup. This could get me to the mid-level bar.
I thought about doing some personal projects and claiming that I was trying to monetize them but failed. I am concerned that recruiters and hiring managers are going to see right through that though. Side projects are ideally done on the side of my full-time job.
What are some ways that I can fill the employment gap and get to the mid-level before I secure a full time job?
As I watch , I see the slide where it mentioned MVP and just 1 Thing. And also, in the slide, the example of the app is . I have couple questions about this.
I want to build on side projects by myself but to come up with something specific with quality. I'm thinking about to do system design doc (define specific requirement, breaking the big task to small task (make it granular, etc)). Try to make a plan before make any execution.
Please let me know if this plan works for me or not. I want to execute on how I can serve something to users that we all think it's useful.
My TL recently became my TLM at the start of this quarter and we've had communication/expectation issues before. My previous manager indicated through check-ins that I was on track to receive a Significant Impact (SI) rating ("Meets All Expectations") for the last 9 months and now my TLM is hinting that I only meet partial expectations.
The feedback is that I meet my delivery and impact expectations but only with a lot of guidance and help and at my level I need to show more independence.
Even when I ask them what rating they have in mind they don't have a straight answer and it's stressing me out not knowing if it could also be an NI or a PIP in the near future. I'm ashamed because this isn't how I wanted my career to progress at Google and because my friends and family (and team) definitely expected more from me but at this point in the year there isn't much time left.
I'm stressed out of my mind and it doesn't help that I also have anxiety and ADHD that make the situation worse than it actually is due to a recent family issue. The options I see forward are
(1) take the M rating and work harder next year to get promoted
(2) take short-term leave for 1-2 months due to burnout and "freeze" my performance for this year instead of making it worse.
What would you recommend I do?
Hey all, I'm a new grad Data Scientist and I've been working for my current employer for about 6 months now. It's a mid-sized company so I didn't get the chance to pick the team when I first joined. I realized not that long into the job that I don't want to stay on this team for the long term, and today I just heard the news about another team actively hiring for Data Scientists. But I'm not sure if I should pursue this opportunity for a few reasons:
Here are a few reasons why I want to transfer to the new team:
I really want to switch to a new environment but I feel like my chances aren't great. It would be great if folks could share their thoughts on:
Thanks in advance!
I'm struggling to come up with a way forward as a software engineer. My path to my job today has been VERY unconventional. I failed out of computer science at my university. I still have a degree but in an unrelated field. Did a lot of hackathons and got internships and finally a return offer from a decent ecommerce firm as a software engineer. I know the market is really bad right now but I can tell that I have a lot of prerequisites I'm missing. Trying to do better and I've started taking courses again. I want to craft a self taught dev path. And I want to do well but I just don't know where to begin
I have been having a hard time dealing with my tech lead. He’s e5 and leading our project. I’m aiming for promo end of this half and I feel like he’s really using that as a weapon against me.
For the project I am on, he gave me some deliverables. For one of the deliverable d1, I pushed back as there was no clarity. He basically said you have to do it or someone else will. I pulled in my manager and eventually the manager said it’s his project, his decision.
Fast forward, after spending a good week or 2 on this , we were asked to stop the project due to the alignment issues I had highlighted earlier.
The whole deliverable d1 was de prioritized and I was asked to work on something else (d2). It’s close to the end of the half now and the Teach lead is asking me to do more work to show that d1 made any progress and it was landed.
Despite working super hard on this, I have not clear deliverables. I think this is a directional problem. A lot of this was out disambiguating stuff. He’s also said stuff like you don’t seem to be working much on this.
I feel quite frustrated that despite working a lot the TL doesn’t seem to acknowledge any of the work or doubts cleared.
I'm trying to better understand how to select a company that has good growth opportunties.
My priority is to get into a company where I can grow the fastest in my career. Unfortunately, at this time getting into big tech/prestigious companies is not an option for me and I am choosing between typical tech companies
I have already watched the
My questions are as follows:
I have a situation, can you help me on how you'd navigate it?
I have a potential project idea that has staff level scope.
There's a pain point across our company and this project would help the entire company.
I want to lead this project because it'd be a tremendous opportunity for my growth.
Given that I'm mid-level and lack of experience leading projects, I fear ownership of the project will be given to someone else to lead if I speak on it. This project shouldn’t be done in silo, this project needs to be part of the engineering priority because it will span across multiple teams.
Can you help me navigate how to maintain ownership/lead this project?
I started working at Shopify in the product side. It's backend API development focused with some full stack elements. However with AI popping up everywhere, I get the feeling that to be employable in the future, I need to get a job as an AI engineer or work on a team that focuses on it. With Shopify heavily relying on rails as well which is seen as an older framework, I don't know if I'll have a competitive edge in the future.
Hello, I just wanted to get some advice last month I was terminated from my job after being placed on PIP/probation. When I first joined the company I had successfully completed training in React but was put on the team that didn’t use it. When the first review cycle came one of my teammates described my learning as flat and my technical skills as inadequate. There was even a time when I was ignored and tasks were passed over and one where I couldn’t come up with a plan. The junior who they assigned it afterward had the same issue couldn’t find and also didn’t need to come up with a plan but was allowed to work on it. Also, I was given noncoding tasks for a time or generic unit test tickets for functions that didn’t need it.
Eventually, I and the other junior got a task that was basic and miscommunication led to a delay and they complained about us both because of how it took. Then the assignment that sealed my fate was I had to implement a microservice and node API with a unit test in 2 weeks. There was a reference code but we couldn’t ask for help from senior developers. When my manager saw my progress he PIP'ed me and then when saw the demo he was underwhelmed and said I couldn't justify the code had a poor understanding of restful API concepts and my test didn’t meet functional requirements he wrote up the paper to basically have me fired.
Background : I'm a new-grad junior engineer, recently joined the company around 3 months ago, so still pretty early in my career. I'm currently working on an assigned project which I own and believe it has impact.
Details : My manager recently recommended I take on a quarter-long project in parallel to my current project (as we're short on bandwidth), which I don't feel very passionate about and don't see much impact in it. My understanding is that the work for that project will be on & off while my main focus will still be on my original project
Question : It is good to take on additional responsibility, as long as I have the bandwidth for it, I agree. I'm just not sure if this new project would be beneficial or is the best thing to work on.
How can I handle this situation ? Should I be concerned too much about the project's impact (as opposed to taking more responsibility), especially since I'm still early on in my role / career ?
I'm not going to sugar coat it, not having a CS degree is inducing a lot of anxiety right now. I know companies like Shopify (especially) don't really care about your degree, but when I see loads of job postings with a bachelors in CS as a minimum requirement, it terrifies me. I live in Toronto as well and the number of job postings are a lot lower than the US. Should I drop everything to try and get a masters? Or do you think it's better to continue gaining experience first?
To give some context, I am a Masters student in the US, with 5 years of experience as a software engineer. I try my best to learn as much as I can about Software development, Machine Learning, System Designs and everything developers are interested in.
I read blogs, books, research papers, and news feeds from LinkedIn, Twitter and I am part of multiple discord channels of up and coming AI startups and open source communities. I am also part of GDG study groups who connect on slack that focuses on Google Cloud solutions and discussions on Taro as well. So, I basically have a lot of data sources and I am overloaded with information.
As much as I want to focus on one domain (ML in my case), I don’t want to miss out on what is happening in the industry. I am trying really hard to reduce distractions: I have setup a second brain account with Notion, which has helped me organize the informative links I receive from my data sources but I am always doing a catch up because there is only so much I can learn and remember.
I am working on a bot which can classify discord messages as random conversations or important links or conversations and push them to my notion database. I want to expand this to other data sources eventually so I can ignore comments and random conversations lying around a certain topic which are irrelevant.
I also have a lot of hobby project ideas that I have noted down like PRD documents, some very small which can be built in few week and some which will take months to build with a good architecture.
You can ask why I am trying to learn everything. My simple reason is little bit of FOMO and a fear of not knowing enough. But also, as a CS student, I am also preparing for interviews and I want to be able to explain how a certain technology works and be able to build and design using those technologies.
I have faced this information overload while I was a software engineer and continue to feel it as a student. If you have read till here and you are able to relate to this, I would like to know how you would suggest one should go about staying organized and maximizing the information gain.
I have an interview coming up that isn't DSA / System design focused, but rather a project deep dive or work experience deep dive.
If the interview is 45-60min long, how should I best describe my work experience in that given time. Also, if using STAR method to answer work experience / project related questions how many situations per bullet point on resume should be discussed?
Hi my software engineer friends,
Want to ask what is the requirement for design skills at different levels.
I am a software engineer, and for each project I always write a design doc, most time I am listing different options for some implementation. But that is mostly about different ways of data flows, the pros and cons of each data flow. It is not related to design patterns, nor architectures, but it seems enough to move on with my project and team is generally OK with design doc like this way. To make a good design, I feel right now it is more about context, about familiar I am with team's tech stack and all the data flows, and make good judgement about how to implement something.
I also have that in mind "do not try to apply design patterns for the sake of applying it, use it organically".
So a few questions I have
My manager had assigned a mentor for me on my team to help onboard me. My assigned mentor asked me about what timing works best for me and I told them I gave them full discretion around timing and cadence since my calendar was basically completely open compared to theirs. By the time we had our first 1:1, it was a 15 minute time-slot right before our daily standup. We would have these mentoring sessions ~2x a week for a few weeks before these mentoring sessions just fizzled out and stopped completely.
Now my manager is urging me to continue these mentoring sessions with the same assigned mentor citing that the reason they fizzled out was because my mentor "was not sure whether I wanted to continue the sessions and was waiting for me to set up more sessions if I was interested" even though I had expressed enjoyment of the sessions we have had thus far.
Should I be proactive here in reengaging my assigned team mentor and scheduling mentoring meetings with them? I wouldn't mind having a little more time than 15 minutes per session and in a different timeslot than right before standup, but I respect that it is tricky considering the mentor is remote and in a timezone 2 hours behind the rest of the team. I also wouldn't really know what to proactively ask them for during these sessions beyond typical work questions as part of working with them on the same team. How proactive should I be here?
At times, we face tight deadlines which I believe are challenging to meet. Despite my reservations about the feasibility of such timelines, my fellow engineer peers often express confidence in meeting them, though history has shown they're frequently mistaken. When I voice my concerns, the project managers claim that delivery is non-negotiable, and everyone in the room goes silent. I've suggested prioritizing essential features for the immediate deadline and planning for a subsequent delivery for the rest, but my ideas are usually ignored. Despite not being in a lead role, it's disheartening to later hear about our inconsistent delivery timelines from my manager when I receive performance feedback. How should I navigate these situations? It's frustrating to be the only one on my team who ever expresses these thoughts as I always appear as the "pessimistic" engineer. I just try to voice concerns to make more reliable deliveries. What should I do in these situations?
Hey all, I’m a new grad who has been working at JPMorgan Chase for ~3 months, and I would really like some perspective on my experience so far. This
essay question will be long, but the overall theme is that my growth feels stagnant and I’ve unfortunately grown to dread coming into work. I’d really appreciate any new perspectives or advice.
For reference, my current career goal is to grow to senior engineer at a startup/Big Tech company as quickly as possible (because a) I like working towards long-term goals and b) software engineering is lots of fun).
A quick timeline:
I joined JPMC in early August on a React + Spring Boot team
The first 4 weeks were solely dedicated to training and getting access to stuff
Thus, I’ve been with my team in full capacity for ~8 weeks now
A core problem is no one is really interested in how I’m spending my time or enabling me to be productive, even with me trying to upwardly manage. For instance:
On my first day, I had to actively ask my manager and TL for my first task, but they had no immediate plan for me or the other new joiner(s)
During my first couple weeks, I (nicely) bugged my TL for work so I can get my hands wet and start learning the codebase, to no avail
Recently, I had a full week of no tasks assigned to me, and no one minded (I had stopped bothering asking for work)
I’ve considered the following:
Self-assigning myself work
Asking to pair program
I’ve mentioned this to two engineers, to no avail
Everyone seems to be focused on getting their own JIRAs completed, and pair programming will inevitably slow them down
Also, because my TL is so busy, it’s hard to get immediate, synchronous help whenever I get blocked, which leads to me having much downtime. In fairness, I understand people are busy and can’t drop their work on a whim, and I should have taken the initiative to get help from other team members too (to not overwhelm my TL).
In any case, the handful of tasks I have been given have tended to be very menial in nature - the type you could better offload to ChatGPT. For instance, adding 1-line changes to business logic or writing unit tests for existing code (that I only partially understand). Most of the work hasn’t helped me develop a mental model of how the system works or learn the business domain.
Here are a few other traits about my team that I’d like to mention, to provide more context in debugging my situation:
My TL and manager spend most of the day pairing up to deal with production issues
My manager doesn’t have 1-on-1s with anyone (even new grads)
Everyone else on the team is busy, as if I’m the only engineer without much to do
The engineering culture often seems middling at best - unit tests are often written without asserts (solely to reach 80% coverage) and code often has buggy execution paths
The whole experience is unfortunately becoming really frustrating to me. For comparison, I worked on a React/TS + Firebase side project over the summer (it couldn’t have been more than 80-100 hours of work, tops) and I learned so much stuff really quickly - not merely in terms of code velocity, but other higher-level concepts like the tradeoffs of SQL vs NoSQL, data modeling, reading documentation, how to keep a codebase organized, etc. and I also gained much more confidence in my technical abilities. The experience I gained of building something has given me more context to understand how software engineering works. Also, it was tons of fun (like grinding in an RPG, but productive).
On the other hand, I’ve spent almost three months at my first real job and I’ve objectively learned very little. As a result, I’m finding it hard to be motivated to take extra initiative and apply myself when it seems like the environment I’m in has turned out to be so stagnant and slow-moving.
Beyond this, the other major problem is I don’t feel like I’m providing value to anyone (including myself) when I go into work. My only incentive has (unfortunately) become running down the clock so I can leave, which, coupled with the boredom from a lack of work and a 2+ hour round-trip commute, is incredibly draining. It’s really silly - my primary goal right now is to get good at software engineering, yet I’m currently doing the opposite!
I have considered starting a dialogue with my manager and bringing up (some) of these concerns, but there are a few problems. Mainly, I doubt my manager would provide the best insight:
He directly equates hours worked with productivity and suggests ambitious JPMC engineers should probably work 10-11+ hours early in career
He suggested using my downtime to do some kind of arbitrary training (unclear what he is referring to), instead of finding real work to learn from
He doesn’t seem to understand that the work I’ve been assigned is not very meaningful
He spends all his time coding and very little time managing
My manager (as part of JPMC for decades) seems to be in the siloed-off JPMC bubble where engineers join and stay for decades - so growth discussions would be centered around being the best JPMC employee, not the best software engineer in general
I don’t mean to criticize - my manager is actually a cool, friendly dude.
Plus, not everything is bad about my experience. There are several green flags:
Most of the other engineers seem to like their work
There appears to be some camaraderie in the team culture
My manager seems flexible and understanding regarding people’s schedules
My TL/manager have given very positive feedback on the code quality of my (few) contributions so far
During my placement conversation, it sounded like there’s tons of work/scope available
Nonetheless, it still feels like I’m in a no-win state where my options are:
Stay until the tech market improves
It feels really bad to intend on spending a minimum 1-1.5+ years working at a job where I’m learning very little and accomplishing almost nothing. It seems like it would hurt my career growth (and continue to be a really taxing, sucky experience).
It seems like the only two things I’m getting out of this right now are a) income and b) resume continuity.
It feels almost as bad to want to look for a new job after ~3 months, given JPMC’s tech side is so large and reasonably well-known.
Also, job searching as a junior in this current market would be very RNG-heavy, and I don’t want to have a short stint on my resume if I can avoid it.
Internal mobility isn’t an actionable option because the program managers want us to spend at least 12 months in our first role.
Also, to switch, you’d need to both find another team via internal networking and have your current manager sign off on the transfer.
The large amount of downtime means I have to spend significant parts of the day running down the clock by simply sitting in my chair and doing literally nothing - which turns out to be far more mentally grueling than one might expect.
The WLB on my in-person days is poor because I have a 2.5 hour round-trip commute, so I have little energy to do anything useful in my free time.
I’ve tried to use my downtime to read books (like Designing Data-Intensive Applications), but this doesn’t remotely replace doing actual work.
I have no expenses so I could quit, though that isn’t the best option. I only mention it because staying at my job comes at the cost of continually enduring this.
What does the Taro community think of my situation? I’d appreciate any and all suggestions on how to fix this.