15
submitted 8 months ago* (last edited 8 months ago) by tinker_james@programming.dev to c/cs_career_questions@programming.dev

Hello all! I'm a senior dev at a bank and am considering making my second attempt at Amazon's interview process. My first attempt was almost two years ago. Made it through the code challenge but not the four interviews.

I wanted to hear from current Amazon devs what it's like there right now. Pros? Cons? Any insight given current market dynamics?

I have a young family now and so going through the process again would truly be an investment for me. My main motivation is the comp package, having the big A on my resume, and seeing what it's like in the big leagues.

Do sane people still try to get jobs there? Are you walking on egg shells waiting for the layoff hammer to drop?

[-] tinker_james@programming.dev 3 points 9 months ago* (last edited 9 months ago)

8-10 hours with few breaks. (I used to skip breakfast and sometimes lunch too...coffee diet) It started as a necessity and then became a habit. I have to retrain myself to take breaks and walk away and give my brain some breathing room and fresh air. This doesn't include the time I spent thinking about problems while driving or in the shower.... I've made progress breaking those habits though.

[-] tinker_james@programming.dev 3 points 9 months ago

Nice, congratulations! Sounds like all good things!

[-] tinker_james@programming.dev 15 points 9 months ago* (last edited 9 months ago)

I'm happy that I switched from electrical engineering to software engineering. I feel like the prospects are better and still feel that way even though things are rough right now.

I regret being scared during my first 5 years as a software engineer. I've stayed in jobs too long. Going forward, once I get that feeling that I've outgrown a role I know its time to start looking for the next thing. No more lingering for that extra year. I'm in my mid 30s and so am feeling the age pressure to make my next couple big moves soon before I'm looked at as too old to be an "IC with a bright future" haha.

[-] tinker_james@programming.dev 2 points 11 months ago

That sounds tough. What's your job search criteria? And... What kind of work are you trying to do?

6
What's new!? (programming.dev)

Who here has gotten a dev job in the last few months and is excited about it?

Did you bump your pay? Improve your work life balance? Get a better manager or team? Are working on something you enjoy?

I want to hear all the positive career news you folks have to give!

1
submitted 1 year ago* (last edited 1 year ago) by tinker_james@programming.dev to c/nodejs@programming.dev

I'm a full stack web dev that uses Node on the server-side. When I see job postings for a NodeJS developer I'm not really quite sure what that means.

Node is just javascript + a standard library/API + an ecosystem.

When someone is looking for a Node developer, are they just wanting someone who knows the ins and outs of the standard library?

[-] tinker_james@programming.dev 2 points 1 year ago* (last edited 1 year ago)

Hm. In that case, smaller more frequent breaking changes may also not be ideal. It sounds like no matter how small the breaking change, everyone who uses the library is going to have to update their code... and if it's happening frequently, that could get annoying.

This may be completely off-base, but just going off of what you said about data traversal, would it be completely out of scope for your library to provide a consistent interface for getting/traversing the data it is responsible for? Or do the consumers all use/traverse the returned data in very unique ways such that you couldn't really develop a "general" API of sorts.

[-] tinker_james@programming.dev 3 points 1 year ago* (last edited 1 year ago)

Context:

I'm a dev that consumes company wide libraries, not an author of such libraries. So the following comes from that perspective.

A couple questions:

  1. Is development and consumption of your library happening in parallel? It sounds like you use the users to vet new features or major changes... is that correct? (They are iterating with you and reporting back on issues or desired changes)
  2. Is your library made up of a group of isolated components? Or is it a library that does one or two major things and so a breaking change literally changes the whole of what the library does?
  3. How are the consumers of your library when it comes to adopting changes? Do they readily do it? Is there a good bit of inertia?

My thoughts:

First off, SemVer is definitely going to be important. Also, it sounds like you're working toward API stabilization which is going help iterating in the future.

My idea 1:

If your library is made up of several isolated components, what about doing major releases (ex 2.x.x -> 3.x.x) more frequently? Only include a small subset of breaking changes for one or two components rather than jamming a whole bunch in there just because it's a "major version release". The result is you could move quickly and iterate while also minimizing the impact on ALL of your users every release. Some of your users may be able to upgrade to the latest without having to touch much or any of their code.

My idea 2:

Do frequent major release (ex 2.x.x - 3.x.x) but always start with an "alpha" release that early adopters could implement and provide feedback on. This would shield the majority of your consumer's code from having to iterate frequently but would also require you to enlist a group of committed early adopters that are diligent about iterating their code as often as you release.

Feedback on the original option 1 and 2

