DEV Community

Marilia
Marilia

Posted on

Am I Smart Enough?

Prior to deciding I wanted to be a software engineer, I was a fashion designer, real estate photographer, grocery store cash office clerk, etc etc. Name a career/study path and most likely I've considered studying it or actually and started just never finished.

For some reason (money lol) I got the itch that I wanted to study software engineering, specifically focusing on web3 development. So off to Coursera I went to take a web3 course not realizing I needed to already know a programming language (JavaScript in this case).

Once I saw I needed to create a coupon bazaar website using JavaScript I went to good ol' Youtube University and typed in "JavaScript tutorials for beginners" and let me tell you... was I completely lost trying to understand what the person was saying. Knowing myself, and knowing that if I went down the self-taught path I would never actually learn any programming languages I decided to look into bootcamps. Some of the bootcamps I found have crazy strict guidelines for accepting students, others have horrible reviews all over the web, but thankfully I found a bootcamp that I felt was welcoming enough to anybody wanting to learn programming AND had better than average reviews.

The first week I did well, went through the simple introductory module, and I was on top of the world. Then came the 2nd, 3rd, 4th.... modules and all the confidence I had was gone.

Granted I was working part-time, taking care of my son full-time, as well as doing any chores that needed to be done around the house, but I started falling behind on my coursework, and quickly! I was so stressed I developed an allergy, and to top things off my first mock interview with a bootcamp mentor went horribly... I could not even write a simple function and the feedback I got left me feeling defeated.

I started questioning whether I am even smart enough to switch careers from being a photographer/designer to software engineering. I was never good at math or problem solving, and I certainly do not think rationally or logically in the way "engineers" do.

The past 3 months have been very difficult for me in regards to coding; sometimes I do well solving the problems on my own, but quite often I don't even know what the assessments are asking of me, and if I do understand the question, I don't know how to even start solving it. The bootcamp does a well enough job of introducing us to the basics needed to get a job, but I often find myself looking to outside resources over and over again on Youtube, Google, Github forums... and I feel like I still don't understand what is going of half of the time. I know that I have only been learning how to code a very short amount of time, but I just would like to know if things will ever stick in my brain, and when they do, will I understand what I'm even doing?

I've decided I'm going to keep a digital journal of my journey in case I am a senior developer 10 years down the line, that way I can look back on how I started and what things were like for me in the beginning. I also want to find individuals like me who come from artistic backgrounds, who have a lot going on in their lives, and are making the sacrifice of having a social life, having hobbies, just so they can code 12 hours a day.

Over the next few weeks I am going to concentrate on doing projects unrelated to coursework from the bootcamp to see if one of these tutorials will be the key to me understanding coding!

Top comments (69)

Collapse
 
lionelrowe profile image
lionel-rowe • Edited

Prior to deciding I wanted to be a software engineer, I was a fashion designer, real estate photographer, grocery store cash office clerk, etc etc. Name a career/study path and most likely I've considered studying it or actually and started just never finished.

Hard relate! I've been a teacher, translator, and tech writer before transitioning to software development. One of these days maybe I'll go back to teaching and the circle will be complete 😅

specifically focusing on web3 development

TBH I think web3 is a fad. It mostly seems to be startups desperately trying to find an actual use case for blockchain and then using it to "solve" problems where it has no advantage over more conventional tech.

However... Software development in general is a massive field, and even if certain parts of it are overly hype-driven, there are lots of transferable skills you'll be learning.

Over the next few weeks I am going to concentrate on doing projects unrelated to coursework from the bootcamp to see if one of these tutorials will be the key to me understanding coding!

Don't wait for one singular moment of enlightenment. Learning to code is much more of a process of small, incremental "lightbulb moments". Learn a concept, write some code to test that you understood it, try to find the limits of that understanding with the code you write (What happens if I subtract the 1 instead of adding it? My laptop is somehow on fire now? Interesting, I'll make a note to find out why that happened.)

Free-form personal projects are also a great idea, plus you get to build something potentially useful from them!

Collapse
 
marilia profile image
Marilia

A teacher! One of the many career paths I started to study for and just decided it wasn't for me!

I've been focused so much on learning the fundamentals and basics of programming I have completely forgotten that I even wanted to do web3 development in the first place! When I started this bootcamp that was my end goal but I have been kind of looking into so many different things to do as a software engineer (notice a pattern here? haha!)
Maybe later on, if web3 is still a thing, I will shift my focus to it, but for right now I feel like that's just another beat to tackle when I am more experienced.

