- Why are you doing #frontend projects?
- To practice #webdev
- Okay, why do you practice web dev?
- To land a dev position in a #tech company or startup
- Why do you need to land a dev position?
- I see. I want to secure my family's future.
🧵to remind you of the reasons:
One day, everyone who is going through the path of becoming #developer, experience this unsureness.
We may feel afraid of a lot of requirements out there to get a job.
We may have trouble in our personal life.
Honestly, there may be a lot of reasons for us to experience the decline.
There are many recommendations people give in that case:
- Take a break for a few days
- Change the location: e.g. get from home to a coffee shop (like Starbucks) and practice there
- Find a coding partner
I'm not gonna argue: those are all working solutions! Use what's suitable - they all proved to be helpful.
What I want to add to them is a different kind of advice.
It's more of a mental exercise that is continuously helping me for more than half of the decade.
I use this statement as the guideline for the exercise: On the darkest day, search for the actual reasons, why you started.
It's important to understand that when you start asking yourself questions usually the first answers are very shallow.
But the more you ask - the better the answers.
So to find the actual answer use the rule of "5 whys": ask and answer 5 whys until you reach the actual reason.
I picked this approach from the "Lean Startup" book by Eric Ries, while he learned it, as I recall, from the Toyota (car manufacturer).
I simply applied to the human part of the engineering: to myself.
So whenever I get to the decline in any endeavor: learning a new development area, working on a complex project at work, or even struggling with some personal matter — I always remind myself of the reasons why I started.
Try it and maybe the next time you'll find yourself there, you'll remember this small tweet.
Try this technique at such a time and it will help you to recharge your battery and give you the strength to continue moving forward 🏃
• • •
Missing some Tweet in this thread? You can try to
force a refresh
When #coding something, always approach the problem iteratively.
That means that as #developer you go through roughly 5 stages:
1. Make a straightforward solution 2. Cover edge cases 3. Improve the performance 4. Improve the design 5. Reduce complexity
🧵👇
1. Make a straightforward solution
It's the basis of your work: it's rough, potentially inefficient, and may not work in the edge cases.
Copy/paste here instead of creating complex reusable components.
Here's the goal to create something that actually works, but not perfect.
As a junior engineer, you should be able to come up with at least one such solution, after thinking about the problem for a while, researching, and discussing with more experienced engineers.
If you still can't, the problem requires more expertise than you currently have.
The lessons he learned at the beginning of his #SoftwareEngineer career are quite similar we've encountered on our path and put as principles for junior #developers.
What are those principles? 🧵
Principle #1: Don't listen to your ego — talk to your team
Stop caring about your thoughts of what other people might think about you. It shouldn't matter to you.
Always talk to your team when you are in trouble, share your thoughts, get answers/help, and continue growing.
Principle #2: Be braver — say (nonsense) aloud
A similar one, but still quite different: if you get an idea or thought - say it aloud during tech meetings, discussions, one on ones and so on.
Doesn't matter how bold it is - don't hold it back. Say, get feedback, and move on.