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)
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 😅
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.
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!
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.
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!
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/
Thank you so much for sharing this link, will definitely check it out
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.
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!
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.
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!
That fear of missing out is never gonna go i guess XD
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.
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.
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.
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".
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.
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!
I’m a cabinet maker 🙂
I programming for fun (and profit).
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.
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... ❤️️
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.
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 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.
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.
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
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!
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
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.
No matter how smart you are whenever you try something absolutely new you will feel dumb.
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.
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!
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! :)
Nice! I'm glad to hear from others like me!