Option 1

This could work if your users are excited about your releases. But, it could result in people NEVER upgrading because it's too much work to do so. (I've seen this happen. No one upgrades until they absolutely have to.)

Option 2

Depending on the size of your company, this will be a lot of work for you and will slow you down. If you're using your users to vet out new features, then everyone is going to have to iterate frequently (like you said) if experimental changes don't work out.

[-] tinker_james@programming.dev 2 points 1 year ago

Have you witnessed/experienced this in action?

[-] tinker_james@programming.dev 3 points 1 year ago* (last edited 1 year ago)

What did it for me is I stubbornly refused to use Git via VSCode and stuck with the terminal. I also stubbornly refused to change my default text editor for GIT to something other than VIM. One light bulb moment I had, funnily enough, was when I finally read the VIM docs and learned how to save and close rather than panicking when it popped up (this was early on.... but not THAT early on ... so still funny). That sparked my curiosity to truly learn VIM.

After that, I realized command line tools could be learned and advantageous and so it just went up from there.


Honestly, I've noticed a difference in the confidence level of peers using command line tools based on whether or not they learned GIT using command line or jumped straight to just clicking the buttons in VSCode.

33

What is your opinion about full-stack teams? I'm referring to teams where the desire is for every member to competently contribute at every point in the stack.

  • Do they work?
  • What has been your experience?
  • Does team size and/or experience level inform your opinion?
  • Do you notice an increase/decrease in quality?
  • Do you notice an increase/decrease in team and product cohesion?
[-] tinker_james@programming.dev 2 points 1 year ago

Side note: as a 20 year vet, can you comment on my theory that I'm going to age out of software engineering? How did you make it 20 years? (Real question)

[-] tinker_james@programming.dev 3 points 1 year ago

Is that still the case? I thought those days were over.

39
Are there others like me? (programming.dev)
submitted 1 year ago* (last edited 1 year ago) by tinker_james@programming.dev to c/ask_experienced_devs@programming.dev

I'm a senior engineer (web full-stack) at a bank. I've been doing this for about 5 years.

When I write code, I find it similar to authoring a book or even writing a poem. I love trying to write code that reads really well, has beautifully designed boundaries between dependencies, great structure and so on. I also find that I write code with a big focus on making it a joy to work with for developers that touch it later on.

I struggle with the emphasis on collaboration and quick iteration approach in this field. "Co-authoring a book" with 6 other "authors" in two week chunks just seems crazy to me. And what I've seen that passes as shippable code is also crazy to me -- but hey, "it works".

I also have never been a guy that gets overly excited about using technology to solve problems or using software to satisfy business needs. I really just like writing code, setting up development environments or CI/CD pipelines, cloud infrastructure or whatever...just for those things themselves. (Again it's like an art form to me. And I really really like reading other's well thought out code and appreciate for just that rather than the use-case or problem that the code is actually solving)

Anyone else out there like me? (Not arguing the merits one way or the other...just curious if I'm a weirdo)

[-] tinker_james@programming.dev 2 points 1 year ago* (last edited 1 year ago)

Honestly, that's kinda how it happened for me. When I remembered I liked coding I started tinkering with Python for a couple of weeks. I enjoyed it enough that I started to wonder if I could do it as a job instead of Electrical engineering. That's what lead me to look at education options.

If you're looking into web dev specifically... you could try writing some very basic websites for a week or two with HTML, CSS and maybe some Javascript. If you find your curiosity and your excitement when you get something to work outweighs the frustration of hitting learning roadblocks...then it's probably safe to say you'll like it and will thrive!

If you completely lose momentum and have no desire to try again or keep learning....then switching to it as a career will probably be a painful grind.

And to be perfectly honest, I didn't even really know what web development was when I joined the boot camp....I just knew I liked tinkering with the Python stuff that I did.

[-] tinker_james@programming.dev 4 points 1 year ago

What is your current career? I was an Electrical Engineer until 2017 and was also considering a CS degree. I opted for a Web Dev boot camp instead as a lower timeframe/cost test of my ability to pivot.

I was able to land a job 8ish months after graduating and am now a Sr. Software Engineer. I think my previous engineering experience did help me get my foot in the door but one of my bootcamp grad buddies also broke into a web dev job without any bachelor's degree.

The CS guys here may scoff at me but the boot camp route made sense for me and it may for you as well.

It's definitely not a shoo-in. You have to like to code and have a passion for it. I liked it in high-school so it wasn't liked I just pulled the "lets try a coding career" out of thin air.

view more: next ›

tinker_james

joined 1 year ago