Ask HN: How many of you are employed, self-taught SWEs?

64 points by pksebben ↗ HN
I'm super interested in knowing things like:

- Why did you get into the field? What did you focus on at first?

- What are you doing at your job? Is it everything you dreamed of and more?

- How did you break that first-job barrier?

- What were you doing before this?

- Any tips for the rest of us?

Appreciate your response in advance! Keep hacking!

72 comments

[ 5.1 ms ] story [ 146 ms ] thread
- Why did you get into the field? What did you focus on at first?

Always was interested in programming, wrote first lines of code (in BASIC) at the age of 6 (in 1989). Wasn't interested in getting a CS diploma until 2010. Got it in 2014 after already working for 12 years in the industry.

- What are you doing at your job? Is it everything you dreamed of and more?

Currently I am ironically back in the academia working on epidemic modeling (as many people these days), but for the most of my career I worked with financial/trading software engineering.

- How did you break that first-job barrier?

Offered to work for (nearly) free in a small company owned by an acquaintance.

- What were you doing before this?

Not much, as you could infer. :)

- Any tips for the rest of us?

Loving programming is a necessary and sufficient condition to have a good career in it. Enthusiasm here can still overcome many barriers (as opposed to many other industries).

Thank you for an excellent topic!

Told an ad agency I could code, using PHP and MySQL. Graduated from internship, then moved on to Django and Python. Web dev. Then backend work for a well funded startup, then my own startup. Was making static websites for restaurants in 2000 for restaurants at 13 years old (lol). All self taught and loving my pay, freedom, work and colleagues.
If you don’t count the two years of Java I took in high school (AP CS), I’m self-taught. No CS degree. Switched majors 6 times in college and didn’t realize until I graduated I wanted to code.

Started in QA, did that for over 3 years. Transitioned to a SEIT, did that for a year. Then finally got the software engineering title. Took much longer than I wanted but got it eventually.

Since then I’ve been through the whole stack. Now doing more DevOps, SRE type stuff. It’s honestly been great. Worked for startups, mid sized and Fortune 500s.

My only tip is if you love to code just keep doing it. Everybody wants to say “I don’t want to code outside of work, I want a life, ect ect.” The only way I’ve truly been able to learn is by having side projects and working on them constantly. I’ve had a side project going consistently for the past 7 or 8 years. Hacking on your own stuff, at least for me, brings me actual joy rather then a lot of stuff I do for my day job.

If you love to code just keep doing it is excellent advice.
Completely self taught here. I went to university for a couple years but dropped out. It doesn't work well with my way of learning. Been working professionally for 4 years.

> Why did you get into the field? What did you focus on at first?

I always liked computers and building things. It felt like a natural progression of my favorite hobbies, so one day I looked up how to write a Discord bot and the rest is history. I had made some websites when I was 12 (specifically for Sims 2) as well.

> How did you break that first-job barrier?

I found an internship when I was in university, and looked for a full time job while I was there. Once I found one, I left my internship and dropped out of university.

> What were you doing before this?

Taking a sabatic year after high school I guess. I played a lot of Phantasy Star Online 2 that year, and it's indirectly the reason my career started.

> Any tips for the rest of us?

It's hard to say because everyone's situation is so different. But one thing I wish I knew is that it's OK to not listen to family sometimes. Personally I heard a lot of backlash from them because from their perspective I wasn't doing anything really. It affected my mental health and was pretty tough at times, but probably to a lesser extent than pushing through university in my opinion.

That advice about family resonates really hard. Thanks for sharing.
- Why did you get into the field? What did you focus on at first?

Loved programming, did it as a hobby for a few years, was able to get a job. I focused on understanding what I was doing, always dropping a level of abstraction down from the task I was trying to complete so that I could understand and debug it.

- What are you doing at your job? Is it everything you dreamed of and more?

I'm a team lead on a low level systems team. I'm actually quitting soon, but more for a move to another company rather than I don't like the field.

- How did you break that first-job barrier?

A lot of resumes, and ended up at a company who's hiring strategy was to find diamonds in the rough.

- What were you doing before this?

A little bit of everything, retail management, general contractor, project manager for marijuana dispensary upgrades, etc.

- Any tips for the rest of us?

The assumption is that without a degree you don't know the underpinnings of what you're doing. Prove them wrong early by putting in the work to cut through the abstractions and truly understand the why of what you're doing. The difference between being an engineer and being a technician is that that the technician follows a a checklist, and an engineer understands the checklist and knows how to recognize and account for the 1% of the time it doesn't apply.

