Live data from Hacker News

Ask HN: What do you say to someone who wants to get into software development?

news.ycombinator.com

61–70 of 77 posts

Re: Ask HN: What do you say to someone who wants to get into software development?

#61
post #32

There is nothing special about software development in terms of a career. You learn it like you learn anything else. Some people have a natural aptitude, some people will never get it, most are in the middle: capable of becoming competent developers. I mean, 90% of development these days is knowing what parts to glue together and where to get the parts. You're converting business rules into code: for the most part, i…

> it's really not that hard I think this is a myth that people who learned a long time ago and learned over a long time say. It is hard - there's a lot of complexity involved. It does a disservice to other software engineers.

I highly disagree. Software engineering is hard, but out of all the engineering disciplines out there it is the easiest. That's why it's a very normal thing for software engineering to be learned in boot camp or without any assistance.

Most other engineering disciplines are much harder in the sense that the benefits are not immediately practical and the answers aren't as straightforward. Not many people are going to learn electromagnetic theory on their own.

Many software engineers think they're smart because software allows developers to hit all these epiphany points on a constant basis. You hit successes and you can learn convoluted concepts quickly because software presents it all to you in an idealized abstraction. It also quickly tells you whether your attempt at a solution was correct or wrong. It allows for quick learning. The reality is.. all of this happens because software tends to be easier.

Other forms of engineering don't provide you with that many euphoric highs when you learn a new concept or solve some problem because they are so few and far in between. This itself is an indicator that those other fields are punishingly hard.

Just to re-emphasize. I am not saying software is easy. Software is hard. But easier than most other forms of engineering.

Re: Ask HN: What do you say to someone who wants to get into software development?

#62
If they want a job in software development, point them to Reddit. There are a number of posts and subreddits focused on transitioning into software.

People will go into detail about their learning path, projects completed, and hours spent learning.

It is highly US centered, but it definitely seems possible for someone to start late in life and learn enough to become employed as a developer.

Re: Ask HN: What do you say to someone who wants to get into software development?

#63
post #22
post #19

If you find yourself in a job where the engineering culture doesn't suit you, immediately start looking for a new job. You don't have to rush into the next job, be as picky as you need to be, but don't continue doing stuff that go against your beliefs, or stuff you don't want to do. Changing culture is an insane amount of effort for lead positions, and an impossible one for anyone else. Respect yourself or your menta…

This advice is good in general, but I don't think one should do job hopping right away fresh out of college or very early in the career.

Yes, good point. It's probably wise to stick around for at least a year or two in a company (subject to situation and your judgment, of course).

Re: Ask HN: What do you say to someone who wants to get into software development?

#64
post #43

Earlier quoted context omitted.

I remember helping a friend with his intro to CS homework in college. It was fizz-buzz type programming and extremely simple, but he could not understand what the code was doing or how to change it to make it work. And this friend is very smart and successful in his career. Things that seem easy to people who already know how to program or who have the mind for it are very confusing to people just learning.

And for others it goes quite quickly! There is no doubt that programming can be helped with a natural aptitude and that it won't make sense to everyone no matter how smart they are, but that is true of many fields. I'd also argue it's often a teaching problem. I'd highly recommend this essay that goes into the flaws in particular with introductory CS education: https://felleisen.org/matthias/Thoughts/Developing_Devel…

Thanks for that link! That six-step design process appears to be a formalization of what I've learned to do subconsciously from years of experience. I've been struggling with mentoring junior colleagues wrt the software design process, and I'll be trying that six-step approach as part of my mentoring.

Re: Ask HN: What do you say to someone who wants to get into software development?

#65
post #49

I spent a lot of time thinking about this over the years and I have a few key thoughts: The most important base-level skill seems to be the ability to hold the concept of what I call "signal flow" (and others would call "state") in your head. The two jobs I've done in my life that I've done for money AND for fun are programmer and recording studio engineer. They are essentially identical. Hear me out: When someone si…

I like your analogy, perhaps because I was a musician at one time lol.

I always used to analogy of cooking. You have ingredients, and you want to bake a cake. Slapping all the ingredients in the bowl at once, won't make a cake. You need to know what to add, when to add, how much to add, how long to bake it, what temperature, and the order of it all. (good recipes are algorithms after all).