Learn a concept, write some code to test that you understood it, try to find the limits of that understanding with the code you write (What happens if I subtract the 1 instead of adding it? My laptop is somehow on fire now? Interesting, I'll make a note to find out why that happened.)

Do you have any project ideas for me to try out?
I've been learning JavaScript/HTML/CSS3 the past 3 months through the bootcamp, and Ruby/Ruby On Rails on my own for a month, I know you suggested free-form personal projects but I just don't even know where to begin with those!

Collapse
 
worldwidejamie profile image
Jamie Smith

I subscribed to Frontend Mentor for a while and I really enjoyed it.
It's like you get project briefs with design files and it's up to you to create the project.
They progress from easy to hard. Some only require html & css while the more difficult ones require more complexity and languages.
frontendmentor.io/

Thread Thread
 
marilia profile image
Marilia

Thank you so much for sharing this link, will definitely check it out

Collapse
 
lionelrowe profile image
lionel-rowe

Mine tend to relate to my other interests, usually around language-learning or linguistics, e.g.

As you have a background in fashion, you could try something around that, e.g.

  • A portfolio site for your designs
  • Fashion-focused e-commerce site
  • Drag-and-drop wardrobe
  • Generating a color pallette from an image
  • Using AI to generate a color pallette based on mood or keywords
  • Augmented-reality "try it on" tool

Roughly in ascending order of difficulty — the last 2 would probably take a long time and require a lot of research but you'd learn a ton!

Collapse
 
lexlohr profile image
Alex Lohr

Welcome on the wonderful and frightening journey that makes every developer. It starts with curiosity and early frustration and continues with learning cool stuff and still have fear of missing out.

Find your niche and grow in it. Take care for yourself and listen to your stress, it's trying to send you vital messages. It's always ok to ask someone for help (even in a coding interview). Use communities as a resource.

And thank you for taking us with you on the journey.

Collapse
 
marilia profile image
Marilia

Your kind words are really appreciated!
Going through a bootcamp, specially remotely, can kind of be a lonely experience because I have nobody else that relates to what I'm going through.
But I have found community with some of my fellow bootcamp cohorts, as well as different forum sites for different languages.

I'm really thrilled to see what comes my way in this new field!

Collapse
 
_mohanmurali profile image
Mohan Murali

That fear of missing out is never gonna go i guess XD

Collapse
 
lexlohr profile image
Alex Lohr

With enough experience, you'll be able to see through the hype in most cases, so you happily wait until either the weak spots have been resolved or the whole thing went down the drain.

In the case of web3, there's currently more hype than substance, but once it's stabilized and got rid of all the scams, it might actually be worth it.

Collapse
 
moopet profile image
Ben Sinclair

I've worked with people who switched to programming or engineering from radically different backgrounds. Off the top of my head I can think of a cabinet-maker, a bricklayer, an opera singer, a taxi-driver and a couple of chefs. None of those previous roles required the same kind of logical thinking, but just because they hadn't done it before didn't mean they weren't capable. And it's no so uncommon these days.

Switching careers doesn't have to be a lifetime commitment either. You don't have to measure up to some perceived standard or you're out. If you find you don't enjoy it two years further on, you can move on to something else: there are plenty of software engineers who want to be something else. In my office, someone gave up programming to become a stop-motion animator, and someone else spent all his spare time training to be a bus driver. As long as you're managing the minimum required to live, you shouldn't feel like you have to push yourself harder than you're comfortable with.

I don't even know what the assessments are asking of me...

Believe me, that's normal. You know how you look at a website and think, "my mate could have done that in a weekend" and then found out an agency charged a fortune for it? That's mostly because nobody knew what the hell the client really wanted. Imagine these questions as a training ground for that part of your future.

..and if I do understand the question, I don't know how to even start solving it

That's experience. The more things you do, the more you'll be able to break down a problem and think, "well this bit's the same as that pet project I did one weekend, and that bit's just like the tutorial I was planning to read next, and the final bit looks tricky, but I can define what it's supposed to do and then see if anyone else has done it before".

often find myself looking to outside resources over and over again on Youtube, Google, Github forums...

Random kids on YouTube have taught me more than official courses and documentation. The community is real, and most of the time people love to help each other out. There are a million posts here on DEV where people are teaching you how to do the same basic things, and it's easy to see it as pointless or confusing repetition, but it's not, it's people wanting to share what they're learning as they're learning it, and the process of making a post reinforces what they've learned. And it starts them on the road to the mythical Proper Documentation that their companies will pine for.

Collapse
 
marilia profile image
Marilia

Ah! Thank you so much for your reply!
I'm glad to read that all my struggles are normal and part of the process.

I've found 2-3 Youtube channels that offer solid content, post 4-5 hour tutorials on the exact thing I am learning in the bootcamp, I honestly feel like without Youtube I wouldn't have gotten so far haha!

I fall under the "perfectionist" camp, sort of, when I try something I want to immediately be an expert, and do things well, but this whole experience has definitely taught me that I need to calm down, and take it one day at a time!
I spend more than 3 hours coding, and even if I don't finish the assessment or module, I've learned to not be so hard on myself because as long as I wrote one line of code I did more than enough.

I'm going to definitely take your advice on not pushing myself too hard, but I will try to make this one of my longer career commitments because I love the concept of always learning, and the possibility of being at the forefront of technology sounds very exciting to me!

Collapse
 
eric23 profile image
Eric

I’m a cabinet maker 🙂
I programming for fun (and profit).

Collapse
 
calipsow profile image
calipsow

Hey,
I can relate with your problems about to start with programming. The kind of thinking and Problem solving u will get If u do some little project, for example u can Build an bmi calculator for the beginning.
And for the Start u should use JavaScript, thats the best way to start. Make sure that u know about the Basics like for, while-Loop and so on.. before u start.
I teached all i know my myself with youtube like u. Keep going it will be simple If u have some practice.
By the way,
Udemy is an good platform to learn all Basics.

Collapse
 
varu98 profile image
Vardaan Agarwal

Hello Marilia I am kind of in the same boat as you, only you have it much harder as I believe you have to look after your son and the house also, I am enrolled in a web dev boot camp that is pretty intensive and the list of assignments they are giving is piling up, and I am not able to complete them as quick of a rate as my peers do because me being bad at math, my peers are able to develop logic faster.

Getting into the web-dev boot camp was also tough as the entry barrier is high, we have to make projects before the camp, and then we have to face a JavaScript (machine coding round ) interview based on the projects we have made. i somehow was able to crack the interview and got in.

The assignments that I am doing are quite slow as it takes me around 2-3 hrs on solving one problem, whereas peers are getting it done in half an hour. Nevertheless, I believe not giving up is the key.

Logic Building is quite slow for me, but I do believe I have certainly improved even though the improvement is not noticeable, but it is improvement alright.

some of the resources that have helped me so far are
1) scrimba.com
2) The Net Ninja (YT)
3) Florin Pop (YT)
4) javascriptinfo.com

