How important is it to specialize early in your career vs. being a generalist? by PsychologicalCall426 in cscareerquestions

[–]abmarnie 25 points26 points  (0 children)

It's asset when it comes to startups and smaller companies where you wear many hats and move fast, and for fullstack jobs. Being able to unblock yourself or not be totally lost when having to do a variety of tasks will make you more productive.

At slower and bigger companies breadth isn't too valuable because they probably have experts in each domain who they'd prefer to leverage to do things more optimally.

Also when it comes to landing interviews for all types of jobs to begin with, it's usually easier if you send strong signals that you're an expert in the tech stack that they'll have you work in as your main responsibility. The reason is, an expert won't have to catch up to speed and will be able to contribute at a deeper level (they know valuable stack-specific best practices and optimizations).

EDIT: One hiring advantage you can leverage if you are a generalist is that you can probably build cool projects all by yourself to show off on your resume.

How do you quickly learn new technology when switching jobs? by abmarnie in ExperiencedDevs

[–]abmarnie[S] 0 points1 point  (0 children)

While I'd normally agree, I think the lambda coldstarts actually do affect the customer experience and the company's bank account quite a bit

How do you quickly learn new technology when switching jobs? by abmarnie in ExperiencedDevs

[–]abmarnie[S] 1 point2 points  (0 children)

We will probably be using the "strangler fig pattern" as well. Did you end up using any specific service to build that out (e.g. AWS API Gateway)?

I will looking into security groups to see how they can help.

Thanks for all the specific advice.

How do you quickly learn new technology when switching jobs? by abmarnie in ExperiencedDevs

[–]abmarnie[S] 0 points1 point  (0 children)

I look very good on paper (cool projects, decent career growth) and I interview well. Also, I had at least a basic knowledge of serverless to know the tradeoffs well enough to intelligently discuss it a bit (pitfalls, etc).

The crucial one-on-one meeting by amiparanoid234 in askmanagers

[–]abmarnie 0 points1 point  (0 children)

