Share

Hey Pythonista,


We came across this interesting article the other day and thought it would be useful to distill some of our favorite truths (aspiring) SW developers should keep in mind: 


1. "College will not prepare you for the job"


We hear all the time from people coming to us that university degrees, even bootcamps, are not preparing them for the real world.


It's important to remember that the real world is different from the academic world, and we think that holds even more true for the fast-paced world of software!


We try to address this by promoting real-world projects and experiences in our content and programs.

This explains why people who work with us for just a few months are more prepared for the job market than those who have been in school / university for years or are only using "passive" learning methods.

Interested in learning more?


Read our related article: https://pybit.es/articles/why-our-python-mentoring-beats-the-traditional-coding-bootcamp/


And check out our offerings here: https://pybit.es/catalogue/


2. "You will rarely get greenfield projects"


Most of the time, you will be working on existing projects.


This means you will have to deal with legacy code, and you will have to learn how to work with it. That's why it's important you learn to read bigger code bases and understand how to work with them.


It also means you have to get used to working proficiently with git + GitHub, as you will be using them a lot in any development job or project.


And thirdly there is so much more involved than just Python and git: deployment, 3rd party services, databases, backwards compatibility, writing good documentation (communication).


The article aptly linked this legacy project monkey user image.


3. "They will ask you for estimates a lot of times"


You will be asked to estimate how long a task will take. This is a difficult skill that you'll have to learn. You'll get it wrong; it takes trial and error.


A rule somebody shared in PDM a while ago is to take your estimate, double it, and then change the unit to the next higher unit. So, if you think it will take 1 hour, say it will take 2 days.


This is a good general rule to keep in mind. Things always take longer than you think and that's because the inherent complexity of software development + all the side tasks that come with successfully getting something into production (related to "it's so much more than just Python + git").


4. "Uncertainty will be your toxic friend"


There's the mindset!


You will never know everything. You will always be learning. You will always be uncertain (from not feeling up to the task to feeling like a serious imposter!)


This is the nature of software development. It's hard and you'll have to learn to live with it.


That's why the "college mindset" of "I need to know everything before I start" and "Learn it once, you're set" is just not going to cut it.


This is not how software development works. New frameworks come out every day, new languages, new tools, new best practices.


You will never know everything, and you will never be able to know everything, and that's fine!

You will have to learn to live with this uncertainty.


The best developer skill is to become resourceful, to know how to find the information and resources you need (are you using AI tools for example?), and to know how to ask the right questions and reach out for help.


5. "You will profit more from good soft skills than from good technical skills"


Maybe we should have put this as number one!


Soft skills are so important in your career and that includes software development.


You will be working with people all the time. Your team, your manager, even the consumer of your code is not only the machine, but also the end user. You will have to learn to better communicate with all of them.


The article also mentions clean code being overrated which is hard to swallow but underlines an important point: we write code to solve business problems, the code we write is merely a means to an end.


Seeing beyond the code, thinking about the business and stakeholders is an important soft skill.

We have constantly seen the soft skills (we prefer to call it "mindset") to be the bottleneck for people in careers. 


The best developers are not the ones who know the most technical stuff, but the ones who can communicate effectively. Who can work well in teams, who can manage their time well, set expectations (going back to the estimation point), who can manage their stress and emotions (!) well. There is nothing coding related to these, but it makes all the difference. 


If you struggle with this, maybe reduce your technical learning for a bit and focus on the soft skills. It will pay off big time in the long run. It's the thing that, over time, boosts your career the most!


---


We hope you found this email useful. We'll make a post in our community shortly to further discuss, so make sure you come join us: https://pybites.circle.so/ - and when you do, please introduce yourself: who are you, what do you do with Python and what do you want to learn?


Have a great weekend!


- Bob and Julian



P.S. Our PDI + PDM programs help you accept these truths quickly and make you an effective developer, both technically as well as soft skills / mindset wise.


Come join us, your career won't look the same again after 6-12 weeks of working with our capable team of coaches: https://pybit.es/catalogue/


(But don't wait too long, the programs are filling up).


Email Marketing by ActiveCampaign