also the FCC's JS course is easy and interactive I found it easy to follow, and it does remain in the brain for quite some time as the exercises are tiny.
Do give them a try:-
freecodecamp.org/learn/javascript-...
No matter how much time the excercises take I usually do it on my own coz that is the only way I can improve on logic.
(I start googling if it doesn't come to me after more than 5 hrs or a day though)

I hope both of us and others reading this as well manage to pull through... ❤️️

Collapse
 
marilia profile image
Marilia

Thank you so much for sharing those resources with me!
Don't sell yourself short about "somehow" getting into the bootcamp! You were able to create a JavaScript project and be accepted into a web dev bootcamp. Try not to stress about being so behind, I've come to find out that I have a delayed response, haha! Something I learned 2-3 months ago is finally making sense to me NOW.
If we stick with it I know we'll succeed.

Collapse
 
cubiclesocial profile image
cubiclesocial

I was never good at math or problem solving, and I certainly do not think rationally or logically in the way "engineers" do.

The majority of writing code has nothing to do with math. It is a set of instructions, logical steps, that tell a computer to do something and it does it. If you go into a software field requiring heavy math (e.g. physics calculations for launching stuff into space), you'll have to brush up on your advanced Calculus. Most programming, however, is simple arithmetic, mostly incrementing and decrementing values. Fingers are handy for pretty much everything math-wise in programming. Your fingers can count from 1 to 10 in decimal and 0 to 1023 in binary. Just watch out for "4", "128", and "132" in binary - don't want to accidentally flip someone off. SpeedCrunch, Windows Calculator in Programmer mode, and sometimes firing up Excel are good enough for most everything else.

The number one thing that separates good developers from bad developers is that a good developer has "people skills." They can sit with stakeholders in a meeting and gather a set of loosely defined requirements from various parties, mull them over, design and plan out an application, and then come back to the table with very specific questions that need very specific answers in order to build the application. That requires the ability to communicate with other people and has nothing to do with the actual writing of software. Sure, at some point, there is actual code that has to be written but 90% of paid software development has little to do with writing software. That said, it certainly doesn't hurt to also be a powerhouse dev that can crank out a solution.

I often find myself looking to outside resources over and over again on Youtube, Google, Github, forums... and I feel like I still don't understand what is going of half of the time. I know that I have only been learning how to code a very short amount of time, but I just would like to know if things will ever stick in my brain, and when they do, will I understand what I'm even doing?

I use those resources myself as do all the good devs out there. And why not? They are there to be used! Although, YouTube not so much - there's way too much "let me spend 5 minutes padding out my video and eventually get around to the actual topic but somehow also avoid the topic in the process." YouTube is largely for entertainment.

Once you have learned how to write software in one programming language, you can write software in basically any programming language. The syntax might change a bit, but all the good languages have similar structures to them because they want to attract developers to use the language.

You should consider what type of software interests you. There are an unlimited number of ways to go in the industry. Web development is popular, but there's embedded development, driver development, game development, enterprise/business B2B development, OS development, and the list pretty much goes on indefinitely. Figure out what it is you want to work on and the rest will mostly naturally fall into place. A bootcamp can get you up to speed on writing code but only you know what will spark your imagination.

Collapse
 
marilia profile image
Marilia • Edited

You're so right about the math part! That was the part that I was mostly stressed about is how much math would actually be involved and why I pushed off studying any sort of programming language, but I'm not trying to launch a rocket into space so I am good with counting by using just my fingers haha!

I mentioned in an earlier comment I've found a good group of developers that post very useful videos and tutorials on Youtube, and I will be forever grateful to them for taking the time to record and post hours long videos.

Web development is popular, but there's embedded development, driver development, game development, enterprise/business B2B development, OS development, and the list pretty much goes on indefinitely.

Thank you so much for giving me these suggestions because I have yet to figure out what I actually want to do. At the moment I am just trying to finish this bootcamp and worry about an actual career path once I receive the certificate. This is stressful enough, and adding job searching to the mix would just be overkill haha!
I am also searching in my brain different projects I can do for myself to help me figure the path I want to take after I graduate

Collapse
 
mycarrysun profile image
Mike Harrison

My favorite way to learn is by actually coding and my favorite format is when you have instructions on the left and real code that runs in the browser on the right (or vice versa). Codecademy has this, not sure of others but you mentioned JavaScript and they have a good JavaScript 101 course I would recommend to learn the basics.

The most important thing is to just keep going. Don't let yourself get discouraged and quit programming altogether (if that's really what you want to do). Instead, take a break, maybe even wait til the next day, or work on another problem. It's very tough to teach yourself but it's also extremely rewarding. I'm self taught and have been programming for about 10 years now and will say I've seen the same thing about YouTube and other sources being better or learning more from them compared to a formal class. There's nothing wrong with that and honestly I think it's awesome that that exists.