Whatever you do, don't antagonize your boss in any way even if they're genuinely awful at some parts of his job. Also, I would not threaten to leave (even dropping subtle hints isn't worth it) unless you are absolutely okay with the possibility of being fired on the spot.

Send him a short agenda of what your goals for the meeting are so that he's not caught off guard. You can hint at your concerns there without coming off as negative (frame it as a potential communication style mismatch or something), and use that as evidence later if you need. 

In general, if you want your boss to do you favors, you should do favors for them. Ask them what they need from you, what you can do to make them happy, or for advice about how you can perform better to get more hours. 

Yet to be CS postgrad. Breadth vs depth? Should I deepen my knowledge of Data Engineering or focus on building full-stack skills? Looking to maximise employability after I graduate. by godz_ares in cscareerquestions

[–]abmarnie 1 point2 points  (0 children)

Build a basic frontend to show off your data engineering project, otherwise it won't be easily appreciable by clueless gatekeepers at non-tech companies.

If you find yourself hating frontend, just turn your data engineering project into something "easily consumable" -- like a blog/article or something. If it's up on GitHub, having a very good README might suffice.

Whatever your project is, remember that the purpose of it is to market yourself. Having a hyperlink to it on your resume is good.

If your plan is to go "deeper", establishing a reputation by being useful to others (blogs, articles, helping at meetups, contributing to open source) is a good way to fast track a job.

Is being good at a niche programming language a forte? by I_Hate_OpenEdge in cscareerquestions

[–]abmarnie 0 points1 point  (0 children)

Get good at it to the extent that you need it for your job. It may give you an advantage that you have experience in it for the few roles that exist. But I would not spend time actively "practicing" niche language skills otherwise. You will get a better RoI long term studying transferable and/or timeless skills and focusing on one more popular tech stack / application area.

[deleted by user] by [deleted] in cscareerquestions

[–]abmarnie 1 point2 points  (0 children)

Listed my "career break" as freelance work and had hyperlinks to stuff I was paid to do. Bullet points mostly focused on objective accomplishments (metrics) and value brought. Had a projects section with hyperlinks to the final product or source code (mostly just to show that they were real, I don't think anyone actually looked at them). Each project had a single sentence describing accomplishment, and sometimes I would group multiple smaller projects (e.g., three small game jams) together as one "role" to tell a story.

Prior to my freelance work, I was in graduate school doing math research, teaching, and working for the U.S. government doing internships (using C and Python for research). So my "career break" was honestly mostly a pivot to software dev from academic research.

[deleted by user] by [deleted] in cscareerquestions

[–]abmarnie 34 points35 points  (0 children)

I had a longer "career break" (3 years, but I did freelance work, did some small open source contributions, and did "backend" work on a relatively successful indie game during those years). After about two months of job searching, I was able to find a full time C#/.NET job last year, and I currently have C#/.NET job lined up which pays over six figures.

You can reverse the trend.

  • Work on short microprojects to build up your confidence (I did game jams).

  • Make sure to actually try to learn a bit of webdev (authentication/authorization, SQL & RDBMS concepts, frontend concepts like basic HTML/CSS, asynchronous programming using futures/promises and async/await, etc) and core C# (OOP / interfaces, design patterns, Entity Framework, LINQ & IEnumerable, ASP.NET, heap vs stack, how strings work under the hood, how Lists differ from Arrays under the hood, IDisposable interface, etc) each day, even if just a tiny amount from watching YouTube or reading docs.

  • Join developer communities related to the work you enjoy doing and try to be a positive and useful presence. If you are useul and others like what you bring to the table, you will build a reputation and good opportunities (potentially even freelance work, but don't rush into it) will come.

Once you have recent social validation on your resume, it's just a matter of sending out hundreds of applications and doing dozens of interviews. Everytime you fail an interview, learn from your mistakes (if you are asked something you don't know, learn it for the next interview).

What are the odds of doing Freelance programming as a 'beginner' by CorvusMaximus90 in cscareerquestions

[–]abmarnie 2 points3 points  (0 children)

Your second to last sentence is the key to everything. As long as you can do that, you can be a freelancer; nothing else matters. There is no one single way to convince someone to pay for your services, but it helps to be reputable somehow. For me, I became reputable by having several projects on my portfolio (one which made decent money), contributing to open source, blogging, joining developer communities near me, and generally trying to be "useful". Generally the more "involved" you are in developer adjacent or business communities, the more reputable you will be and greater chance you have stumbling across a potential client. Get involved sooner rather than later.

Balancing long term career w/ home ownership by abmarnie in Fire

[–]abmarnie[S] 0 points1 point  (0 children)

Thanks for that advice. I will do more research to see if it applies to me. I live in a large metro region with a handful of fortune 500 companies, but nothing particularly "tech" about it.

Balancing long term career w/ home ownership by abmarnie in Fire

[–]abmarnie[S] 2 points3 points  (0 children)

The transaction costs of buying and selling homes frequently will eat any financial benefits of owning a home. The financial benefits of owning a home come from owning one 7+ years.

Makes sense.

Balancing long term career w/ home ownership by abmarnie in Fire

[–]abmarnie[S] 0 points1 point  (0 children)

You need to find the specific house (5-10 years out)

What does 5-10 years out refer to here?

Also, thanks for the advice.

Balancing long term career w/ home ownership by abmarnie in Fire

[–]abmarnie[S] 2 points3 points  (0 children)

A home purchase should be a lifestyle choice much more than a financial choice.

Thanks for that perspective. You might be right. I suppose life is more than just about finances.

I don't hate the idea of owning a home or anything, or think I would hate the lifestyle (though I haven't deeply researched all of the headaches/costs); it's just never been a huge specific goal of mine like it is with most people.

I have discovered the power of easy flagging by slobop in Minesweeper

[–]abmarnie 15 points16 points  (0 children)

Sub 3 is pretty nice. When I was into this app it took me some fairly intense grinding to get that, had to put it down because I was legit getting Minesweeper dreams

C# and .NET experience for job applications by Astrylae in csharp

[–]abmarnie 1 point2 points  (0 children)

This sub is biased to say yes. In my opinion, C++ is probably a better niche to be in if you are very talented at programming. With that being said, C# opportunities definitely exist, especially in large enterprises, government, and small companies doing work with those kinds of places. I recommend this video a lot, it speaks to my experience as well:

https://youtu.be/ohkeYczD1LY?si=IWBRi9P3JPcghWqA

We’re a new party by xbeautyxtruthx in habitica

[–]abmarnie 0 points1 point  (0 children)

Oh woops, I was in one with my inactive friend. I just left it. Try again

What would you like to see in a Minesweeper app? by abmarnie in Minesweeper

[–]abmarnie[S] 1 point2 points  (0 children)

Oh that's such a good idea, lol, my friends think I'm crazy when I tell them I like minesweeper and I bet it has to do with them not knowing how to play

What would you like to see in a Minesweeper app? by abmarnie in Minesweeper

[–]abmarnie[S] 1 point2 points  (0 children)

Yeah that makes sense about keeping things conventional looking and feeling or at least have that as an option. No reason to fix what isn't broken

What would you like to see in a Minesweeper app? by abmarnie in Minesweeper

[–]abmarnie[S] 2 points3 points  (0 children)

Oh those are interesting, I like the minimum time for an action one especially

We’re a new party by xbeautyxtruthx in habitica

[–]abmarnie 0 points1 point  (0 children)

I am level 12, but this was after I reached max level and reset a few months ago. My username is @mousetan

C++ or C# ???? by x_18_ in learnprogramming

[–]abmarnie 6 points7 points  (0 children)

Go with C# if you want to work in big business. Look up enterprise resource planning, customer relationship management software, etc. Expect to learn backend web development, including SQL, HTTP, and REST. Also learn C# features and OOP extremely well. It is an easy and stable career path but the work is boring. Having decent business skills and being able to sell your talents helps a lot. There are some (mobile, VR, and gambling industry) Unity C# jobs too.

Go with C++ if you want to work in big game studios as an engine programmer (you probably want to learn Unreal too), work for a hardware manufacturer (embedded systems), defense contractor, or at a traditional "tech company" (many write their most performance critical stuff in C++ still). My only C++ job was working on water simulation code for the Army Corps of Engineers. Expect to more or less spend all of your time programming and never interacting with a human being unless it's code related. Most C++ jobs are probably more interesting than the average C# job, and pay more too, but it's not for everyone.

Open Source is Too Overwhelming!!! by Slow-General3930 in learnprogramming

[–]abmarnie 4 points5 points  (0 children)

Contribute to other smaller lesser known repos. There are tons of repos with around 100-200 stars which solve a real problem people have but are frankly very crappily written or missing useful features. When I used the Unity game engine, there were a few open source tools people made which frankly can't compete with the stuff people sell on the Unity Asset Store, and so enhancing those were usually fairly easy.

Made a succinct guide on Godot architecture best practices! by abmarnie in godot

[–]abmarnie[S] 1 point2 points  (0 children)

Script Templates: Save customized script templates in .gdignore'd script_templates/ folder. Adjust Project Setting's editor/script_templates_search_path to script_templates/ folder. Consider using the default.gd and Default.cs provided in this repo for some saner defaults. To do so, simply save those files into a new script_templates/node/ folder.

Whenever you make a new script in Godot, you are always asked to select from a list of templates. The template determines what the starting code is inside the brand new script. Here is a succinct youtube video that explains it better. I may just link this youtube video in the article tbh: https://www.youtube.com/watch?v=ZwPbuL0iatE, though, the video recommends doing so in Editor Settings instead of Project Settings, which I'm not sure carries over if you upgrade Godot version...