I got into the field because (a) I'm naturally drawn to coding since playing with Logo and Mindstorms as a kid, (b) I like the feeling of making things. I wanted to be (among many other things) an inventor when I was a kid and this gives me that feeling and (c) the pay's not bad (even though I make a European dev salary, so the pay's quite modest relative to some here - my perk is a far more relaxed work environment).

I got started by working in tech support (no real job requirements besides being vaguely "good with computers") and then coding some tools that made my team more efficient. Then I told my managers that I could be a full-time force multiplier instead of a single-unit contributor (in other words, generating more value for the company) and they liked that idea and what I'd done so far so they helped me transition pretty quick. I continued working in support tools development for a couple of years and really enjoyed it.

There's a footnote here that I moved from the US to Europe because labor laws are more relaxed here so I was able to code for work for free on my own time without there being an issue, which I needed in order to show what I could do for the company to get that initial foot in the door for the support tools dev position. In the US, they told me they couldn't let me work for free (I suspect because of the Fair Labor Standards Act, but I never asked) so I requested and got a transfer.

Now I work on anti-cheat software for games. I angled for this because I wanted to get closer to security-related work without being exactly infosec, and there was a clear need for this at the company. It's a little more vanilla than I was expecting, but I have a ton of autonomy and voice in guiding my team's work, so I'm happy.

My advice for anyone interested in making software full-time is to start by doing whatever you can quickly get hired for. Then make software to make you better at doing that. Don't wait for someone to give you permission, because they won't (and this continues to be a rule even after you "make it" - continue jockeying for what you want and don't wait for permission unless there's no other way). If you show (with actual live code) that you're a force multiplier at your company's thing using code and they're in a position to hire someone for that work, then make your case for why you're that someone to whoever has the power to make it happen for you. It doesn't even have to matter if they don't hire SWEs. You can negotiate contract work if you have to. Everyone needs software even if they're not a software shop themselves.

I got in the field motivated by a specific problem that I wanted to build a solution for. I needed to learn programming to do that. Keeping the problem in mind has led me to study and increase my capabilities in a variety of areas, and currently I do ML research. I'd highly recommend this approach if you have a problem that is particularly motivating or interesting to you, as it can consistently point you useful directions to explore independently of any one job or piece of technology.

For the first job, mine was at a startup. Founders may be more willing to take a bet on someone who demonstrates passion and an ability to hack on stuff and get it to work, whereas big company hiring seems to be more conservative.

Performing superbly on technical interviews will always get you hired, regardless of your background. If you have a buddy also interviewing, pair up and give each other as many whiteboard interviews as you can (I did 2-3 weeks of 5-6 problems per day). You'll feel much more confident.

Lastly, work on projects you are actually excited about, and interview at places doing stuff you're excited about. That sort of excitement really shines through in an interview. Additionally, it will pay off in quality of life.

Good luck!

My degree was in music, but I dabbled in tech courses too - calculus, discrete math, logical circuits, just because I liked those classes. I took a workshop on C but hated it. I didn't like programming until the internet became a thing. I learned some perl as a student, on my own from reading the book and trying things out. My first job out of college was as a network administrator. Hated it. Second job involved some programming. I learned php and database programming on my own. I later learned java, scala, akka, node, and react on the job (all on projects transitioning away from php). After the first job or two, no one asks or cares about school education level. I'm a principle software architect now, the job is fine. Bullshit and politics are low, and it's always fun to solve a problem.

Fall in love with an uber-ambitious technical side project that you'll never turn into a business but that will make you learn every tech you'd ever be interested in. Then you can tinker on it for life and it'll keep you employable.

- The Matrix impressed me when I was child. I said to myself “I’m going to build a good world, a good system, my own heaven.” after some time, I found myself reading articles about programming and my adventure has started right there. It was a huge exploration for me. I started to focus on learning a programing language. It was C.

- Taking care the system, developing new features. Yes, It is.

- I built a course system for my school, worked free about 6 months. Learnt a lot of things and this experience gave my first job.

- Make real your every absract notion by coding and drink coffee madly.

- Make real your every absract notion by coding and drink coffee madly.

so much this.

I graduated from college with an Economics degree. I was working as a Business Analyst. I started looking at database schemas so I could write better documentation, and then started writing SQL to deliver reports myself instead of waiting on the engineering team. It didn't take long until executives were coming to me directly for their custom reporting needs. Eventually, I was running a rogue web server for generating dynamic reports. When I was "found out", I was absorbed into engineering, and started my "real" career as a SWE and started building web applications on a team.

I broke that first-job barrier by getting myself a job close to the technology, and then solving problems that had a visible impact. (I want to add that, though I constantly pushed at the edge of my authority, I avoided ruffling feathers and was always a team player. I never went over my boss' head, for example, and generally asked permission.)

I'm now in my third executive role, running engineering for a Series-A funded startup. Being able to bridge the divide between business and engineering really hits the sweet spot for me. I very much enjoy what I do.

This is very similar to me, minus the last step. Mind talking about how you got into executive / startup roles? Bridging the business-tech gap is also what I enjoy, so any pointers or first hand experience would be helpful to hear about.
- Why did you get into the field? What did you focus on at first?

I never planned on being a coder, I was a derivatives trader at first. It turns out being able to code helps a lot in finance. I co-developed my skills between building quant strategies with coding. And coding quickly swallowed up everything, it turns out it would have been easier to be a systems coder first, then develop quantitative skills. I've done an enormous amount of coding in different areas now from that journey as well as a variety of web side projects. A small amount of GUI/FE coding, a lot of micro performance and networking type stuff.

- What are you doing at your job? Is it everything you dreamed of and more?

I have a lot of freedom to decide what I want to do. So I code a lot, but it's what I want to do.

- How did you break that first-job barrier?

Responded to an ad out of uni, went to interviews.

- What were you doing before this?

Uni, where I learned a little bit of coding, but not enough to appreciate the depth. Zoomed over algos and data structures, which it turns out I ended up relearning.

- Any tips for the rest of us?

You can't really do this if you don't like it, but you also won't like it if you haven't learned a bunch of code-related skills. For instance if you don't know how version control works, you'll forever be reluctant to modify your code, which will stunt your growth. Same with sysadmin type skills like how to set up a network, how to move files around, how to set up the OS. You'll think everything is a chore if you can't write some scripts to simplify your coding flow. Something like Docker takes learning before you can use it, but once you have it it helps a lot.

What are you working on recently?
A variety of trading systems, an online multiplayer game.
How do you choose what to work on?
I'm almost completely self taught. Went to uni for a couple years and changed directions a bunch (CEng -> CS -> Math) before dropping out.

> Why did you get into the field? What did you focus on at first?

A friend back in high school pointed me at the problem of brown numbers (Brocard's problem), which are pairs (n,m) where n!+1 = m^2. Known pairs are (4,5), (5,11), (7, 71). I became obsessed with this and attempting to find a new pair, and spent most of high school learning programming to improve my searching programs. Things went from there, since I knew that's what I wanted to do.

> What are you doing at your job? Is it everything you dreamed of and more?

I'm a systems engineer working with Rust on AI infrastructure. It's what I expected to be, it's a good job in that it pays well and I enjoy it. It's not perfect, and I wouldn't describe it as a 'dream'.

> How did you break that first-job barrier?

Got an internship by emailing around, that transitioned into a full time position.

> What were you doing before this?

Uni, mostly.

> Any tips for the rest of us?

Find a cool problem and use it as a 'north star' when learning, I think that helped me a lot. Also, it's a big field, you may find that you don't like a corner of it, but don't take that to mean you won't/wouldn't like any other parts of it.

- Why did you get into the field? What did you focus on at first?

Fell into it - the first computer I owned happened to have a basic interpreter in ROM, and at the time a lot of software was published in magazines (you had to type it in by hand), so that started me on my way.

- What are you doing at your job? Is it everything you dreamed of and more?

Being able to code brought me to a lot of places I would have never expected. Things change very rapidly, what you are doing today is completely different then what you will be doing tomorrow, you have to constantly challenge yourself and expand your horizons. I’ve met plenty of people who were really great at version X of framework Y in language Z and five years later they are unemployable because the world moved on while they did not. You need to get beyond versions and frameworks, entire languages came and go out of vogue, the more generalist you are the better you’ll fare.

- How did you break that first-job barrier?

I worked cheap at my first job, a year later I used my experience to trade up to a position making more the prevailing wage, things took off from there.

- I got into the field because in my previous career (bank compliance), I spent an inordinate amount of time gathering data and summarizing it. The process took several hours per day and was extremely monotonous, but I couldn't do any actual work until it was done. I figured I ought to be able to automate the whole process, so I picked up a book on code and plugged away until I made it work. After that I was hooked and kept going down the rabbit hole until I could build entire web apps (and also understood how a compiler worked, which was what originally fascinated me).

- I like my job a lot, but it's very much building CRUD apps (or guiding others to do that). I'd like to work on technical problems of higher complexity, possibly scientific applications, so I'm trying to figure out how to get into that as someone without a formal education in it.

- I reached out to somebody on reddit /r/programming who had posted an ad. I told them what I had taught myself so far and why I thought I could be a useful junior dev, and they gave me a shot.

- My tip would be to let your curiosity drive you but stay realistic, responsible, and honest. The reason I've stayed satisfied in my career so far is that I haven't been too impetuous (e.g. leaving good jobs just to jump at something new), but I also haven't let myself get stale or bored for too long. So far it has served me really well.

Disclaimer: I'm from NZ, not the US

I did programming all through high school, then went to uni for Mechanical Engineering since I thought programming would be too frustrating.

Realized I hated it, switched to 2nd yr CS for a semester.

Then realized I'd learned a lot of the content in high school and it was quite boring, so I dropped out.

Spent the next year bumming around a bit, doing some coding and getting up to speed modern web dev then this year, I landed my first job just before the pandemic hit.

My job is quite depressing. Working with old tech, no feature work and the company is extremely disorganized. I do 10x more in my own time than I do at work. I think I'll be looking for a new job soon.

The only tip I have for learning is to code every day and build things, don't watch tutorials.

- Why did you get into the field? What did you focus on at first?

I liked playing with data in R and saw there was potential to do cool things if I learned more code during my PhD in Cognitive Psychology.

- What are you doing at your job? Is it everything you dreamed of and more?

Mostly front-end work at Amazon. I love it. I get to feel productive in ways I never experienced in academia.

- How did you break that first-job barrier?

I knew some people at a science focused non-profit. Interned while in grad school and signed on full time for 2 years before moving to my current role.

- What were you doing before this? Grad school in psych.

- Any tips for the rest of us? Keep grinding on projects you find interesting. It takes time to get good at writing code quickly. Review your own code as though it were someone else's.

I had dabbled in programming my whole life, starting with C64 BASIC. In high school learned some C and C++, but once the internet became more accessible moved onto web based languages. After graduating high school, mostly due to having no guidance what so ever, I never put together in my head that I could pursue programming as a legitimate career, walking around with a 16 inch green mohawk pretty much guaranteed that I was labeled a lost cause.

I did a short stint in the Army, ended up in a minor touring punk band till about my mid-20's. Decided that I wanted to pursue something different after realizing the band was a one way ticket to a dead end. I got the brilliant idea to pursue photojournalism. My timing was impeccable. As I was finishing the "great newspaper crash" had started and after working freelance for a few years I started a small photographic advertising firm. But... during all this I was still coding. This was in the early days of what was being called "New Media." A lot of the places I was working with, the older journalists were not interested in how to use the web for better story telling. I didn't hesitate to get my hands dirty creating web sites for stories, working with flash to create interactive pieces, etc.

When I started the advertising firm, a client asked me if I could create a website for their business. Never being one to pass on the chance to make a few bucks, I confidently said "Yes" and proceeded to learn PHP and WordPress as fast as possible.

Around this time I also took the plunge and got married, which ended rather quickly in divorce. I decided to give up my rights to anything we accumulated during our marriage and was living on my friend's couch just trying to get a fresh start. A friend told me about a company his partner worked for that was looking for a developer. With her reference and the pressure of being homeless and hungry, I was able to land a gig as the companies "Web Master" (yeah, they were still using that title lol). The company was sold and the purchaser had their own team and cut the local team to the bones so I started freelancing.

My tips? - Most developers and SWEs are just as clueless as you even if they have a degree, don't be intimidated. - Realize that as a self-learner, you have an advantage of knowing how to learn quickly and efficiently. - Don't make money a priority, salaries for the most part are a side effect if you love what you do. - Realize you need a break sometimes, burn out is real and will kick your behind if left unchecked (as my own failure of my first tip, I always am dealing with imposter syndrome which leads me to constantly spending even my off time trying to learn more so that my co-workers don't ever say anything negative about me being self-taught) - Ignore trends and just follow what you enjoy doing or this will quickly become "work". In my own recent experience, I've been feeling the pressure about moving into ML/AI. After a nice long think these last few months as I end my first decade in this field I realized I have no interest in it, I just like building software. Coming to terms with that has done wonders in my mental state and brought a lot of inner peace.

Eventually a friend told me about a gig as a developer with an F500 energy company and helped me get my foot in the door. Worked my way up from a junior SWE to a lead position. I've now moved a few times and am now working in a financial company that is a major player in the world economy. Not because I think it will change much other than making me a better engineer, I've recently returned to school to get my CS degree and am preparing for another pivot into other areas of development once I'm done.

All in all, it wasn't the life track I expected. What I have learned in all this is I love doing what I do. As others have said I think my enthusiasm and passion have taken me a lot farther than the typical "coder bro" that comes out of college with a CS...

My tips should be the end of this post, for some reason the formatting is getting all messed up.
HUA. I feel you on that imposter syndrome. Thanks for your response - I bet that punk band was a barrel of fun.
I had been paid to do computer things before I got my first IT job. By then I already knew how to re-install Windows, build computers from parts and write some VBA code for Excel.

By the time I got my first IT job I had a Law degree and I was running Linux exclusively on my workstation (part of the deal with the uni friend who “turned” me and provided tech support for about 18 months until I no longer needed it).

Did some certs to get some pieces of paper - A+/Linux+/MCP/CCNA aiming to get a Support job. Discovered that I was the only person in a class of 30 who actually had an interest in IT beyond a job - later I would realise this is a very valuable commodity. Hired before I did all the certs for this very reason.

Got a fairly low paid job for a small company that exposed me to lots of different experience like running cables, screwing in wall sockets, dealing with customers on the phone, Windows desktop admin, Linux firewall admin, Linux server admin, data centre work, NAS etc.

Then I moved into a Linux network admin contract role role for a bit. Then got an enterprise level 2 support role (providing support to network admins). In the company for 12 years and counting - changed roles 4 times. Learned to code writing support tools (PHP and HTML) eventually learned JS also, turned out I was really really good at it and now I’m writing infrastructure code for one of the product groups.

My advice would be to learn the lower levels of the stack - networking at the protocol level, Linux, SQL without ORMs, vanilla programming with no frameworks until you start writing your own at which point pick the best on the market. Learn to run your code in a Docker container.

Passion, integrity, obsession with delivering results are very valuable - cultivate these and market them to the best of your ability. Be the person that steps up to do boring jobs that help other people - I volunteered to run our server lab that was used by other engineers and wrote some tooling to do things faster. Eventually people notice and you will learn a lot.

Avoid shift work like the plague it is and do your best to limit on-call exposure.

I like my job - it pays well enough and at my senior level offers plenty of flexibility for managing my time and what I work on.

I have a GED and went to community college for like, 6 years and didn’t get my associates because the final “class” was sitting around the computer lab unpaid. Instead transferred to university and dropped out. Just absolutely hated it. Got married, my daughter was born and suddenly became SUBSTANTIALLY more motivated to “man up and make money”. I lost 75 pounds and suddenly I could think well enough to be a software engineer. Sleep apnea had been killing me at 300 lbs. Had a tech support job and my boss was a programmer. I’d volunteer to do work and he’d give me work that’d push me each time, like learning regexes, writing simple internal databases for the startup we worked at.

Before I had the tech support job I was working on train radiators and it was awful. Came home covered in oil. The radiators weighed thousands of pounds and could easily crush a man.

Couple months later got my first SWE job after making a side project website and making a little YouTube video about the challenges of making a modern web application, like async programming all that stuff. Just kept applying to places until someone liked me, I guess.

Then I gained the weight back and got lazy, got fired from some other jobs. For me at least being fat makes me a bad programmer. Solving health problems for me was key to being able to learn and grow, as the constant headaches and inflammation made it nearly impossible to concentrate.

My job is pretty good, not super stressful. COVID messed me up mentally and I got bad marks for the past six months but I’ve finally gotten the hang of being isolated and not being so panicked. Anxiety and depression make working almost impossible for me without Adderall or some other such stimulant. Trying to wean off of those as I don’t like how they change my personality into a more nervous less interesting person.

Man, I have a lot of parallels to this. Been on a scrip for that stuff for as long as I can remember, and I had a similar experience at school. Hearing your story really gives me hope for myself; so, thanks!

If you don't mind me asking, what kind of work are you doing now? Any tips for your past self?

I work as a software engineer mostly backend/middle tier APIs and stuff for a Fortune 500 company now.

I’d remind myself that things like alcohol that act strongly on dopamine can cause SERIOUS problems with adderall, like not feeling any happiness for a week and fun things like that. Adderall is a serious tool to be taken seriously. I joke that Adderall is like a chainsaw. If you’re using it at 3am, there’s a problem. I’d also tell myself that the Adderall isn’t what made me lose weight, and wasn’t the main thrust of me being able to learn. Losing 75 pounds and moving from obese to a healthy weight HUGELY boosted my brain power and concentration power. I was also constantly reacting to food. Had to sort that out.

Adderall let me sort of ignore it for a long time but the underlying condition just got worse. Was put on Nexium for horrible GERD at night at 34, was trembling and all sorts of scary side effects. A ketogenic diet with moderate exercise of walking once or twice a day makes a huge difference. Also magnesium is a like a miracle for my anxiety.

I’d tell me from before I was even in tech at all to just stop wasting my time failing at school and just get a tech job. Although I don’t know if I could have done it without my wife, honestly. I was really good at lying to myself and she put a stop to that shit, excuse my language. I should have tried.

I’d also maybe be less arrogant after getting a good job. I lost a lot of friends who were in a similar slacker boat as me a few years ago. It’s like they stopped wanting to hang out once I became successful which was very isolating.

Magnesium; I assume you mean magnesium amino chelate - I use that too. I was kind of pissed that I had to find out about it on the internet and my doctor looked at me funny when I mentioned it. A huge gamechanger for me was asking a friend who's also on the 'phetamines what time of day they stop taking it - now I'm religious about never ingesting stimulants after 3pm and holy crap what a difference.

I was a bartender for over a decade; there's no better crash course on how awful a molecule alcohol is. It's the worst drug.

Sorry to hear about your friends. It sucks to lose your roots, I went through something similar myself. I've come to reckon with the fact that people sometimes grow apart, and you can't always hold yourself responsible for what might just be an incompatibility in process.

Wow you and I do sound like we've had a lot of the same experiences, glad to here you're figuring out all this too. 3pm is exactly my rule too, never ever past then. Most days not past noon because my wife will ask me "have you been taking Adderall?" because my personality is so different. I go from being fun and easygoing to absolute Type-A, everything including people is either an obstacle or a tool toward a goal. I had people who saw me thriving with Adderall and started taking it – it sort of destroyed them. I'm much more cautious about recommending it. I'm having a productive day today and haven't taken any – sticking to a low carb diet for me at least seems to be the absolute most important thing for my mental health. I was so unstable and angry before.

Having a spouse around to correct my course when I start getting a little too enthusiastic about amphetamines and work was important for me too.

I use Magnesium Glycinate at the recommendation of people on the nootropics subreddit. [0] Has worked wonders.

[0] https://www.amazon.com/gp/product/B07ZD7R4RF/ref=ppx_yo_dt_b...

Glycinate; thanks for the tip. Always looking to sharpen the tools i use.
- Why did you get into the field? What did you focus on at first?

I was in finance and a lot of the job was getting repetitive. Update excel sheet X times every X days, etc. You soon want to automate the boring repetitive stuff but formulas in excel only get you so far. So you reach to VBA that exposes you more to coding. Then you reach limits there and you look at scripting languages like Python. Ultimately, I decided I enjoyed that part way more and wanted to do it full time.

- What are you doing at your job? Is it everything you dreamed of and more?

I work on backend services. I think the job is better than probably a lot of others. However, it's not all that rosy all the time. On-call is something you probably don't hear about before going into the field, and I think it negatively affects quality of life significantly. The beauty around software is that it runs all the time without you having to do anything, but that also means stuff can break all the time at all hours and you might be tasked to fix it.

The agile work framework is pretty common and I don't like. It's very common to have daily meetings (they call them standups) where you have to tell everyone, what you did yesterday, and what you're doing today. Feels super micro.

More recently, D&I activism has taken engineering by storm. It's hard these days to focus on your job and role without getting dragged into this topic. Hiring based on physical traits (i.e. discrimination) is live and well (and encouraged/required) at tech companies, especially in engineering departments.

Lastly, the hiring practices in this field are complicated. Hiring is predominantly based on obscure algorithm and data structure problems, things that 99% of people don't care about in their day-to-day job. This makes finding new jobs a bit more difficult, because you actually have to allocate a good amount of time to learn these things again.

- How did you break that first-job barrier? I went to a bootcamp and did a lot of algorithm practice problems. The job I ended up getting was through a referral.

- What were you doing before this? excel heavy work

- Any tips for the rest of us? You should generally enjoy problem solving or you wont enjoy it that much.

I am currently unemployed (left my last job to pursue some personal projects, but looking for a job again now), but I was employed for 3 years before that.

I wrote about those exact questions in my personal blog, and as I am on the phone now, I will just link to it: https://rodrigohgpontes.github.io/

If you have a passion for writing code, I'll give you the best advice that I followed: Join an open source project, learn it, play with it, get skilled with it, submit patches. If you're good and the stars align, you'll be able to more than support yourself and your family. Last tip; always be learning, keep reading, stay on-top of your game!
- Why did you get into the field? What did you focus on at first?

It all started with playing games. When I was 11, I wanted to host my own CS 1.6 server to make some money by selling VIP. To advertise the offer, I wanted to customize the welcome message you get after connecting to a server. It's coded in HTML/CSS which I had known nothing about so I asked my ICT teacher, who happened to build websites as a side job at the time, if he could help me with that. He taught me the basics, pushed me in the right direction whenever I had a problem and showed me programming is a ton of fun. So from the welcome message, we moved onto building dynamic websites in PHP... Then games in C# using MonoGame. Then came my first professional jobs - CMSs, CRMs, first Java backends and so. And well, here I am. But to answer your question, I focused mainly on web first. I got into it because I was curious, I loved building things and I immensely enjoyed solving problems I had no idea how to approach.

- What are you doing at your job? Is it everything you dreamed of and more?

I'm working on a backend of a service that's used to send RCS marketing campaigns. It's very different than working on your own projects because the business side of things is more important than having a pretty codebase and using a shiny new technology plus most of the people I had a chance to work with were pretty mediocre, so it's definitely not ideal. I've always dreamed about having my own company so I hope that's going to happen one day (I'm making active steps towards this goal of mine).

- How did you break that first-job barrier?

Being 16, I was already ahead of lots of people who have even finished their degrees. So that plus the fact I didn't care about money, I was excited to work on some real projects :)

- What were you doing before this?

I was a kid haha.

- Any tips for the rest of us?

Plenty of my friends tried to learn SE by putting in lots of effort first but they never persisted. It takes months to start connecting the dots. It might be hard to not understand the whole picture, it might be hard to always have problems, it might be hard to always come across a new technology you had never heard of. But trust me, if you persist, it'll get better. Be consistent.

One week of FORTRAN in 1965. Walked into an insurance company after graduating in 1969 (BA Math & Physics), applied for a programming job. They had me in an Assembler class the next week. Was writing production code two weeks later.

I still can't write code without bugs.

- Why did you get into the field? What did you focus on at first?

I've always been fascinated with technology and trying to figure out how things work. I got my first computer at age 8, it had QBasic. I programmed a small number of games on it. I spent a lot of time dis- and reassembling this computer, reinstalling DOS, Windows. We didn't have internet or manuals, nor did I speak English. Later on played with Linux which really helped me understand how all of this works under the hood. Actually programming came much later.

- What are you doing at your job? Is it everything you dreamed of and more?

I've been in the field for 11 years now, currently in an SRE role. SRE seems to be a different thing wherever you go. Not really my dream role in its current form right now.

- How did you break that first-job barrier?

QA internship in the gaming industry. Turned into full-time position, later on QA Engineering and then Software Engineering. I jumped on opportunities when they cropped up. I made myself useful in QA rather quickly as I have a low tolerance for doing repetitive tasks manually, which got me into automation and tools programming.

- What were you doing before this?

I tried my luck studying computer science for about 2 years but that didn't really work for me. That opportunity for an internship came at the right moment and I took it.

- Any tips for the rest of us?

Find yourself a mentor. In my first role in QA there was one person in particular who was very open to all my question and taught me how to approach complex problems in legacy code bases. It really helped me gain a lot of knowledge and also confidence in my craft. I should reach out to my first mentor and thank him, I am not sure he's aware of the impact he's had.