Once you go through some 101 courses you should definitely work on a portfolio website. You can kill 2 birds by learning coding as you work on it while also putting together a site that you can show during interviews which is very helpful. If you don't have anything right now to put in your portfolio that's fine, just work on an about me page and use some fake projects (then you can fill them in later from projects in your bootcamp or other side projects).

Hope this helps, you definitely have the right attitude. I wasn't sure what I was gonna read when I saw the title but you are spot on in how you're thinking and not giving up!

Collapse
 
marilia profile image
Marilia

Thank you so much for sticking through to the end of the post haha!

Now that you've been in the field for so long, would you do it differently? Would you still go the self-taught route, or maybe sign up for a bootcamp?
Although I do feel like with this bootcamp I am self-taught because I'm doing the "part-time", set your own pace course path (when actually I am doing this full-time now lol), I don't know if I ever would truly go the 100% self-taught route

Collapse
 
mycarrysun profile image
Mike Harrison

I definitely would go the bootcamp route, only because it gives you credentials in a matter of about 16 weeks that most jobs will hire you as a junior. When I was first starting I went to college and (in my opinion) wasted 3 years when I could've just taught myself all that for a lot less money. If college were the same price as a bootcamp it would be different but it's not and I just see it as a waste unfortunately since it creates so much debt. Developers have it really good now with bootcamps and all the websites that have self taught courses so it's much easier to go the self taught route in 2022.