Once the cake is made, do you have the tenacity to improve (troubleshoot) it? The cake is way too sweet!!! Can you figure out why? Was it too much sugar or too much icing? Was there sugar in the milk? Perhaps caramel would be better than sugar, etc..

It takes a certain style of of thinking. One that requires, like you said, knowledge of the "state" of things, but also it requires accounting for many possible outcomes of said states e.g. input sanitization and/or input validation.

It's not a forest vs. the trees style of thinking, but the forest AND the trees. The deeper you go, the larger and denser the forest becomes.

Re: Ask HN: What do you say to someone who wants to get into software development?

#66

In the "old days" there was a dividing line we noticed in class. If the student could understand pointers they would succeed, if not they wouldn't. It was quite accurate for the time. Today things are higher level so I think there is room for a wider range of folks. One group are folks that are great at spreadsheets and the like. Gamers or someone who is interested in tinkering with javascript. Perhaps they have a te…

> If the student could understand pointers they would succeed, if not they wouldn't.

What were common hang-ups that people had with pointers?

I guess, it's safe to assume I am of a younger generation than you, but I may have had a bit of an unfair advantage (compared to my peers) when I dabbled with C because I studied assembly (x86 and a bit of ARM) prior to C, so pointers weren't exactly foreign concepts.

I do not think about this on a daily basis, so it's easy for me to forget how good things are these days. I can't tell you the last time I even thought about/used pointers, since I mainly use the fancy "magic under the hood" languages these days. For pure geeky fun, assembly and C were my favorites... Something about the memory management and pain brings back fond memories, even if I never made anything overtly special with them.

Re: Ask HN: What do you say to someone who wants to get into software development?

#67
post #19

If you find yourself in a job where the engineering culture doesn't suit you, immediately start looking for a new job. You don't have to rush into the next job, be as picky as you need to be, but don't continue doing stuff that go against your beliefs, or stuff you don't want to do. Changing culture is an insane amount of effort for lead positions, and an impossible one for anyone else. Respect yourself or your menta…

Wonderful advice. I am dealing with this right now, and I:

- I can't believe how much useful knowledge I have lost (or at least would have rather still retained, perhaps useful is the wrong word)

- how difficult the smallest things are now

- how long it took me to realize the ship wasn't sinking -- it sank years ago, and I'm already lost at sea.

Time to brush up, and find enough driftwood to make a raft, I suppose.

I don't even care about titles, more pay, etc.. I just want to make things that I can be proud of again.

> Depression/stress (burnout) literally damage your brain on a physiological level. It's no joke.

No kidding, and I am finding it harder to get back on the horse and self-study (I feel like I lost 90% of my fundamental knowledge since college. Use it or lose it, I suppose). I want out of web development, and I would love something lower-level, but I am not sure where to even look. I am sick of .Net Core and Sql. I want C and ARM assembly (good thing I forgot it all). I rather program a dishwasher than another web app at this point.

It's easier to never fall off the horse than it is to get back on. Lessons learned.

Re: Ask HN: What do you say to someone who wants to get into software development?

#68
post #49

I spent a lot of time thinking about this over the years and I have a few key thoughts: The most important base-level skill seems to be the ability to hold the concept of what I call "signal flow" (and others would call "state") in your head. The two jobs I've done in my life that I've done for money AND for fun are programmer and recording studio engineer. They are essentially identical. Hear me out: When someone si…

This is exactly why I really like functional programming / OCaml. It feels like piping modules to let data flow through, which is an abstraction I seem to be most comfortable with. Unlike OOP, which is nothing like this and offer a much more "realistic" abstraction (e.g.: the typical Vehicle > Car analogy), that in my head crumbles a lot quicker when faced with programming problems.

Re: Ask HN: What do you say to someone who wants to get into software development?

#70

Really, entering software isn't that bad. I didn't have any coding experience before college, and after my first year (which only entailed two software classes - I took a lot of humanities that year too), I had a job writing code for a research project. Thats a pretty quick path to employment - about 100 hours or less of training total*. I think any motivated person with a decent predisposition for math and logic cou…

To provide more perspective - I went from not really coding to an internship offer from a big tech company in about 12 months, and I didn't even work particularly hard. I still have no idea how to code though
Post reply on HN