Collapse
 
dumboprogrammer profile image
Tawhid

No matter how smart you are whenever you try something absolutely new you will feel dumb.

Collapse
 
dumboprogrammer profile image
Tawhid

and I only read docs and tinker with code, I barely watch any yt vids or stuff like that.Keep exploring with code and if you are stuck you can always read the documentation.

Collapse
 
roroland_4 profile image
Rodrigo

I know that feeling, I'm a musician / composer, then like you I started doing web design, that was 20 years ago (I mean, when "Flash" was a thing)... I now work full time as a web developer, but I never was good on the "engineering" mindset, I struggle with Javascript till this day, but I'm very good at css, css architecture, responsive design, etc... So there lots of paths to achieve success in this career, keep it up!

Collapse
 
mxglt profile image
Maxime Guilbert

I'm working as dev for 10 years now, and I've started without any diploma or following university courses.
The principal is be motivated and doing what you like :)

If coding is what you like, let's go and enjoy! :)

Collapse
 
marilia profile image
Marilia

Nice! I'm glad to hear from others like me!

Collapse
 
pavlicko profile image
Just Another Developer

Oh geesh, this post hits a nerve for a lot of people, including myself. I've held many job titles, none of them related to anything programmer-ish.

I may have a non-programmer day job, but I've been dabbling with learning code since the days of Flash (more than 20 years), and still today I have to lookup how to do relatively basic JavaScript functions because I so often get them wrong. The reason I haven't given up is because I genuinely love being able to create something out of nothing.

I STILL barely know how to use github, and rarely use extra frameworks - mainly because I always run into issues installing stuff of my work computer. That hasn't stopped me from creating neat little web applications using only javascript, html and CSS.

I look at programming just like I look at musicians - amazing musicians are incredible to watch but can also be incredibly disheartening to someone just trying to learn. I don't think you have to be a genius to be a good programmer, you just have to be dedicated.

Collapse
 
marilia profile image
Marilia

Flash! I created my very first website in high school using flash, and I will always brag that it was my teacher's favorite website and HE would brag to everybody about it haha!
If you need help with installing stuff in your computer let me know, because of this bootcamp I've become an expert at installing almost everything xD!
Do you have any links to the applications you've built?

Collapse
 
rleddy profile image
Richard Leddy

I have been programming since before 1980. I still look at outside resources. Of course, I have a good take on what I am looking at or for. But, basically, there are some things I don't desire to commit to memory. Indeed, I want my focus to be more than just programming.

So, your biggest drawback is not how smart you are. You are likely smart enough.

If you stick to it you can learn to solve problems. I may be an odd one to tell you this. It seems I could always solve problems. But, I was bad at arithmatic. My grade school teachers took me for an idiot I am stellar in geometry and algebra. But, I don't want to brag, since I don't want to be challenged. Getting high scores on GRE's took sitting down and learning arithmatic. I had to drill myslef for a month. After programming for a long time, I tried getting to the top of Hackerank. I got to position 200 in algorithms, and then decided my adult life nneded to focus on other things. So, I didn't want to be the best in the world.

What is your biggest drawback in software? Idiots who think they are smarter than anyone else who will have know trouble telling you to your face that you're just too stupid to even bother. They will then tell you that you are too stupid to do art. Then, they will insult you on your child rearing capabilities. They will then tell you that you are ugly. Following that they will have the audacity to try to seduce you.

Basically, what I am saying is that in the software world there are a lot of very messed up sad people who think they have more rights over the lives of others than anyone else. They make guys like Putin look like sweet little puppies. They are not just men. It's not just a guy thing. The delivery is different.

I was talking to Katy Perry (another name in real life). She told me that I might as well just write songs seeing as I was a failure at programming. I figured (or got a nod) that she had been told this through the rumor mill. That week I had just gotten to the 200 level on Hackerrank. So, I told her. I got a blink and a blank stare. She's actually quite smart, but she has this idea that she can't be good at math, etc. I think people talked her out of that. And, I know the rumor mill. Anyway, it's just an example of how big the lie gets.

So, I was kicked out of a placement company after an interview and test on the grounds that I couldn't do C++ programming. But, I had just spent several years writing an AI programing in C++. It is pattented. It makes movies after being given an idea.

Maybe it would have been a great business, but I wrote the code for a guy. That guy got all goofy with me. He figured that I just didn't know the AI stuff. That after I wrote the program for him and he got it working. He figured he had to do the talking everywhere. But, he couldn't give an intelligent technical talk on the program even though I had spent many free or low paid hours tutoring him. So, he went off to start companies with his ethnic buddies or with his very own idea about how to proceed on projects and in business. He went bankrupt every time. Anyway, do you know of an AI program can make a movie about some topic you want to be informed about? Not likely. Truely, AI has once again backed itself into a corner with small advances on certain problems gained by small changes in a class of algorithms and data structures related to backpropagation. So, some of the techniques I used for the movie project are not in the popular gabber, but also new machines have changed certain ways of approaching the problem. So, time changes things. But, someone might still want the end result. And, maybe some of the original way can still be used in new frameworks.

So, the world remains messy. Some things are good and will last. Others won't. Things that could save humanity will never see the light of day.

I told a guy to go develop node.js. People now don't believe I ever talked to him. But, he was the guy searhing for a project idea. I gave him the outline, details, etc. And, I gave him my blessing. I had told people about node.js for several years. They laughed at me for all those years. Now that node.js is everywhere, they won't admit any recollection of my having told them about the idea when the laughed me out of the room.

Is Web3 a fad? My dad thought the Internet was a fad. He thought browsers were a fad. But, I retorted to him that maybe he thought telephones were fads. There was a time people thought they were. People had their own phone pools and switches. Big companies took over things and organized them. And, then, people had to find new ways to be in business and get their freedom back. Internet has been one of those ways. But, now we have big companies that took that over.

Web3. Some part of it is a fad. Some basic part of it is going to last forever.

Will Web3 be immune to large conglomerates or evil countries taking it over or destorying it? We have to remain hopeful. It may be disruptive enough to give power back to the people. And, we need all kinds of minds thinking about that. Would we want China or Russia (in its current state of ugliness) be the only game in town for Web3? Do we want to be stuck having to serve American oligarchs if mean spirited companies make Web3 their enemy and they become our lesser of two evils?

When we think of Web3, we have to think about things that can go wrong, or what's not really working but we are stuck with it a the moment. Bitcoin and Etherium are the only legal money alternatives in the US since the SEC stepped in and made new ones illegal. We are stuck with them. But, everyone knows that they are energy hogs and slow. So, there would have to be some way to maneuver around ologarch loving governments to get a highly efficient Web3 solution for the people (all of us who don't want to get into a shooting match on the behalf of the rich and egotistical.) [Sadly, those who don't want to get into the shooting match includes a lot of Russian soldiers walking around in the Ukraine at the momen. They figured out already that their government has lied to them. Sadly, the realization has been the last words of some of them.]

Now, is Web3 immune to quantum tinkering? So, a quantum computer, one from the future, has the capacity to break RSA code by being able to do co-prime factorization. Who can own such machines with starting prices in the realm of $1M USD. Not the nice folks who want to stay out of shooting matches. Yes, so if some government want to wipe out all the little cryptos, they can build a huge farm of such computers. Then after we all get broke, we all get drafted.

So, why do Web3. Because, we need people, especially those with artistic empathy to build the computer infrastructure for the people.

So, why woud you quit if someone told you to?

Don't.

I bet that if you carefull document your journey through learning programming that a whole world would pay for the story. That's another reason to keep going, especially if it's your desire.

Collapse
 
angryfrogentertainment profile image
AngryFrogEntertainment

Hi there,
I am a senior by now (pretty exactly 10 years on the job) and I have great respect for everyone desciding to change careers to become a software engineer. It has a very steap learning curve but after you get the hang of the basics it gets easier. I can only partly relate since I did not go the self taught way. I studied Informatics to learn the basics. Also because there were not many alternatives back then. But this is quite different now. There are many good sources to teach yourself and even get certificates that look well on your resume. I did not hear much good stuff about all the bootcamps though.

If I would have to start over again I don't think I would study. Lot of stuff they taught us I never used again. Even more important, going the self taught way gives you actually an advantage. You already learned how to learn effectively by yourself. I needed to learn that on the job. Tech is pretty fast paced. New languages, frameworks and libraries. The learning never stops.

So out of my experience some advice:

I agree with some of the comments here. Web3 is a hype at the moment. We need to wait and see what sticks. The blockchain definitly has potential but adjustments will be necessary. I like the basic idea but it is hardly more than a concept with many flaws. Especially with the "proof of work" being regulated or even banned in the future by the EU. So better stick to the basics first. Learn how to code and the fundamentals of software architecture. Most software engineering jobs are still web 2.0. If you are then still interested in web3, go for it. You can build on the fundamentals.

I can also assure you, like other comments, that math is not so important to be a good software engineer. It depends on the software you are developing. If you don't choose a field where you continously have to analyse signals, finance and insurance, networking or 3D, the math you learned in Highschool is more than enough. Creativity is much more important than math. Lots of problems you will need to solve require creativity.

Stick to small projects solving real world problems. Whatever repetitive tasks you do with your computer try to automate them with small scripts in e.g. Node.js, Python or GO. The Alphabet app for your son is a nice idea too. Try a cross platform framework to build it like ReactNative, Ionic or Flutter. With the first 2 you can stick to JavaScript. For Flutter you would need to learn Dart, but it is growing.

Some good places to learn the basics:

  • freecodecamp.org/ is great to teach you the basics with JS and Python. You can get certificates too and it has a great community behind it to help you when you face problems.
  • Github always has some great OpenSource repositories for your language of choice.
  • Many univerisities offer free fundamental courses to get you started. You can find them on coursera or other platforms.
  • Google offers some courses as well learndigital.withgoogle.com/digita... for the basics and grow.google/certificates/#?modal_a... to deepen your knowledge. With your design background UX Design may be worth a look.

I hope I could help you a bit. Stay on course ;)

Collapse
 
nevulo profile image
Nevulo

I started questioning whether I am even smart enough to switch careers from being a photographer/designer to software engineering. I was never good at math or problem solving, and I certainly do not think rationally or logically in the way "engineers" do.

Great post, and I can understand your concerns. I've long held the notion that you don't need to be good at math to be good at programming, and while I believe it is more important to have problem solving skills in order to know how to structure a solution to a problem through programming (instructions to tell the computer to get your end result), I think this comes with time and (mostly) experience.

I've heard a lot of people who give up at the first step purely because they don't think they're cut out for programming, so props to you to continue to keep your head up even when it's hard to see the benefit immediately. I can definitely relate to that "where do I even start" feeling, but I've found the best way to learn is to continually get things wrong until you get it right.

Another thing I can really recommend is writing about the things you learn in a blog post or some other format to solidify your learnings. I have a blog where the mission is to make programming content more accessible and understandable, and with that in mind it gives me a new perspective on writing content and doing research to make sure it makes sense to me, but also others looking to learn the same thing. 💥

Collapse
 
marilia profile image
Marilia

I've heard a lot of people who give up at the first step purely because they don't think they're cut out for programming, so props to you to continue to keep your head up even when it's hard to see the benefit immediately. I can definitely relate to that "where do I even start" feeling, but I've found the best way to learn is to continually get things wrong until you get it right.

I've read that around 80% of bootcamp attendees drop out within 1-2 months of starting the program, and I've been determined to not be part of that block! Even if it does take me a little bit longer to receive that certificate, I will finish!

Another thing I can really recommend is writing about the things you learn in a blog post or some other format to solidify your learnings.

I have been thinking about doing this for some time, but I feel like there are many other people out there explaining things better than I ever could, and I am still just barely learning how to write for loops, and arrow functions.
I will take your advice into consideration, and I will use this website to create content mostly for myself, and if somebody else can benefit from it, it's a win-win all around!

Thank you for taking the time to reply and give suggestions <3

Collapse
 
_mohanmurali profile image
Mohan Murali

Hey, I am a senior developer with 10 years experience. I still go over resources in youtube, google, github forums and stack overflow, and I still feel like I don't understand whats going on half the time. So I can't promise if things will ever stick to your brain (they don't for me XD) and if you will ever understand what you are doing (everytime i go back to my code i am like, was i high when i wrote this? ), but I can promise you, you will become better at finding resouces in youtube, google, github forums and stackoverflow and that will help you build things faster. And when you finally ship your code to prod and see the impact you are making, you will be proud you made the journey. That I can promise.

Collapse
 
marilia profile image
Marilia

Hahaha! I'm definitely less stressed learning I will be feeling like this for a very long time!
Appreciate you sharing your experience with me

Collapse
 
_mohanmurali profile image
Mohan Murali

Its ok to be overwhelmed. Just keep moving. Baby steps :)